【发布时间】:2018-12-11 12:10:37
【问题描述】:
关于传递给zabbix trapper的ELK-Logstash关键字过滤器,我如何配置logstash过滤器根据每个接收到的消息行中的关键字向zabbix trapper发送特定消息? 我已经完全配置了 zabbix-server trapper,并且消息 zabbix-sender 在客户端服务器上工作正常,但目前过滤器配置对我来说似乎有点困难。 我的logstash是基于6.4的,Zabbix server是基于3.4的,当前logstash过滤器配置如下:
filter {
if [prospector][type] == "log" {
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 过滤器适用于常规消息传递;但是如果我想为诸如“错误”之类的关键字制作一个特定的过滤器,以通过 zabbix-trapper 接口向 zabbix-server 的输出发送消息,我该怎么办?我自己做了一些研究并尝试了几个小时,但不幸的是没有工作。任何建议都非常感谢。谢谢。