这是我的logstash.conf文件。我正在尝试使用logstash-output-zabbix插件进行警报。但是得到这个错误......
Field referenced by log_getter is missing {:level=>:warn}
我在zabbix服务器中有一个名为ELK
的主机,其中log_getter
项和hello
为关键字(Zabbix trapper)。
My config file...
input {
lumberjack {
port => 5000
type => "logs"
ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
}
}
filter {
grok {
match => [ "message", "%{SYSLOGBASE} %{DATA:data}" ]
add_tag => [ "zabbix-sender" ]
add_field => [
"zabbix_host", "%{source_host}",
"zabbix_item", "item.key",
"send_field", "data"
]
}
}
output{
elasticsearch{
host => localhost
}
}
output {
zabbix {
zabbix_host => "log_getter"
zabbix_key =>"hello"
zabbix_server_host => "10.0.30.215"
}
}
答案 0 :(得分:1)
根据zabbix plugin docs,插件期望zabbix_host =>
包含保存zabbix主机名的字段名称。由于您没有任何名为log_getter
的字段,因此出现错误:Field referenced by log_getter is missing
zabbix_host
和zabbix_key
都希望该值为字段引用。您已经在grok过滤器中设置了值。只需在输出配置中使用它们:
zabbix {
zabbix_host => "zabbix_host"
}
不需要zabbix_key
值。你可以把它留下来。可能您需要相应地更改zabbix服务器配置以接受事件。