问题描述
[1603870834]服务警告:本地主机;交换使用;确定;软件; 2;交换成功-释放1%(1023 MB中的0 MB)
我必须将 JSON 格式的字符串示例过滤为 Logstash ,这是我的 Nagios 日志文件输出,必须将其加载到我的ELK使用 Logstash ,该如何为此写信给grok?
解决方法
在grok中,有一种专用的模式用于这种类型的线: NAGIOSLOGLINE 。
因此您可以尝试以下方法:
filter {
grok {
match => { "message" => "%{NAGIOSLOGLINE}" }
}
}
有关信息,您可以使用 grokdebug 测试更多模式here。
,这是您找到的修改后的grok模式:
\[%{NUMBER:unix_timestamp}\]\s%{DATA:type}:\s%{DATA:host};%{DATA:service};%{DATA:status};%{DATA:nagios_status};%{DATA:int};%{GREEDYDATA:nagios_message}