Назад | Перейти на главную страницу

Как сделать постоянное подтверждение в Icinga / Nagios?

Я использую Icinga (вилка Nagios), чтобы также отслеживать время безотказной работы внешних хостов и служб. В настоящее время, глядя на счетчик «Критических», мне трудно решить, затронута ли внутренняя служба (я должен предпринять немедленные действия) или внешнюю службу (я просто осознаю проблему).

Есть ли способ сохранить подтверждение проблемы на случай будущих простоев проверенного хоста / службы? Есть ли способ автоматически подтверждать изменение состояния внешних хостов / служб?

Выяснили, как делать автоматические подтверждения для внешних хостов.

Сначала определите обработчик событий для внешнего хоста:

define host {
        name            some-external-server
        # ...
        event_handler   handle_external_host
        # ...
}

Затем определите команду, которая будет использоваться в качестве обработчика событий:

define command {
        command_name    handle_external_host
        command_line    $USER1$/eventhandlers/acknowledge_host_problem $HOSTNAME$ icingaadmin "Handled by external user"
}

Наконец, поместите сценарий обработчика событий в файл / usr / local / icinga / libexec / eventhandlers / accept_host_problem (или туда, где установлены обработчики событий):

#!/bin/sh

printf_cmd="/usr/bin/printf"
command_file="/usr/local/icinga/var/rw/icinga.cmd"

hostname="$1"
author="$2"
comment="$3"

# get the current date/time in seconds since UNIX epoch
now=`date +%s`

# pipe the command to the command file
$printf_cmd "[%lu] ACKNOWLEDGE_HOST_PROBLEM;%s;1;1;0;%s;%s\n" $now "$hostname" "$author" "$comment" >> $command_file

Не забудьте сделать скрипт исполняемым с помощью команды «chmod + x» или аналогичной. Подробнее о ACKNOWLEDGE_HOST_PROBLEM см. Документация Icinga.