Zabbix sms оповещение. (Решено) (zabbix, sms, gnokii, usb modem)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Zabbix sms оповещение. (Решено)

Сообщение Voler »

Добрый день, Формучане.

Пришлось перейти на систему мониторинга Zabbix, поставил на ubuntu 12.04, все хорошо работает.
Но столкнулся с проблемой настройки sms уведомления.
Настроил gnokii, он отправляет смс нормально из консоли. А вот zabbix не в какую слать не хочет.

Прошу помощи, кто использует данную систему помогите в настройке.
Сам скрипт, выглядит вот так

Код: Выделить всё

PATH=/bin:/sbin:/usr/bin:/usr/sbin
LOGFILE="/var/log/zabbix/sms.log"

echo "Recipient='$1' Message='$3'" >> ${LOGFILE}

MOBILE_NUMBER=`echo "$1" | sed s#\s##`

# Log it
echo ""echo $3 | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms ${MOBILE_NUMBER}"" >>${LOGFILE}

# Send it
echo ""$3"" | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms "${MOBILE_NUMBER}" 1 >>${LOGFILE} 2>&1

Как добавлять в забикс оповещения понятно. Причем в веб, забикс пишет что скрипт отправлен.
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Zabbix sms оповещение. (Решено)

Сообщение BigBrother »

у меня заббиск 2.2.2, для смс использую службу smsc.ru, к ихнему api обращаюсь через curl.
так вот, заббикс вызывая мой скрипт, передает ему параметры, и во втором параметр ($2) содержится само сообщение, а у тебя в скрипте я её не вижу.
и можно удивить логи работы скрипта?
если вызвать скрипт вручную, и передать параметры, например так

Код: Выделить всё

#./script test1 test2

смс приходит?
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Zabbix sms оповещение. (Решено)

Сообщение allez »

Посмотрел на ваш скрипт и не могу понять, чему вы удивляетесь? Этот скрипт написан так, чтобы либо не работать, либо работать неправильно. Вот вам на первое время пища для размышлений:

1. Куда делся параметр $2? Параметры $1 и $3 есть, а $2 что-то не видно.

2. Сдвоенные парные кавычки в следующих двух строках - это что-то за гранью добра и зла. :) Избавьтесь от них.

Для начала проверьте указанные мной два пункта, а затем попробуйте запустить ваш скрипт вручную. Если сработает, значит и Zabbix должен будет нормально его запустить.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Zabbix sms оповещение. (Решено)

Сообщение Voler »

allez писал(а):
20.02.2014 21:09
1. Скрипт взят с документации zabbix.
2. Убрал.


Вот что пишет при руном запуске.

Код: Выделить всё

Recipient='' Message=''
echo  | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms
GNOKII Version 0.6.30
 usage: --sendsms destination              recipient number (msisdn)
        --smsc message_center_number       number (msisdn) of the message
                                           center
        --smscno message_center_index      index of the message center stored
                                           in the phone memory
        -r
        --report                           request delivery report
        -v n
        --validity n                       set message validity
        -C n
        --class n                          set message class; possible values
                                           are 0, 1, 2, or 3
        -8
        --8bit                             set 8bit coding
        -i
        --imelody                          send imelody message, text is read
                                           from stdin
        -a file;file;file;file
        --animation file;file;file;file    send animation message
        -o this;total;serial
        --concat this;total;serial         send 'this' part of all 'total' parts
                                           identified by 'serial'
        -w url
        --wappush url                      send wappush to the given url
Message text is read from standard input.

Так понимаю не верно передаются парметры, $2 как лучше подставить?

Пробовал отправить в ручную.
Вот что в логе

Код: Выделить всё

Recipient='+7926,,,,,,,,' Message='Pewts'
echo Pewts | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms +79265504470
GNOKII Version 0.6.30
 usage: --sendsms destination              recipient number (msisdn)
        --smsc message_center_number       number (msisdn) of the message
                                           center
        --smscno message_center_index      index of the message center stored
                                           in the phone memory
        -r
        --report                           request delivery report
        -v n
        --validity n                       set message validity
        -C n
        --class n                          set message class; possible values
                                           are 0, 1, 2, or 3
        -8
        --8bit                             set 8bit coding
        -i
        --imelody                          send imelody message, text is read
                                           from stdin
        -a file;file;file;file
        --animation file;file;file;file    send animation message
        -o this;total;serial
        --concat this;total;serial         send 'this' part of all 'total' parts
                                           identified by 'serial'
        -w url
        --wappush url                      send wappush to the given url
