我有一个示例日志
2016-12-28 16:40:53.290 [debug] <0.545.0> <<"{\"user_id\”:\”79\”,\”timestamp\":\"2016-12-28T11:10:26Z\",\"operation\":\"ver3 - Requested for recommended,verified handle information\",\"data\":\"\",\"content_id\":\"\",\"channel_id\":\"\"}">>
我已经写了一个logstash grok过滤器
filter{
grok {
match => { "message" => "%{URIHOST} %{TIME} %{SYSLOG5424SD} <%{BASE16FLOAT}.0> <<%{QS}>>"}
}
}
http://grokdebug.herokuapp.com/中的一切正常,价值与过滤器一起映射。
当我使用此过滤器将值推送到弹性搜索时,它没有被映射,只有消息我才能获得整个日志。
如果我做错了,请告诉我。
答案 0 :(得分:1)
你的kibana屏幕截图没有加载,但我会猜测:你正在捕捉模式,但不是将数据命名到字段中。这是区别:
%{TIME}
将在您的数据中查找该模式。调试器将显示“TIME”作为已解析,但logstash不会在没有被询问的情况下创建字段。
%{TIME:myTime}
将创建该字段(您可以在调试器中看到它工作)。
您需要为要保存的任何匹配模式执行此操作。