Zabbix создан для мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования с целью оперативного оповещения сотрудников о том, что в их системах произошли какие то изменения средствами Email, Jabber и SMS уведомлений. В этой статье речь пойдет об SMS уведомлениях. Настроить отправку можно тремя способами:
Отправвка на эл. ящик оператора мобильной связи, который потом перешлет это сообщение вв виде SMS аботненту. способ самій просто в настройке, но самы не интересны, потому что отправка писем зависит от доступа сети Интренет, а так же пересылка Email по SMS - не является гарантированной услугой, и на этом этапе часто бывают задержки и сбои.
Отправка SMS через любое GSM устройство, которое у вас получится настроить на отправку СМСок, с сервера с помощью скриптов, в моем случае это был телефон Sony Ericsson W580. При этом пишеться скрипт, помещается в AlertScriptPath, в который передаются получатель, тема и сообщение. Преимущества этого способа перед первым и третьим в том, что для этих нужд можно использовать самые разноообразные устройства (типа старого сименса) которые у вас уже могут иметься в наличии, и независимостить от доступности Интернета. Недостаток - стабильность, неизвесно как эти разнообразные устройства поведут себя при перезагрузке сервера, пропадании питания, заолнения памяти телефона. такое поведение может стать причиной отказа в обслуживании, и постоянного непокойства.
Отправка SMS через стандартные средства заббикса, с помощью GSM модема, который поддерживает AT команды. В документации сказано что заббикс тестировался на совместимость с двумя терминалами Siemens MC35 и Teltonika ModemCOM/G10. Первый из них я уже договорился взять на тест. Преимущества все те, которые я описал выше, и отсутствие недостатков (пока что, если замечу - допишу).
2. СМС с помощью телефона
Сначала, настроим отправку SMS с моего Sony Ericsson W580 Первым делом подготовим ядро для работы с USB устройствами, модемами, и датакабеолем, для этого его надо пересобрать с опциями:
device umodem # USB modem support device ucom # USB tty support device uplcom # USB support for Prolific PL-2303 serial adapters driver
cd /usr/src make buildkernel KERNCONF=MYKERNEL make installkernel KERNCONF=MYKERNEL
После этого подключаем Sony Ericsson, выбираем подключение в режиме телефон,и после этого в /dev/* должны появиться устроства:
[09:57][root@jails /usr/home/chip]$ ls -lah /dev/cua* crw-rw---- 1 uucp dialer 0, 135 Jun 2 09:57 /dev/cuaU0 crw-rw---- 1 uucp dialer 0, 136 Jun 2 09:42 /dev/cuaU0.init crw-rw---- 1 uucp dialer 0, 137 Jun 2 09:42 /dev/cuaU0.lock crw-rw---- 1 uucp dialer 0, 141 Jun 2 09:42 /dev/cuaU1 crw-rw---- 1 uucp dialer 0, 142 Jun 2 09:42 /dev/cuaU1.init crw-rw---- 1 uucp dialer 0, 143 Jun 2 09:42 /dev/cuaU1.lock
после этого надо установить тулзу, которая будет работать с телефоном, и слать эти самые СМС.
cd /usr/ports/comms/smstools3/ make install
cat /usr/local/etc/smsd.conf
Devices = GSM1 logfile = /var/log/smsd.log loglevel = 7 pidfile = /var/run/smsd/smsd.pid infofile = /var/run/smsd/smsd.working
[GSM1] device = /dev/cuaU0 incoming = yes #pin = 0000
после чего можно и запустить ее
/usr/local/etc/rc.d/smsd start
а так же для отправки сообщений в файлике /usr/local/share/smstools/sendsms делаем:
#smsd_user="smsd" smsd_user="uucp"
без этого смски не будут отправляться и в лог будет писаться что то типа:
2011-06-02 10:06:46,3, smsd: Cannot handle /var/spool/sms/outgoing/send_3boecl: Access denied. Check the file and directory permissions.
Если СМСка дошла, значит мы все сделали правильно и пора приниматься на за написание скрипта, который будет выполнять заббикс для отправи смски. В Заббиксе такие скрипты лежат в директории, определенной в переменной AlertScriptsPath.
[chip@zabbix /]$ cat /usr/local/etc/zabbix/zabbix_server.conf | grep AlertScriptsPath ### Option: AlertScriptsPath AlertScriptsPath=/home/zabbix/bin/
Сам скрипт состоит из одной строки:
# cat /home/zabbix/bin/sms-via-script #!/usr/local/bin/bash text="$3" sudo -u uucp /usr/local/bin/sendsms $1 "$text"
$1 и $text - получатель и текст сообщения соответсвенно.
Дальше вся настройка в вебинтерфейсе. Сначала идем в Администрирование -> Способы оповещений и создаем новый способ оповещений. Название скрипта должно быть таким же, как и имя файла скрипта в директории AlertScriptsPath

Дальше в настройках пользователя (Администрирование -> Пользователи) добавляем Способ оповещений

После этого в настройках действий появится возможность использовать этот способ оповещений.

О том что скрипт выполняется, или СМСки куда то идут можно посмотреть в логе сервера или в разделе Администрирование -> Уведомления.
tail -f /var/log/zabbix/zabbix_server.log ... Text: load external link is less than 90%: OK 15:12:07 2011.06.07 To: 38067ххххххх ...
В данный момент жду GSM шлюз, для того что бы прикрутить его на этот сервер. как приедет, продолжу писать статью. если у вас есть чем поделиться или что то добаваить в єту статью, буду всегда рад вниманию.
Добавление от 26.10.2011
В хоте эксплуатации данной схемы нашел такие проблемы:
Добавление от 22.12.2012
Выставить скорость модема, который подключен по RS232:
stty -f /dev/ttyU0 speed 9600
Посмотреть что получилось:
[root@zabbix /usr/home/chip]# stty -e | grep speed speed 9600 baud; 63 rows; 237 columns;
|
Комментарии
Это у меня есть. Вобщем я разобрался - сам ступил, у меня sudo не было установлено :)
За статью большое спс! Вот и пригодился мой старый и уже пыльный Сони-Эрикссон :)
а так же для отправки сообщений в файлике /usr/local/share/smstools/sendsms делаем:
#smsd_user="smsd"
smsd_user="uucp"
не подходит?
У меня создается овнером zabbix:dialer и смс не уходят.
За это отвечает sudo -u uucp в строке скрипта, я правильно понял? Тогда как сделать, чтобы скрипт работал? sudo -u uucp не хочет работать