Логсташ икинга выходной IOError: битая труба
Я пытаюсь установить check_command exit_status и plugin_ouput с выходным плагином Logstash icinga.
Но каждый раз я получаю следующую ошибку:
[WARN ][logstash.outputs.icinga ] Request failed {:host=>"localhost", :port=>5665, :path=>"/v1/actions/process-check-result?service=linArpalertVM%21testService", :body=>"{\"exit_status\":\"1\",\"plugin_output\":\"Placeholder\"}", :error=>#<IOError: Broken pipe>}
У меня есть хост с filebeat, который отправляет новые записи файла журнала в Logstash на другом хосте. Это прекрасно работает.
Теперь я хочу отфильтровать входящее сообщение от filebeat и вывести его в icinga.
мой конфиг Icinga api_users.conf:
object ApiUser "root" {
password = "password"
//client_cn = ""
permissions = [ "*" ]
}
object ApiUser "icinga" {
password = "icinga"
//client_cn = ""
permissions = [ "*" ]
}
apply Service "testService" {
import "generic-service"
check_command = "dummy"
assign where host.address
}
и мой конфиг Logstash выглядит следующим образом:
input {
beats {
port => 5044
type => "logs"
}
}
filter {
if "new_mac" in [message] {
mutate {
replace => { "exit_status" => "2" }
}
}
}
output {
icinga {
host => 'localhost'
user => 'icinga'
password => 'icinga'
ssl_verify => false
action => 'process-check-result'
action_config => {
exit_status => "%{exit_status}"
plugin_output => "Placeholder"
}
icinga_host => "linArpalertVM"
icinga_service => "testService"
}
stdout { }
}
Команда отлично работает, когда я ввожу ее вручную с помощью curl:
curl -k -u icinga:icinga -H 'Accept: application/json' -X POST 'https://localhost:5665/v1/actions/process-check-result?service=linArpalertVM%21testService' -d "{\"exit_status\":\"1\",\"plugin_output\":\"Placeholder\"}"
Я не могу найти какие-либо сообщения или документальные фильмы, которые помогают мне с этой проблемой.
Я надеюсь, что любой может помочь:)