不要急,总有办法的

关于呈现syslog的问题。。。

Logstash | 作者 muyitimha | 发布于2020年01月10日 | 阅读数:2349

是这样的,我的elk都是7.5.1,没有用beat,设备侧发出的syslog如下:
<132>Jan 3 18:24:27 voip[5615]: WARNING[5667]: test

我用logstash作为syslog服务器直接接收,然后输出到elasticsearch,再输出到kibana,logstash-syslog.conf内容如下:
input {
syslog {
port => 514
grok_pattern => "<%{POSINT:priority}>%{SYSLOGLINE}"
}
}

output {
elasticsearch { hosts => ["localhost:9200"] }
}

然后现在kibana报了_grokparsefailure_sysloginput这个错误,我用grok debugger调过,<%{POSINT:priority}>%{SYSLOGLINE}作为grok模式,设备侧发出的syslog作为样例数据,每次都是获取结构化数据失败。应该是voip[5615]:这里出了问题。

我尝试过修改logstash的patterns文件夹下的grok-patterns文件,也就是把文件内容中的HOSTNAME的正则表达式改为:
\b(?:[0-9A-Za-z:\[\]][0-9A-Za-z-:\[\]]{0,62})(?:\.(?:[0-9A-Za-z:\[\]][0-9A-Za-z-:\[\]]{0,62}))*(\.?|\b)

修改后网上的在线匹配工具显示匹配voip[5615]:成功,但到了kibana这里依然报_grokparsefailure_sysloginput这个错误。用grok debugger也显示只能匹配到voip,本来预期可以匹配到voip[5615]:的。

请问要怎么修改patterns文件夹下的文件呢?或者有其他解决思路吗?搞了两天了。。。
已邀请:

要回复问题请先登录注册