Наконец-то дошли руки до смс-оповещений из Zabbix. Сразу скажу, что “с разбегу” оно не взлетело, хотя я немножко на это надеялся 🙂 В интернетах вагон статей как заставить Zabbix отправлять сообщения с помощью разного рода дополнительных скриптов. Но мало кто рассказывает о настройке напрямую через 3G-модем. И мы таки победили эту задачу! Оно работает! Сразу оговорюсь, у меня есть ощущение, что не все телодвижения, которые были предприняты, являются строго обязательными. Частично данная запись – копипаста с хабра, за что автору – спасибо.
Итак, берем 3G-модем. В моем случае был Megafon M100-4, который даже 4G умеет, но это не принципиально. Поскольку я знаю, что в разного рода линуксах могут быть проблемы с модемами в “стандартном” режиме (модем+CD-ROM), первым делом оно было переведено в режим “только модем”. Для этого в терминале надо скормить модему команду AT^U2DIAG=0. Точная команда для конкретно вашего модема гуглится без особых проблем. Не забываем вытащить из модема симку, на всякий пожарный, а то мало ли чего он там себе напридумывает…
Далее, подключив модем в комп, я получил два девайса – ttyUSB0 и ttyUSB1. Просто тупо прописать один или второй девайс в Zabbix’е не получилось. Пришлось колдовать. Все команды применялись на ttyUSB0, второй я не проверял, потому что и так заработало.
Поскольку терминалки никакой установлено не было, поставили minicom, как рекомендует хабр. Ну и, чтобы два раза не вставать, сразу smstools – их планируется использовать для рассылки сообщений разного рода прочими скриптами. С первого раза подключиться к модему не получилось. Поиски показали, что есть смысл руками указать скорость соединения 9600 и тут все получилось.
Согласно статье не Хабре, побаловались проверкой pin-кода, центром сообщений, текущим оператором и прочей мелочью. Далее последовало тестовое сообщение. Для начала, командой AT+CMGF=1 нужно переключить модем в режим работы с простыми текстовыми сообщениями. Затем шлем тестовое сообщение – AT+CMGS=”xxxxxxxxxxxx”, где вместо xxxx указываем номер получателя. Кавычки обязательны! И, когда получаем приглашение >, вводим само сообщение. Завершаем ввод нажатием CTRL+Z.
Запрос списка устройств по команде ls -l /dev/ttyUSB* показал, что устройства принадлежат группе dialout. Мы выёживаться не стали и добавили пользователя zabbix в эту группу. Еще раз проверили, то ли устройство указано в качестве отправителя и – в путь. Как настроить формат, значимость и получателя – подробно расписано в документации к zabbix’у. Если кратко, в профиле пользователя нужно указать номер, важность и время отправки сообщений. Затем в Действиях создать (или поправить) собственно рассылку.
Важные замечания:
- Прежде чем, рассылать sms, разберитесь с важностью триггеров. Лично у меня тестирование совпало с окончанием рабочего дня и, сразу после включения этой штуки, я получил два десятка сообщений о том, что народ выключает технику. И пофигу, что оно имеет минимальную важность.
- Сильно рекомендую рассылать оповещения нескольким людям и дополнительно в почту – мало ли кто чего почему прохлопает.
- Если регулярно происходят плановые сработки триггеров по ночам (перезагрузки серверов, например), есть смысл указать рассылку смс не круглые сутки, потому что пищащий ночью телефон – не самое приятное.
- Если хочется поковырять модем, есть замечательная статья, где имеется большое количество разного рода команд.
Осталось только snmp-trap заточить под нужным углом, но это когда еще руки дойдут…