1

这是我的 logstash.conf 文件。我正在尝试使用 logstash-output-zabbix 插件进行警报。但是得到这个错误......

Field referenced by log_getter is missing {:level=>:warn}

我有一个ELK在 zabbix 服务器中命名的主机,它带有一个log_getter项目并hello作为密钥(Zabbix 陷阱)。

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"
  }
}
4

1 回答 1

1

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

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

zabbix {
    zabbix_host => "zabbix_host"
}

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

于 2015-08-17T15:01:38.947 回答