Logstash zabbix 输出

Logstash zabbix output

这是我的 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"
  }
}

根据 zabbix plugin docs 插件期望 zabbix_host => 包含一个包含 zabbix 主机名的字段名称。由于您没有任何名为 log_getter 的字段,因此您会收到错误消息:Field referenced by log_getter is missing

zabbix_hostzabbix_key 都希望该值是字段引用。您已经在 grok 过滤器中设置了值。只需在输出配置中使用它们:

zabbix {
    zabbix_host => "zabbix_host"
}

zabbix_key 值不是必需的。你可以忽略它。可能您需要相应地更改 zabbix 服务器配置以接受事件。