【发布时间】:2016-12-30 12:25:11
【问题描述】:
我有一个示例日志
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/ 中一切正常,值正在使用过滤器进行映射。
当我使用此过滤器将值推送到弹性搜索时,它没有被映射,并且仅在消息中我得到了整个日志。
如果我做错了什么,请告诉我。
【问题讨论】:
-
能否向我们展示整个配置?您的
grok匹配似乎没问题。 -
不要使用URIHOST来匹配日期;你只会迷惑下一个必须维护你的配置的人。
标签: elasticsearch logstash kibana logstash-grok grok