title: Customize logs from filebeat in the Lostash's beats.config
body: <p>I am using ELK with filebeat. I am sending logs from filebeat to Logstash and from there to Elastic and visualizing in Kibana. 
  I am pasting the json result that is displayed in kibana's log result which is as below:</p>
  
  <pre><code>    {
    "_index": "filebeat-6.4.2-2018.10.30",
    "_type": "doc",
    "_source": {
      "@timestamp": "2018-10-30T09:15:31.697Z",
      "fields": {
        "server": "server1"
      },
      "prospector": {
        "type": "log"
      },
      "host": {
        "name": "kushmathapa"
      },
      "message": "{ \"datetime\": \"2018-10-23T18:04:00.811660Z\", \"level\": \"ERROR\", \"message\": \"No response from remote. Handshake timed out or transport failure detector triggered.\" }",
      "source": "C:\\logs\\batch-portal\\error.json",
      "input": {
        "type": "log"
      },
      "beat": {
        "name": "kushmathapa",
        "hostname": "kushmathapa",
        "version": "6.4.2"
      },
      "offset": 0,
      "tags": [
        "lighthouse1",
        "controller",
        "trt"
      ]
    },
    "fields": {
      "@timestamp": [
        "2018-10-30T09:15:31.697Z"
      ]
    }
  }
  </code></pre>
  
  <p>I want this to show as</p>
  
  <pre><code>    {
    "_index": "filebeat-6.4.2-2018.10.30",
    "_type": "doc",
    "_source": {
      "@timestamp": "2018-10-30T09:15:31.697Z",
      "fields": {
        "server": "server1"
      },
      "prospector": {
        "type": "log"
      },
      "host": {
        "name": "kushmathapa"
      },
      "datetime": 2018-10-23T18:04:00.811660Z,
      "log_level": ERROR,
      "message": "{ \"No response from remote. Handshake timed out or transport failure detector triggered.\" }",
      "source": "C:\\logs\\batch-portal\\error.json",
      "input": {
        "type": "log"
      },
      "beat": {
        "name": "kushmathapa",
        "hostname": "kushmathapa",
        "version": "6.4.2"
      },
      "offset": 0,
      "tags": [
        "lighthouse1",
        "controller",
        "trt"
      ]
    },
    "fields": {
      "@timestamp": [
        "2018-10-30T09:15:31.697Z"
      ]
    }
  }
  </code></pre>
  
  <p>My beats.config looks like this right now</p>
  
  <pre><code>  input {
    beats {
      port =&gt; 5044
    }
  }
  
  output {
    elasticsearch {
      hosts =&gt; "localhost:9200"
      manage_template =&gt; false
      index =&gt; "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" 
    } stdout {
      codec =&gt; rubydebug { metadata =&gt; true }
    }
  }
  </code></pre>
  
  <p>I have applied filters but i seem to be missing something.</p>