我正在尝试配置Logstash以将任何错误日志发送到远程Zabbix服务器。
我的输入和过滤器工作正常,if语句正确输出到文件日志但是我不知道如何让输出正确发送到Zabbix。
我不确定这是我在这里的配置,还是在ELK服务器或Zabbix服务器上,或者是否在它们之间进行通信。
我对Zabbix没有经验,但是我设置了一个我相信应该收集来自ELK服务器的日志消息的捕获器
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"
}
}
}
答案 0 :(得分:0)
我似乎遇到的问题是我使用了错误的Zabbix_Server_Host地址(显然我使用的系统有一个面向公众的IP和面向私人的IP)。