Здесь пойдет речь о том как просто настроить отсылку уведомлений Nagios на SMS. Для отсылки я использовал сервис smsc.ru. Подойдет и любой другой, поддерживающий почтовый шлюз для отправки SMS.
Дальше пошли исходники и конфиги.
1. Настраиваем контакт для уведомления по SMS (contacts.cfg). График уведомлений и тип уведомлений по вкусу. В поле pager указываем мобильный номер.
define contact{ contact_name admin_sms alias Admin SMS service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-by-custom-sms host_notification_commands notify-by-custom-sms email admin@foobar.com pager +79991112233 }
Добавляем этот контакт в соответствующую группу контактов.
2. Пишем скрипт отправки. Написано на пых-пых. Надо проверить правильность пути к интерпретатору (/usr/local/bin/php).
#!/usr/local/bin/php <? if (!eregi('^\+[0-9]{5,}$',$argv[1])) { echo "USAGE: echo 'message' | $argv[0] PHONENUMBER\n"; exit; } $fp=fopen('php://stdin','r'); $mess=''; while ($buff=fread($fp,256)) { $mess.=$buff; } $mess=trim($mess); fclose($fp); $body=sprintf('username:password:::0,0,Nagios:%s:%s',$argv[1],$mess); mail('send@send.smsc.ru','sms',$body); ?>
На скрипт ставим права 755, таким образом его можно юзать из командной строки. Назовем его notify_via_sms.php и положим, скажем, в /usr/local/bin/.
username и password – заменить на ваш логин и пароль в сервис рассылки SMS.
Проверить работу скрипта можно примерно так
echo "Test message" | /usr/local/bin/notify_via_sms.php ВАШ_НОМЕР
Номер разумеется в международном формате.
3. Теперь Nagios’у надо рассказать как пользоваться этим скриптом. В commands.cfg пишем:
define command command_name notify-by-custom-sms command_line /usr/bin/printf "%b" "$NOTIFICATIONTYPE$ ON $HOSTALIAS$\n$SERVICEDESC$ IS $SERVICESTATE$\n$SERVICEOUTPUT$" | /usr/local/bin/notify_via_sms.php $CONTACTPAGER$ }
Все. Теперь все уведомления с сервисов, которым присвоена группа, к которой принадлежит этот контакт будут получать уведомления по SMS.