Я использую 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.