Message text is read from standard input.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Zabbix sms оповещение. (Решено)

Сообщение Voler »

Исправил, теперь работает отправка из консоли

Код: Выделить всё

#!/bin/sh
HOME=/home
PATH=/bin:/sbin:/usr/bin:/usr/sbin
LOGFILE="/var/log/zabbix/sms.log"
echo "Recipient='$1' Message=' $2 $3'" >> ${LOGFILE}

MOBILE_NUMBER=`echo "$1" | sed s#\s##`

# Log it
echo ""$2 $3 | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms ${MOBILE_NUMBER}"" >> ${LOGFILE} 2>&1


Recipient='+792687.......' Message=' Tets Pewts'
GNOKII Version 0.6.30
Send succeeded with reference -1!


Двойные кавычки пришлось вернуть, т.к. в локах тогда вот что
Tets Pewts | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms +79268.......

Плюс не понятно за каким лешим, две строчки было, когда все в одну нормально работает.

Но Zabbix не присылает уведомление. Хотя, в админке пишет что смс отправил. В логе при этом пусто. На почту приходит исправно.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Zabbix sms оповещение. (Решено)

Сообщение allez »

Так-с, начнем по порядочку. :)

И начнем, пожалуй, с наших параметров, передаваемых скрипту - $1 и остальных. Вы, насколько я могу судить, скрипту передаете только номер получателя и текст сообщения. Если так, то используются только $1 и $2. Поэтому совсем уберите из скрипта $3.

Далее, gnokii у вас, похоже, все-таки не отрабатывает как надо. Это видно, во-первых, по тому, что эта утилита выдает в консоль. А выдает она краткую справку по использованию. Это в переводе на человеческий означает примерно следующее: "вы что-то сделали неправильно, посмотрите, что я могу понять и исправьте свою ошибку". Во-вторых, строка "Send succeeded with reference -1!" является сообщением об ошибке. Переводится это как "отправка завершилась с кодом -1!". Код нормального, успешного завершения работы - это 0 (ноль), если же код не равен нулю, значит что-то пошло не так.

Поэтому рекомендую сначала добиться успешной отправки SMS вручную, командой gnokii, запущенной из терминала, а потом уже и до скрипта дело дойдет.
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Zabbix sms оповещение. (Решено)

Сообщение Voler »

allez писал(а):
21.02.2014 12:06
GNOKII Version 0.6.30
Send succeeded with reference -1!


Как понят почему -1, смс приходит ведь.

Конфиг вот gnokii

Код: Выделить всё

[global]
port = /dev/ttyUSB0
model = AT
initlength = default
connection = serial
use_locking = no
serial_baudrate = 115200

Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Zabbix sms оповещение. (Решено)

Сообщение allez »

Voler писал(а):
21.02.2014 12:22
Как понят почему -1, смс приходит ведь.
Вот как, приходят, значит... Тоды ой. :)

Voler писал(а):
21.02.2014 08:13
Плюс не понятно за каким лешим, две строчки было, когда все в одну нормально работает.
Одна строчка занималась только тем, что записывала в лог командную строку, используемую для отправки SMS. Там даже комментарий соответствующий есть:

Код: Выделить всё

# Log it
echo ""echo $3 | /usr/bin/sudo /usr/bin/gnokii --config /usr/lib/zabbix/alertscripts/sms.conf --sendsms ${MOBILE_NUMBER}"" >>${LOGFILE}
Спасибо сказали:
Аватара пользователя
Voler
Сообщения: 498
ОС: Fedora

Re: Zabbix sms оповещение. (Решено)

Сообщение Voler »

allez писал(а):
21.02.2014 12:45

Работает убрал 3ку, и вернул вторую строку.
Спасибо сказали:
allez
Сообщения: 2223
Статус: Не очень злой админ :-)
ОС: SuSE, CentOS, FreeBSD, Windows

Re: Zabbix sms оповещение. (Решено)

Сообщение allez »

Замечательно, рад за вас. :) Если все работает, как надо, подправьте, пожалуйста, название темы - добавьте в него слово "решено". Этим вы очень поможете тем, кто в будущем может столкнуться с подобной проблемой. На всякий случай подскажу: название темы можно изменить, открыв первое сообщение в режиме "полное редактирование".
Спасибо сказали:
aleksnsk
Сообщения: 180

Re: Zabbix sms оповещение. (Решено)

Сообщение aleksnsk »

Настроил gnokii, он отправляет смс нормально из консоли. А вот zabbix не в какую слать не хочет.
добавлю - это из-за прав доступа скорее.
Спасибо сказали: