Ad Widget

Collapse

Проблема с отправкой смс.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Amicable
    Junior Member
    • Oct 2015
    • 15

    #1

    Проблема с отправкой смс.

    Доброго времени суток. Zabbix 2.2.9 установлен на ubuntu 14.04. Имеется 3г модем. С убунтой после некоторых танцев с бубном модем подружился, для отправки смс используется пакет gammu. Просто из сисмтемы смски уходят без проблем.
    В каталог /usr/lib/zabbix/alertscripts положил скрипт test.sh:
    Code:
    #!/bin/bash
    to=$1
    subject=$2
    body=$3
    echo '$body' | gammu --sendsms TEXT "$to"
    В администрирование->способы оповещения, добавил скрипт test.sh. Создал пробный тригер, при отсутствие пинга должна приходить смс. В 20 последних событиях отображается, что действие выполнено(скрипт отработал). Но смс я не получаю. В логах zabbix не вижу действия на отправку смс. Подскажите в каком направлении стоит искать решение данной проблемы?
  • Zentarim
    Senior Member
    • Mar 2012
    • 526

    #2
    Originally posted by Amicable
    Доброго времени суток. Zabbix 2.2.9 установлен на ubuntu 14.04. Имеется 3г модем. С убунтой после некоторых танцев с бубном модем подружился, для отправки смс используется пакет gammu. Просто из сисмтемы смски уходят без проблем.
    В каталог /usr/lib/zabbix/alertscripts положил скрипт test.sh:
    Code:
    #!/bin/bash
    to=$1
    subject=$2
    body=$3
    echo '$body' | gammu --sendsms TEXT "$to"
    В администрирование->способы оповещения, добавил скрипт test.sh. Создал пробный тригер, при отсутствие пинга должна приходить смс. В 20 последних событиях отображается, что действие выполнено(скрипт отработал). Но смс я не получаю. В логах zabbix не вижу действия на отправку смс. Подскажите в каком направлении стоит искать решение данной проблемы?
    Попробуйте заменить относительные пути на полные. К примеру
    gammu
    на
    /полный/путь/к/gammu

    Comment

    • Amicable
      Junior Member
      • Oct 2015
      • 15

      #3
      Originally posted by zentarim
      Попробуйте заменить относительные пути на полные. К примеру
      gammu
      на
      /полный/путь/к/gammu
      По пробовал, ситуация не изменилась.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        У пользователя заббикс все нужные права имеются? Попробуйте выполнить скрипт от него.

        Comment

        • Amicable
          Junior Member
          • Oct 2015
          • 15

          #5
          Добавил в скрипте запись в лог, появилось вот что:
          Warning: Configuration could not be parsed!
          Warning: No configuration read, using builtin defaults!
          Ошибка открытия устройства: его не существует.

          Гугл подсказал, что gammu не может найти файл настроек.

          gammu ищет настройки по следующим путям:
          $XDG_CONFIG_HOME/gammu/config
          ~/.config/gammu/config
          ~/.gammurc
          /etc/gammurc
          В моем случае настройки для рута в /root/.gammurc . В в etc/passwd посмотрел каталог zabbix. Положил настройки в /var/lib/zabbix/.gammurc . Сменил владельца файла на zabbix. Теперь при запуске пишет: Невозможно открыть указанный файл.
          При sudo -u zabbix ./test.sh сообщение такое же.
          Пробовал chmod 777 на файл настроек и в sudoers добавил zabbix ALL = NOPASSWD:/usr/bin/gammu, толку пока нет.
          Last edited by Amicable; 19-10-2015, 12:32.

          Comment

          • Zentarim
            Senior Member
            • Mar 2012
            • 526

            #6
            Originally posted by Amicable
            Добавил в скрипте запись в лог, появилось вот что:
            Warning: Configuration could not be parsed!
            Warning: No configuration read, using builtin defaults!
            Ошибка открытия устройства: его не существует.

            Гугл подсказал, что gammu не может найти файл настроек.

            gammu ищет настройки по следующим путям:
            $XDG_CONFIG_HOME/gammu/config
            ~/.config/gammu/config
            ~/.gammurc
            /etc/gammurc
            В моем случае настройки для рута в /root/.gammurc . В в etc/passwd посмотрел каталог zabbix. Положил настройки в /var/lib/zabbix/.gammurc . Сменил владельца файла на zabbix. Теперь при запуске пишет: Невозможно открыть указанный файл.
            При sudo -u zabbix ./test.sh сообщение такое же.
            Пробовал chmod 777 на файл настроек и в sudoers добавил zabbix ALL = NOPASSWD:/usr/bin/gammu, толку пока нет.
            А почему бы не сунуть конфиг в
            /etc/gammurc
            ?

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #7
              Originally posted by Amicable
              Добавил в скрипте запись в лог, появилось вот что:
              Warning: Configuration could not be parsed!
              Warning: No configuration read, using builtin defaults!
              Ошибка открытия устройства: его не существует.

              Гугл подсказал, что gammu не может найти файл настроек.

              gammu ищет настройки по следующим путям:
              $XDG_CONFIG_HOME/gammu/config
              ~/.config/gammu/config
              ~/.gammurc
              /etc/gammurc
              В моем случае настройки для рута в /root/.gammurc . В в etc/passwd посмотрел каталог zabbix. Положил настройки в /var/lib/zabbix/.gammurc . Сменил владельца файла на zabbix. Теперь при запуске пишет: Невозможно открыть указанный файл.
              При sudo -u zabbix ./test.sh сообщение такое же.
              Пробовал chmod 777 на файл настроек и в sudoers добавил zabbix ALL = NOPASSWD:/usr/bin/gammu, толку пока нет.
              В /etc/sudoers добавьте пользователя zabbix с соответствующей командой и NOPASSWD

              А почему бы не сунуть конфиг в
              /etc/gammurc
              ?
              Это не даст пользователю прав на доступ к устройству

              Comment

              • Amicable
                Junior Member
                • Oct 2015
                • 15

                #8
                Originally posted by Zentarim
                А почему бы не сунуть конфиг в
                /etc/gammurc
                ?
                По пробовал. Ситуация не изменилась. По моему первоначально конфиг ищется в каталоге по умолчанию. Если удалить из /var/lib/zabbix/ .gammurc, то ошибка возвращается:
                Warning: Configuration could not be parsed!
                Warning: No configuration read, using builtin defaults!
                Ошибка открытия устройства: его не существует.

                По пробовал еще на прямую в скрипте указать файл конфигурации /usr/bin/gammu --config /etc/gammurc/.gammurc --sendsms TEXT
                Так же ругается на Невозможно открыть указанный файл.

                Comment

                • yukra
                  Senior Member
                  • Apr 2013
                  • 1359

                  #9
                  Originally posted by amicable
                  Пробовал chmod 777 на файл настроек и в sudoers добавил zabbix all = nopasswd:/usr/bin/gammu, толку пока нет.
                  Не заметил эту строчку.

                  Как конкретно он теперь ругается?

                  Comment

                  • Amicable
                    Junior Member
                    • Oct 2015
                    • 15

                    #10
                    Originally posted by yukra
                    Не заметил эту строчку.

                    Как конкретно он теперь ругается?
                    Невозможно открыть указанный файл.

                    Решилось добавлением /usr/bin/sudo перед /usr/bin/gammu.
                    Рабочий на данный момент конфиг скрипта, может кому пригодится.
                    Code:
                    #!/bin/bash
                    LOGFILE=/var/log/zabbix/zabbix_sms.log
                    to=$1
                    subject=$2
                    body=$3
                    echo $1 $2 $3 | /usr/bin/sudo /usr/bin/gammu --config /etc/gammurc/.gammurc --sendsms TEXT "$to"  >>${LOGFILE}
                    yukra,Zentarim спасибо за помощь.
                    Last edited by Amicable; 19-10-2015, 13:47.

                    Comment

                    • Zentarim
                      Senior Member
                      • Mar 2012
                      • 526

                      #11
                      Originally posted by Amicable
                      Добавил в скрипте запись в лог, появилось вот что:
                      Warning: Configuration could not be parsed!
                      Warning: No configuration read, using builtin defaults!
                      Ошибка открытия устройства: его не существует.

                      Гугл подсказал, что gammu не может найти файл настроек.

                      gammu ищет настройки по следующим путям:
                      $XDG_CONFIG_HOME/gammu/config
                      ~/.config/gammu/config
                      ~/.gammurc
                      /etc/gammurc
                      В моем случае настройки для рута в /root/.gammurc . В в etc/passwd посмотрел каталог zabbix. Положил настройки в /var/lib/zabbix/.gammurc . Сменил владельца файла на zabbix. Теперь при запуске пишет: Невозможно открыть указанный файл.
                      При sudo -u zabbix ./test.sh сообщение такое же.
                      Пробовал chmod 777 на файл настроек и в sudoers добавил zabbix ALL = NOPASSWD:/usr/bin/gammu, толку пока нет.
                      И, кстати, покажите права на вашу папку zabbix:
                      Code:
                      ls -la /var/lib/ | grep zabbix

                      Comment

                      • Amicable
                        Junior Member
                        • Oct 2015
                        • 15

                        #12
                        Originally posted by Zentarim
                        И, кстати, покажите права на вашу папку zabbix:
                        Code:
                        ls -la /var/lib/ | grep zabbix
                        #ls -la /var/lib/ | grep zabbix
                        drwxr-xr-x 2 root root 4096 окт. 19 12:59 zabbix

                        Comment

                        • yukra
                          Senior Member
                          • Apr 2013
                          • 1359

                          #13
                          Я не знаю как работает gammu, но код выглядит странно.
                          Сначала вы присваиваете именовым переменным значения, полученные из вне, потом значения, полученные из вне передаете на вход gammu, и туда же передаете одну из именовых переменных.

                          Я не говорю что это "не будет работать", но мне кажется что это можно переписать так:
                          Code:
                          #!/bin/bash
                          LOGFILE=/var/log/zabbix/zabbix_sms.log
                          echo $1 $2 $3 | /usr/bin/sudo /usr/bin/gammu --config /etc/gammurc/.gammurc --sendsms TEXT "$1"  >>${LOGFILE}
                          или даже так:
                          Code:
                          #!/bin/bash
                          LOGFILE=/var/log/zabbix/zabbix_sms.log
                          echo $* | /usr/bin/sudo /usr/bin/gammu --config /etc/gammurc/.gammurc --sendsms TEXT "$1"  >>${LOGFILE}

                          Comment

                          • Zentarim
                            Senior Member
                            • Mar 2012
                            • 526

                            #14
                            Originally posted by Amicable
                            #ls -la /var/lib/ | grep zabbix
                            drwxr-xr-x 2 root root 4096 окт. 19 12:59 zabbix
                            Странно, права на чтение вроде есть... Вы ведь эту папку, видимо, руками создали, да? Попробуйте для успокоения совести выполнить
                            Code:
                            chown -R zabbix:zabbix /var/lib/zabbix

                            Comment

                            • Amicable
                              Junior Member
                              • Oct 2015
                              • 15

                              #15
                              Originally posted by Zentarim
                              Странно, права на чтение вроде есть... Вы ведь эту папку, видимо, руками создали, да? Попробуйте для успокоения совести выполнить
                              Code:
                              chown -R zabbix:zabbix /var/lib/zabbix
                              На первой странице, последний пост. Проблема решилась.

                              yukra, вы правы. Оставил так:
                              Code:
                              #!/bin/bash
                              LOGFILE=/var/log/zabbix/zabbix_sms.log
                              echo $2 | /usr/bin/sudo /usr/bin/gammu  --sendsms TEXT "$1" >>${LOGFILE}

                              Comment

                              Working...