我试图用logstash解析syslog消息 即时通讯使用grok匹配:
"message", "\[%{TIMESTAMP_ISO8601:timestamp}\] \[%{WORD:module}\] \[%{LOGLEVEL:severity}\] (\[tid=%{DATA
:tid}(\s)?\]) (\[%{DATA:auth}:%{NUMBER:linenum}:%{DATA:method}\]) %{GREEDYDATA:data}"
我收到此错误消息:
[logstash.filters.json]解析json时遇到错误{:source =>“message”,:raw =>“[2017-03-27 09:18:03,071] [WS-Server] [INFO] [ WebSocketsHandler:81:on_message] [ON_MESSAGE] [140609651632016] [trn_id:1062fed9-9ae3-4523-8817-657031e83af1]从方框38收到更新设备详细信息:b8:eb:50:00:a9“,:exception = >#
我缺少什么?
感谢
答案 0 :(得分:0)
可能是因为:
[2017-03-27 09:18:03,071] [WS-Server] [INFO] [WebSocketsHandler:81:on_message] [ON_MESSAGE] [140609651632016] [trn_id: 1062fed9-9ae3-4523-8817-657031e83af1] Received update-device-details message from box 38:b8:eb:50:00:a9
无效的JSON。您的提示是错误:
[logstash.filters.json ] Error parsing json
这告诉我除了您引用的json {}
段之外,还有一个grok {}
过滤器应用于此。我建议你查看你的filter { }
语句,并弄清楚原始系统日志消息(很可能仍然是message
字段)最终是如何被json {}
过滤器解析的。 Grok与此毫无关系。