Kibana 中的自定义日志

Custom log in Kibana

我使用在 /var/log/softwarename/YYYYMMDD/ 中生成日志文件的软件 它使用 JSON 格式。但是我是 Kibana 的新手,不知道如何正确读出日志文件,因为我在一条规则中获取日志文件,而我应该能够使用格式化。

这一切听起来很模糊,但请参阅 https://www.youtube.com/watch?v=H6dCCw666Xw&t=341s(跳到 2:39)。 希望这能解释一些事情...

编辑:好的,我做了一些研究,发现它读取了正确的文件。 然而,它在 Kibana 中的格式是错误的: https://puu.sh/vKyFO/0097ac2c0f.png 那么我怎样才能确保它有正确的字段等等,就像视频中那样?

请忘记grok filter plugin, instead used the json filter plugin。它能够解析 json 输入。 这个配置我试过了

input {
  file {
       path => "/path/to/logfile/logfile"
  }
}

filter{
    json{
        source => "message"
    }
#remove message (not needed) 
    mutate {
      remove_field => ["message"]
    }
}


output {
     elasticsearch{
      hosts => ["elasticsearchip:9200"]
      manage_template => true
      index => "your-index"
    }
}

输入

{"sessionend": "2017/05/09 14:20:44", "ver": "1", "host": "94.228.216.5", "session": "627650cf-a214-4c62-ba81-0eec6b9f57d3", "user": "(removedforsafety)", "timing": "2017/05/09 14:20:44", "sessionstart": "2017/05/09 14:20:34"} 

elasticsearch 中的输出

{
    "_index" : "your-index",
    "_type" : "logs",
    "_id" : "AVvuH4v3tbMuoFZBfUAn",
    "_score" : 1.0,
    "_source" : {
      "path" : "/path/to/logfile/logfile",
      "ver" : "1",
      "@timestamp" : "2017-05-09T16:51:36.156Z",
      "session" : "627650cf-a214-4c62-ba81-0eec6b9f57d3",
      "timing" : "2017/05/09 14:20:44",
      "@version" : "1",
      "host" : "94.228.216.5",
      "sessionend" : "2017/05/09 14:20:44",
      "user" : "(removedforsafety)",
      "sessionstart" : "2017/05/09 14:20:34"
    }
}

希望对您有所帮助。