Ad Widget

Collapse

Zabbix+GSM-modem

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Elminister
    Junior Member
    • Mar 2011
    • 16

    #1

    Zabbix+GSM-modem

    Люди помогите. Приобрели модем Cinterion MC35i GSM/GPR http://www.onegsm.ru/show_good.php?idtov=7031 для смс нотификации, а он не поёт. Перепробовал всевозможные способы настройки и никак. Единственный раз пришли 2 смски с интервалом в 15 минут (по итему с периодичностью 30с) и всё, но как это произошло непонятно.
    Система убунта, в диалаут кидал, права на ttyS0 давал, игрался со скоростью ком порта - тишина.

    Просьба поделиться опытом настройки у кого такой есть. Система не важна, лижбы заработало.
  • turboon
    Member
    • Sep 2010
    • 93

    #2
    Привет.
    Используем точно такой же модем, правда система у нас CentOS 6.2, но это не так уж и важно, на самом деле.

    Модем также подключен к COM-порту, но для отправки СМС мы используем smstools.
    Его плюсы:
    • ведет подробный лог
    • складывает смс-ки в очередь, можно посмотреть отправленные
    • обеспечивает получение смс ( очень круто, в дальнейшем можно реализовать управление сервером по СМС )

    Под ubuntu он точно есть в репозиториях ( там даже несколько пакетов для отправки СМС, можно посмотреть вот так: apt-cache search sms, или apt-cache search gsm ).
    Вот наш конфиг для smstools
    /etc/smsd.conf

    Code:
    devices = GSM1
    logfile = /var/log/smsd/smsd.log
    loglevel = 7
    user = root
    smart_logging = yes
    incoming_utf8 = yes
    
    [GSM1]
    device = /dev/ttyS0
    incoming = yes
    baudrate = 19200
    #pin = 1111
    Тем более он хорошо документирован, разобраться несложно.

    В smstools входит утилита smssend, вот как раз ее zabbix дергает для отправки СМС.

    А для первичной диагностики могу порекомендовать запустить утилиту minicom ( аналог HyperTerminal для Windows ), и попробовать "пообщаться" с модемом вручную с помощью АТ-команд. Хотя бы так: http://www.diafaan.com/sms-tutorials...mgs-text-mode/

    Comment

    • Elminister
      Junior Member
      • Mar 2011
      • 16

      #3
      Большое спасибо, буду пробовать!
      А модем работает, команды все ходят - смс прилетают. В первую очередь проверили)

      Comment

      • Elminister
        Junior Member
        • Mar 2011
        • 16

        #4
        Пока повторяется ситуация с 15 минутной задержой. Причём как и в прошлый раз пришло 2 смски, о чём есть соответствующая запись в аудите заббикса. Смотрел в логах там всё отлично. У меня такое чувство что ком порт не в себе.

        Comment

        • turboon
          Member
          • Sep 2010
          • 93

          #5
          Утилитку smssend из пакета smstools пробовали?
          В логе /var/log/smsd/smsd.log будет подробный листинг AT-команд с комментариями.
          Кусок лога с отправкой sms выглядит вот так:
          Code:
          2012-04-27 15:43:36,7, GSM1: -> AT+CREG?
          2012-04-27 15:43:36,7, GSM1: Command is sent, waiting for the answer
          2012-04-27 15:43:36,7, GSM1: <- +CREG: 2,1,"18AB","04E6" OK
          2012-04-27 15:43:36,6, GSM1: Modem is registered to the network
          2012-04-27 15:43:36,6, GSM1: Selecting PDU mode
          2012-04-27 15:43:36,7, GSM1: -> AT+CMGF=0
          2012-04-27 15:43:36,7, GSM1: Command is sent, waiting for the answer
          2012-04-27 15:43:37,7, GSM1: <- OK
          2012-04-27 15:43:37,7, GSM1: -> AT+CMGS=48
          2012-04-27 15:43:37,7, GSM1: Command is sent, waiting for the answer
          2012-04-27 15:43:37,7, GSM1: <- >
          2012-04-27 15:43:37,7, GSM1: -> 0011000B9197720240800123456789123F3083206934C1054FA14328B4DD0DB0D0A4EA55619284C07C56A3ADA8301^Z
          2012-04-27 15:43:37,7, GSM1: Command is sent, waiting for the answer
          2012-04-27 15:43:41,7, GSM1: <- +CMGS: 251 OK
          2012-04-27 15:43:41,5, GSM1: SMS sent, Message_id: 251, To: 79272123456, sending time 7 sec.
          Процесс отправки сообщения и все возникающие задержки по этому логу хорошо видны.

          Comment

          • Elminister
            Junior Member
            • Mar 2011
            • 16

            #6
            Да, смотрел соответствующей времени записи не наблюдаю, видимо заббикс справился своими силами в обход тулзы. Но почему опять только две смски в тот же 15 минутный интервал?

            Comment

            • turboon
              Member
              • Sep 2010
              • 93

              #7
              Объяснил я неправильно
              Заббикс не сам дергает утилиту smssend, а у нас настроены действия, вызывающие эту утилиту
              Например:
              smssend +79277123456 "Hello"

              К сожалению, встроенный функционал Заббикса для отправка смс я не пользовал, но, возможно, он что-то пишет в свой лог.. Попробуйте выкрутить debug level на максимум, и помониторить лог на предмет событий, связанных с смс.

              Comment

              • dragjj
                Junior Member
                • Mar 2016
                • 10

                #8
                Всем доброго времени суток.
                Что бы не плодить темы, спрошу в этой)
                Требуется привязать smstools к заббиксу. sendsms с командной строки СМСки отправляет. значит сам модем работает как надо. в заббиксе сделал оповещение по скрипту
                Code:
                /usr/local/bin/sendsms $1 $2
                Настроил действие, что бы отправлялось сообщение по скрипту. прописал номер телефона.
                В заббиксе появляется запись что действие выполнено.
                но смс не приходит. в логах sendsms ничего не появляется. значит дело до sendsms даже не доходит. не могу разобраться в чем проблема.
                система freebsd 10.2, любые логи выложу если кто то готов помочь

                Comment

                • sadman
                  Senior Member
                  • Dec 2010
                  • 1611

                  #9
                  Originally posted by dragjj
                  В заббиксе появляется запись что действие выполнено.
                  но смс не приходит. в логах sendsms ничего не появляется. значит дело до
                  90% проблем со внешними скриптами - неправильные права доступа к скрипту, конфигам, временным каталогам. su zabbix и тестируйте sendsms.

                  Comment

                  • dragjj
                    Junior Member
                    • Mar 2016
                    • 10

                    #10
                    Originally posted by sadman
                    90% проблем со внешними скриптами - неправильные права доступа к скрипту, конфигам, временным каталогам. su zabbix и тестируйте sendsms.
                    Тоже об этом подумал, всё утро сегодня тестил разные права, но результата ноль. установил утилиту sudo, сделал так:
                    Code:
                    zabbix ALL=NOPASSWD:/usr/local/bin/sendsms
                    zabbix ALL=NOPASSWD:/usr/local/etc/zabbix24/zabbix/externalscripts/sms.sh
                    права доступа на скрипте
                    -rwxrwxrwx 1 zabbix zabbix 143 Mar 2 11:16 sms.sh

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

                    Comment

                    • sadman
                      Senior Member
                      • Dec 2010
                      • 1611

                      #11
                      Т.е. в Media заведен новый Type "ExtSMS" вида Script и значением
                      "/usr/local/etc/zabbix24/zabbix/externalscripts/sms.sh", а в Action указано (например) Send only to "ExtSMS"?

                      Если в этот скрипт засунуть просто echo `date`>> /tmp/ExtSMS.log - будет писать моменты запусков при срабатывании действия Zabbix?

                      Comment

                      • dragjj
                        Junior Member
                        • Mar 2016
                        • 10

                        #12
                        Originally posted by sadman
                        Т.е. в media заведен новый type "extsms" вида script и значением
                        "/usr/local/etc/zabbix24/zabbix/externalscripts/sms.sh", а в action указано (например) send only to "extsms"?
                        Все верно
                        Originally posted by sadman
                        Если в этот скрипт засунуть просто echo `date`>> /tmp/extsms.log - будет писать моменты запусков при срабатывании действия zabbix?
                        Да, файл создается, с указанием внутри даты и времени. Это получается что для запуска скрипта ему прав хватает. Не пойму тогда, почему с командной строки скрипт под учеткой заббикса работает, а при срабатывании триггера нет.

                        Comment

                        • sadman
                          Senior Member
                          • Dec 2010
                          • 1611

                          #13
                          Originally posted by dragjj
                          Все верно


                          Да, файл создается, с указанием внутри даты и времени. Это получается что для запуска скрипта ему прав хватает. Не пойму тогда, почему с командной строки скрипт под учеткой заббикса работает, а при срабатывании триггера нет.
                          т.е. не срабатывает не скрипт, а sendsms, запущенный из такого вот шелл-форка. Предлагаю вкрячить в скрипт не просто запуск sendsms, а strace sendsms > /tmp/sendsms.log. В этом логе наверняка будет какой-то криминал.

                          Comment

                          • dragjj
                            Junior Member
                            • Mar 2016
                            • 10

                            #14
                            Originally posted by sadman
                            т.е. не срабатывает не скрипт, а sendsms, запущенный из такого вот шелл-форка. Предлагаю вкрячить в скрипт не просто запуск sendsms, а strace sendsms > /tmp/sendsms.log. В этом логе наверняка будет какой-то криминал.
                            Файл создается, но внутри пусто. если этот скрипт с sudo strace sendsms 79XXXXXXXXX "test" (Без sudo не работает) запустить из консоли под учеткой заббикса, то на консоль выводится следующее:
                            Code:
                            pread: Device busy
                            pread: Device busy
                            pread: Device busy
                            pread: Device busy 
                            +100 еще таких записей
                            text: test
                            pread: Device busy
                            pread: Device busy
                            pread: Device busy 
                            +100 еще таких записей
                            To: 79ХХХХХХХХХ
                            pread: Device busy
                            pread: Device busy 
                            +100 еще таких записей
                            PIOCRUN: Input/output error
                            trouble opening proc file
                            а в файлик пишется
                            Code:
                            --
                            Text: test
                            To: 79ХХХХХХХХХ
                            СМСка приходит нормально из консоли.

                            Comment

                            • sadman
                              Senior Member
                              • Dec 2010
                              • 1611

                              #15
                              Originally posted by dragjj
                              Code:
                              pread: Device busy
                              pread: Device busy
                              pread: Device busy
                              pread: Device busy
                              СМСка приходит нормально из консоли.
                              Даже не знаю, что тут и придумать. Судя по гуглу - такие проблемы с strace не только у вас. Нужно искать ещё какой-то способ, чтобы понять, что там происходит. Может переменные окружения не экспортируются, конфиги не подхватываются. Был уже такой случай, когда не работал фрагмент bash-кода из форка, приведенный в качестве примера разработчиком, так как форкалось всё в sh.

                              У senssms, как вижу, есть опция [--debug|-D]. Сам этим не пользовался, хватало функционала самого заббикса, который в tty писал.

                              Comment

                              Working...