Логсташ икинга выходной 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\"}"

Я не могу найти какие-либо сообщения или документальные фильмы, которые помогают мне с этой проблемой.

Я надеюсь, что любой может помочь:)

0 ответов

Другие вопросы по тегам