Я пытаюсь настроить 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"
}
}
}