自定义登录Kibana

时间:2017-05-09 13:40:12

标签: elasticsearch kibana filebeat

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

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

编辑:好的,我做了一些研究,发现它读取了正确的文件。 但是在Kibana中格式化它是错误的: https://puu.sh/vKyFO/0097ac2c0f.png 那么如何确保它具有适当的字段等,如视频中那样?

1 个答案:

答案 0 :(得分:0)

请忘记grok filter plugin,而是使用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"} 

弹性搜索中的输出

{
    "_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"
    }
}

希望这有帮助。