通过插件将ELK(Logstash)连接到Zabbix

时间:2016-11-15 12:11:16

标签: logstash elastic-stack logstash-configuration zabbix

我正在尝试配置Logstash以将任何错误日志发送到远程Zabbix服务器。

我的输入和过滤器工作正常,if语句正确输出到文件日志但是我不知道如何让输出正确发送到Zabbix。

我不确定这是我在这里的配置,还是在ELK服务器或Zabbix服务器上,或者是否在它们之间进行通信。

我对Zabbix没有经验,但是我设置了一个我相信应该收集来自ELK服务器的日志消息的捕获器

enter image description here

input {
        file{
            path=>["/opt/logstash/alectronic_test_input.log"]
        }
}

filter {
  # Filter out empty lines in the audit logs
  if ([message] =~ /^[\s]*$/) {
      drop {}
  }

//some other filter stuff which breaks up fields which will have a field called "LogLvl"

if [LogLvl]=="ERROR" {
        mutate{
                add_field => {
                        "sendToZabbix"=>"true"
                }
        }
}else{
        mutate{
                add_field => {
                        "sendToZabbix"=>"false"
                }
        }
}

if [sendToZabbix]=="true"{
        mutate{
                add_field =>{
                        "whereAmIGoing"=>"ToZabbix"
                        "zhost"=>"jenkins"
                        "zkey"=>"trap"
                }
        }
}

}

output {
if[sendToZabbix]=="true"{
        file{
                path => "/opt/logstash/alectronic_test_output.log"
        }
        zabbix{
                zabbix_host=>"zhost"
                zabbix_server_host=>"zabbix.alectronic.co"
                #zabbix_server_port=>10051
                #zabbix_key=>"zkey"
        }
}
}

1 个答案:

答案 0 :(得分:0)

我似乎遇到的问题是我使用了错误的Zabbix_Server_Host地址(显然我使用的系统有一个面向公众的IP和面向私人的IP)。