【问题标题】:Logstash zabbix outputLogstash zabbix 输出
【发布时间】:2015-08-17 14:33:20
【问题描述】:

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

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

我在 zabbix 服务器中有一个名为 ELK 的主机,其中 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"
  }
}

【问题讨论】:

    标签: logstash elasticsearch-plugin zabbix logstash-configuration elastic-stack


    【解决方案1】:

    根据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 服务器配置以接受事件。

    【讨论】:

    • 谢谢...它似乎工作。我如何在 zabbix 服务器端知道我收到了消息。并基于它我如何做警报。
    • 很遗憾,我不是 zabbix 专家。我认为你必须创建一个陷阱项目来接收事件。请参阅zabbix docs 了解更多信息。也许你可以试试zabbix_sender 命令行工具看看它是否正常工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    相关资源
    最近更新 更多