Главная » 2011 Октябрь 12 » Nagios: оповещение с помощью SMS с помощью Google Calendar
00:00 Nagios: оповещение с помощью SMS с помощью Google Calendar | |
SMS-уведомления из Nagios малой кровью
Стоял как-то раз админ в курилке и думал — а как бы ему так в нерабочее время вдали от компьютера и интернетов узнать, что на каком-то из его серверов проблема возникла. Можно конечно посадить студента за монитор с Nagios, чтоб он если что звонил админу и говорил «Тут красненькое что-то появилось»… Стоп. Звонил. На мобильный. Нафиг студента, SMS можно получать. На этом мысль остановилась и админ пошёл пить кофе. Потом вернулся и сел за рабочее место, где в браузуре был загружен Google Calendar… и решение пришло само.
Итак, у нас есть настроенный Nagios и желание получать SMS о возникающих проблемах на свой телефон. Для удобства регистрируем отдельный аккаунт Google — что-нибудь типа nagios_alert@your-company-domain.com и идём настраивать календарь для этого аккаунта. Нас интересуют уведомления для календаря по-умолчанию — выставляем уведомление за 1 минуту до события по SMS. Также нужно привязать к этому аккаунту номер своего мобильного (это делается там же, в настройках календаря). Далее, следуем по этой ссылке: code.google.com/p/gcalcli/ и качаем GCalCLI — консольная утилита на Python, которая позволяет работать с гугловым календарём. Всё, что требуется для работы утилиты — описано на странице проекта, там буквально пара Python-модулей. Для нормальной работы gcalcli нужно его немного допилить (куда ж без этого). Открываем файл на редактирование идём на строку 226 и меняем её на это:
Далее, кладём этот скрипт куда-нибудь поудобнее, где аккаунт из-под которого крутится Nagios-демон мог его пускать. Я выбрал /usr/bin. Рядом с gcalcli кладём bash-скрипт примерно такого содержания:
Скрипт добавит «быстрое» событие в календарь аккаунта nagios_alert@your-company-domain.com с текстом, который будет передан в параметрах (см. далее). Замечу также, что время на Nagios-сервере и моё локальное время отличаются на 1 час — в скрипте эта разница учтена. Далее конфигурируем сам Nagios. Добавляем команду notify-service-by-sms:
Добавляем отдельный контакт для SMS-уведомлений (так просто удобней):
Добавляем этот контакт в нужную группу, рестартуем Nagios — всё. Теперь админ всегда будет знать где-чо лежит. У меня по тестам сообщение приходит ровно через 8 минут после того, как появилась проблема (у вас может быть больше/меньше в зависимости от настроек Nagios). По поводу номера мобильного телефона — я тестировал на МТС — работает на 5. По поводу платных сервисов отправки SMS — да, я про них знаю, но в названии топика потому и есть слова «малой кровью». Взято из: habrahabr | |
|
Всего комментариев: 0 | |