Ad Widget

Collapse

Gsm шлюз

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nikitos35
    Senior Member
    • Jun 2014
    • 166

    #1

    Gsm шлюз

    Добрый день!
    Есть ли возможность "подружить" zabbix 3.2.1 и gsm-шлюз OpenVox vs1600-4g?
    А то бесплатные сервисы имеют ограничения по количеству смс в день
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    https://openvoxwiki.atlassian.net/wi...P+SMS+API+Demo -> http://www.openvox.cn/pub/misc/GSM%2...smshttpapi.zip -> sendsms.php

    Как я понимаю - всё через обычный HTTP POST, который должен слать скрипт, через который Zabbix будет смс-ить

    Comment

    • nikitos35
      Senior Member
      • Jun 2014
      • 166

      #3
      Originally posted by sadman
      https://openvoxwiki.atlassian.net/wi...p+sms+api+demo -> http://www.openvox.cn/pub/misc/gsm%2...smshttpapi.zip -> sendsms.php

      Как я понимаю - всё через обычный http post, который должен слать скрипт, через который zabbix будет смс-ить
      Эти статьи видел, я единственное не пойму как заббикс настроить, чтобы при срабатывании триггера мой шлюз отправил мне смс
      С самого щлюза я себе смс отправил, ручками все вбил.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Удивляете вы меня.

        Comment

        • nikitos35
          Senior Member
          • Jun 2014
          • 166

          #5
          Originally posted by sadman
          Эти статьи я тоже изучил.
          Для меня проблема сам скрипт написать.
          Либо понять, что в каждой строке мне заменить на свое.
          Я так понимаю сам скрипт:
          to=$1
          subject=$2
          body=$3

          cat <<EOF | mail -s "$subject" "$to"
          $body
          EOF

          Что здесь надо указать в моем случае?

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Придется учиться писать, никуда не деться. Kos же вам не будет систему настраивать, пока вы чай пьете.

            в .php такое вот видели?

            Code:
            $url = "http://$ip/sendsms?username=$username&password=$password&phonenumber=$phonenumber&message=$message";
            Вот такую же строку надо сформировать в скрипте и curl'у скормить. Вместо отправки emai-а.

            Мне кажется, что этого будет достаточно

            Comment

            • nikitos35
              Senior Member
              • Jun 2014
              • 166

              #7
              Originally posted by sadman
              Придется учиться писать, никуда не деться. kos же вам не будет систему настраивать, пока вы чай пьете.

              в .php такое вот видели?

              Code:
              $url = "http://$ip/sendsms?username=$username&password=$password&phonenumber=$phonenumber&message=$message";
              Вот такую же строку надо сформировать в скрипте и curl'у скормить. Вместо отправки emai-а.

              Мне кажется, что этого будет достаточно
              Ок, буду смотреть в эту сторону

              Comment

              • nikitos35
                Senior Member
                • Jun 2014
                • 166

                #8
                В продолжении темы.
                набросал скрипт

                #!/bin/sh
                PHONENR=`echo &quot;$1&quot; | sed s#\s##`
                LOGFILE=&quot;/var/log/sms.log&quot;
                STR=${2// /%20}
                echo &quot;To: &#039;$1&#039; Text: &#039;$2&#039;&quot; &gt;&gt; ${LOGFILE}
                curl --globoff &quot;h ttp://10.3.0.203:80/sendsms?username=admin&password=Sdfwgvq3t4585i6kjh r&phonenumber=xxx&message=xxx&[port=xxx&][report=xxx&][timeout=xxx] amp;charset=UTF8&quot; 1&gt;&gt;${LOGFILE} 2&gt;&amp;1


                Скопировал его в директорию, которая указана в zabbix-server.conf - /usr/lib/zabbix/alertscripts/

                Дал права на скрипт chmod +x /usr/lib/zabbix/alertscripts/scriptsms.sh
                Решил проверить выполнение скрипта из CLI
                root@mall-s-zabbix:/# /usr/lib/zabbix/alertscripts/scriptsms.sh +79******6 test
                -bash: /usr/lib/zabbix/alertscripts/scriptsms.sh: /bin/sh^M: плохой интерпретатор: Нет такого файла или каталога

                Зашел в скрипт и удалил знаки ^M
                После этого вывод следующий
                root@mall-s-zabbix:/# /usr/lib/zabbix/alertscripts/scriptsms.sh +79******6 test
                /usr/lib/zabbix/alertscripts/scriptsms.sh: 1: /usr/lib/zabbix/alertscripts/scriptsms.sh: Syntax error: "|" unexpected

                При этом в GSM шлюзе у меня есть строка
                h ttp://100.30.10.203:80/sendsms?username=xxx&password=xxx&phonenumber=xxx& message=xxx&[port=xxx&][report=xxx&][timeout=xxx]
                Пробелы в http специально сделал
                Можете подсказать где я косячнул? Спасибо!
                Last edited by nikitos35; 13-07-2017, 09:23.

                Comment

                • sadman
                  Senior Member
                  • Dec 2010
                  • 1611

                  #9
                  Originally posted by nikitos35
                  Можете подсказать где я косячнул? Спасибо!
                  Сдается мне, что вы нам показываете одно, а запускаете - другое.

                  Comment

                  • nikitos35
                    Senior Member
                    • Jun 2014
                    • 166

                    #10
                    Originally posted by sadman
                    Сдается мне, что вы нам показываете одно, а запускаете - другое.
                    Скриншот со шлюза и с cli
                    Attached Files

                    Comment

                    • sadman
                      Senior Member
                      • Dec 2010
                      • 1611

                      #11
                      Давайте поищем отличия между первой строкой моего и вашего кода...

                      Code:
                      #!/bin/sh
                      PHONENR=`echo "$1" | sed s#\s##`
                      echo $PHONENR
                      Code:
                      ./test.sh 1243412
                      1243412

                      Comment

                      • nikitos35
                        Senior Member
                        • Jun 2014
                        • 166

                        #12
                        Originally posted by sadman
                        Давайте поищем отличия между первой строкой моего и вашего кода...

                        Code:
                        #!/bin/sh
                        phonenr=`echo "$1" | sed s#\s##`
                        echo $phonenr
                        Code:
                        ./test.sh 1243412
                        1243412
                        Сделал как у Вас, не помогло
                        Attached Files

                        Comment

                        • sadman
                          Senior Member
                          • Dec 2010
                          • 1611

                          #13
                          Хорошо, будем действовать как в казуальной игре на айпаде - с подсказками.

                          Подсказка следующая: &quot; и проч. &*; -- это сущности HTML, а не операторы, переменные либо иные вспомогательные элементы скрипта на bash.

                          Comment

                          • nikitos35
                            Senior Member
                            • Jun 2014
                            • 166

                            #14
                            Originally posted by sadman
                            Хорошо, будем действовать как в казуальной игре на айпаде - с подсказками.

                            Подсказка следующая: &quot; и проч. &*; -- это сущности html, а не операторы, переменные либо иные вспомогательные элементы скрипта на bash.
                            Для меня это сложно, сразу отвечать на такие вопросы.
                            Буду изучать дальше по Вашей подсказке

                            Comment

                            • Kos
                              Senior Member
                              Zabbix Certified SpecialistZabbix Certified Professional
                              • Aug 2015
                              • 3404

                              #15
                              Сдаётся мне, что вместо двойных кавычек, как в примере sadman-а:
                              Code:
                              PHONENR=`echo "$1" | sed s#\s##`
                              , в Вашем скрипте используется сочетание "&quot;":
                              Code:
                              PHONENR=`echo &quot;$1&quot; | sed s#\s##`

                              Comment

                              Working...