我正在查看 ELK 堆栈中的一些 syslog 日志文件,并注意到所有 syslog_severity 字段都是“notice”,而我可以在日志文件中验证它们不是“notice”。似乎 Logstash 将 syslog_severity 默认为 notice。每当我去 kibana 搜索时,无论我在 logstash 过滤器配置文件中输入什么,kibana 总是会返回严重性通知。我的 logstash 过滤器配置中有以下内容:
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOG5424LINE}" }
add_field => [ "received_at", "%{@timestamp}" ]
add_field => [ "received_from", "%{host}" ]
}
syslog_pri {
syslog_pri_field_name => "syslog5424_pri"
}
date {
match => [ "syslog5424_ts", "ISO8601" ]
}
}
}
我已经看过提到的解决方案这里但如果你看一下我的过滤器配置文件,你就会发现这并不适用于我的情况。我尝试了上述解决方案这里并重新启动我的logstash服务
sudo service logstash restart
我还尝试重新启动 ELK 堆栈中的其余服务,但仍然收到所有 syslog_severity 字段的通知。您知道过滤器中需要更改什么吗?
我的日志消息采用以下格式:
<134>1 2015-01-01T11:12:23.180242-02:00 message
我已经用我的消息测试了这个 grokgrok 调试器它可以很好地解析我的消息。