Как сделать так, чтобы нагиос отправлял мне короткие и информативные оповещения?
Формат сообщений по умолчанию:
** Предупреждение хоста восстановления: сервер включен ** ***** Нагиос ***** Тип уведомления: ВОССТАНОВЛЕНИЕ Хост: сервер Состояние: UP Адрес: server.ru Информация: PING OK - потеря пакета = 0%, RTA = 26,00 мс Дата / Время: Чт 13 Авг 17:08:16 MSD 2009
Я хочу максимум информации в минимальном количестве букв. Во-первых, чтобы иметь возможность получать информацию из SMS. Во-вторых, читать только заголовки сообщений электронной почты в 90% случаев.
Например, предыдущее сообщение может быть просто H: server is UP"где H обозначает Host Alert, Если этот сервер не работает, я хотел бы получить такое сообщение: [!] H: server is DOWN,
Вместо сообщения о том, что "Использование подкачки на сервере является КРИТИЧЕСКИМ", я хотел бы получить "[!] S: использование сервера / подкачки>50%", где 50 было взято из конфигурации nagios для check_swap, а не жестко закодировано в сообщении.
И если "Router/wan2 is CRITICAL", я хочу видеть "ADSL канал выключен".
Подводя итог, я хочу настроить сообщение для каждого сервиса и его состояние отдельно, с возможностью использовать параметры плагина в тексте.
Как мне этого добиться?
3 ответа
Nagios можно настроить для отправки уведомлений различными способами и в разных форматах. Если вам нужно персонализировать это, пожалуйста, обратитесь к command.cfg.
Это пример, чтобы показать вам, как получить короткое уведомление по смс с помощью gnokii:
define command{
command_name notify-host-by-sms
command_line /usr/bin/printf "%.120s" "$HOSTALIAS$ is $HOSTSTATE$" |/usr/local/bin/gnokii --sendsms $CONTACTPAGER$ -r
}
define command{
command_name notify-service-by-sms
command_line /usr/bin/printf "%.120s" "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" | /usr/local/bin/gnokii --sendsms $CONTACTPAGER$ -r
}
Вывод выглядит так: "имя хоста вышло"
Существует несколько совокупных надстроек для nagios, которые, помимо того, что вы можете указывать более короткие оповещения, объединят несколько оповещений на 1 странице, так что вы не получите 200 страниц, когда многие вещи отключаются одновременно.
Два хороших из них:
- Nan (Это работает как демон)
- nans (работает через cron. Не обманывайтесь "Netsaint" в названии - он очень хорошо работает с текущими версиями nagios)
Оповещения выглядят примерно так от nans (но, конечно, их можно настроить)
CRITICAL pages: 2 hostname.example.com - WWW is CRITICAL - Thu Aug 13 11:00:00 EDT 2009 | hostname.example.com - SSL is CRITICAL - Thu Aug 13 11:00:01 EDT 2009
Также, если вам нужна большая гибкость, подумайте о том, чтобы поместить сценарий bash между nagios и вами. Это может позволить вам отправлять сообщения с большей гибкостью, например, вы не хотите, чтобы электронные письма о восстановлении отправлялись вашему автоматическому создателю тикета.