В последние несколько дней в нашей гермозоне регулярно творятся проблемы со светом. По состоянию на сейчас уже частично выжжена автоматика, отвечающая за включение генератора и он не включается. Т.к. новую автоматику привезут где-то в конце недели, то генератор пока приходится заводить ручками. Соответственно, от момента падения питания до момента включения генератора должно пройти не более получаса, которые держат упсы, и за эти самые полчаса надо как-то оповестить всех, кто может запустить генератор. Если днем публика читает почту, то ночью, как правило, хочет спать и ее надо будеть. Этим мы и займемся.
По умолчанию Zabbix предлагает отправку SMS через GSM-модем, подключенный к zabbix-серверу, в моем случае такого нет, однако есть масса служб, которые предлагают отправку смс за деньги. Я остановился на сервисе turbosms.com.ua, вроде как самый недорогой, плюс имеет очевидный плюс — позволяет отправлять SMS простыми SQL-запросами к их MySQL-базе.
Будем считать, что сам заббикс у нас стоит (про его установку я как-нибудь напишу многабукаф, не в авральном режиме). Заходим в Administration — Media Types и жмем кнопку Create Media Type. Указываем любое удобное нам имя, тип Script и название скрипта. Сам скрипт при этом должен лежать в каталоге, определенном параметром AlertScriptsPath в /usr/local/etc/zabbix/zabbix_server.conf.
Скрипт в итоге получился такой (на perl):
#!/usr/bin/perl use strict; use POSIX; use DBI; my [email protected][0]; my [email protected][1]; my [email protected][2]; my $driver = "mysql"; my $user = "Mylogin"; my $password = "Mypassword"; my $database = "users"; my $dsn = "DBI:$driver:host=77.120.116.10:3306;database=$database"; my $dbh = DBI->connect($dsn, $user, $password); my $sql = $dbh->prepare("INSERT INTO Mylogin (number, sign, message) VALUES ('$phone', 'MyISP', '$msg')"); $sql->execute;
Сделано по-быстрому, но работает.
Pingback: Третья дюжина ссылок по Zabbix | Блог FlyCat.Info: КОТорый летает...
#1 by Vitalii on 01.06.2016 - 15:51
Quote
А как мы передаем номер телефона с Zabbix-a? Добавил номер в настройках user, сделал Media Type, емейлы приходят а СМС нет. Скрипт запускал на сервере вручную (так работает).
Спасибо
#2 by Vitalii on 01.06.2016 - 15:52
Quote
*отправка так же через turbosms
#3 by Vitalii on 01.06.2016 - 17:53
Quote
Если же в Configuration->Actions->Operations в Operation Type вместо Send Message выбрать Remote Command и Сustom script, и вставить /usr/share/zabbix/alertscripts/send_sms.pl, то скрипт выполняется.
#4 by Vitalii on 01.06.2016 - 17:54
Quote
Тут еще есть информация по этому поводу:
https://www.zabbix.com/forum/showthread.php?t=46377
#5 by Alex on 24.06.2016 - 18:39
Quote
К сожалению не работает.
Может у автора есть свежий скрипт для работы с турбосмс?
#6 by Alex on 24.06.2016 - 19:48
Quote
Прошу прощения, ступил. Пока нет альфаимени — сообщения остаются в базе, но не отправляются.
Так что, если надумаете использовать турбосмс — регистрируйте сразу имя «подпись»