Простое решение для нотификации работы серверов при помощи ICQ:1) Ставим vicq клиент. Регистрируем для него UIN. Из примера конфигурационного файла
создаем работающий конфиг. Обязательные параметры uin и password.
2) Настраиваем nagios для отсылки сообщений о проблемах:
а) Задаем для своего контакта параметр pager равный номеру вашего ICQ.
б) Задаем 2-е дополнительне комманды в commands.cfg
# ICQ Notification
define command{
command_name notify-host-by-icq
command_line /usr/bin/printf "%b" "msg $CONTACTPAGER$\n***** Nagios <li>**\n\nNotification Type: $NOTIFICATIONTYPE$\nHost:
$HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo:
$HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n.\n" |
/usr/local/bin/vicq -c /usr/local/etc/vicq.conf -b -o -t 5
}
define command {
command_name notify-service-by-icq
command_line /usr/bin/printf "msg $CONTACTPAGER$\n***** Nagios<li>**\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService:
$SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState:
$SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n.\n" |
/usr/local/bin/vicq -c /usr/local/etc/vicq.conf -b -o -t 5
}
в) В шаблоне описывающем generic-contact задаем следующие параметры:
service_notification_commands notify-service-by-email,notify-service-by-icq
host_notification_commands notify-host-by-email,notify-host-by-icq
После всех манипуляций - перезагружаем Nagios и "роняем" какой-нибудь сервис. Все должно работать.
Сообщения будут приходить такими:
<li>** Nagios *****
Notification Type: PROBLEM
Service: AMAVIS
Host: localhost
Address: 127.0.0.1
State: CRITICAL
Date/Time: Sun Nov 2 01:22:37 MSK 2008
Additional Info:
Connection refused
Кстати, с vicq есть 1 баг при запуске его нагиосом. Так как клиент использует Term::Readline,
то возникает ошибка при запуске:
Cannot open /dev/tty for read at ...
Решается проблема просто, надо подредактировать файл vicq. Перед 1063 строкой вставить следующий кусок кода:
open (FH, "/dev/tty" )
or eval 'sub Term::ReadLine::findConsole { ("&STDIN", "&STDERR") }';
die $@ if $@;
close (FH);
Все будет работать без проблем.
URL: http://contrib.ru/content/nastroika-opoveshcheniya-nagios-po...
Обсуждается: http://www.opennet.dev/tips/info/1817.shtml