一开始我从syslog中显示Kibana中的日志,效果很好。我根据文档进行了设置。
现在我已经更改了日志的来源,现在它从我的Web应用程序中检索日志,尽管Kibana仍然可以正确地显示它们,但现在出现了标记“_grokparsefailure”,这意味着在解析日志时出现了错误。
我当前使用的过滤器:
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri { }
date {
match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
我怎样才能找到解析错误在哪里?有没有在线服务可以帮助我为我的新日志创建一个grok模式?还有其他建议吗?
更新:日志在json中。
2条答案
按热度按时间qyswt5oh1#
针对OP:
有没有在线服务可以帮助我为新日志创建grok模式?
我最喜欢的测试grok模式的工具是:http://grokconstructor.appspot.com/do/match
但我知道有些人更喜欢:https://grokdebug.herokuapp.com/
您的日志可能无法正确解析,因为您在非syslog格式的日志上使用了syslog模式。
编辑:对于json日志解析,您可能希望查看json filter或json codec
wvyml7n52#
您可以在Kibana中调试日志
后藤:Kibana -〉管理-〉开发工具-〉Grok调试器x1c 0d1x