Ad Widget

Collapse

Смс через скрипт

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • soveren
    Junior Member
    • Apr 2014
    • 9

    #1

    Смс через скрипт

    Добрый день, zabbix 3.08, centos, gsm-модем (ttys0)
    На сервере всегда работал скрипт на отправку смс через smstools
    Code:
    #!/bin/bash
    to=$1
    subject="$2"
    body="$3"
    /usr/bin/sudo -u smstools /usr/bin/smssend $to  "$subject"
    Он отлично посылает оповещения на одного человека, но когда я вбиваю двух людей смс по прежнему приходит только одному, я добавил строчку в скрипт
    Code:
    echo "1=$1" > /tmp/1.log
    чтобы глянуть что он передаёт в номере телефона и увидел только 1 номер
    Code:
    1=+7916ХХХХХ28
    Собственно вопрос почему заббикс только 1 номер передаёт, когда в оповещениях вбито два человека и как это поправить? Возможно указать вместо {ALERT.SENDTO} что-то другое?

    Сам скрипт в заббиксе


    Вот видно что два человека указано на отправку, первому смс доходят


    Вот тут видно что у второго номер так же вбит
    Last edited by soveren; 16-03-2017, 16:11.
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by soveren
    Он отлично посылает оповещения на одного человека, но когда я вбиваю двух людей смс по прежнему приходит только одному, я добавил строчку в скрипт
    Code:
    echo "1=$1" > /tmp/1.log
    чтобы глянуть что он передаёт в номере телефона и увидел только 1 номер
    Code:
    1=+7916ХХХХХ28

    Собственно вопрос почему заббикс только 1 номер передаёт, когда в оповещениях вбито два человека и как это поправить? Возможно указать вместо {ALERT.SENDTO} что-то другое?
    Потому что ">" нужно заменить на ">>", что бы лог дописывался, а не перезаписывался, и увидите что заббикс запускает ваш скрипт 2 раза для разных пользователей, а не как вы думали "один раз с двумя номерами".

    Скорее всего одно действие выполняется, а второе валиться с ошибкой типа "модем занят", ошибку можно посмотреть в Отчеты - журнал действий.
    Если все действительно, то вам нужно организовывать очередь сообщений, что бы дергать модем по очереди (если пользователей мало, то можно обойтись вызовом flock)

    Comment

    • soveren
      Junior Member
      • Apr 2014
      • 9

      #3
      Originally posted by yukra
      Потому что ">" нужно заменить на ">>", что бы лог дописывался, а не перезаписывался, и увидите что заббикс запускает ваш скрипт 2 раза для разных пользователей, а не как вы думали "один раз с двумя номерами".

      Скорее всего одно действие выполняется, а второе валиться с ошибкой типа "модем занят", ошибку можно посмотреть в Отчеты - журнал действий.
      Если все действительно, то вам нужно организовывать очередь сообщений, что бы дергать модем по очереди (если пользователей мало, то можно обойтись вызовом flock)
      По журналу действий он отправляет только на один номер, и никаких сообщений об ошибке что он пытается отправить на второй
      Last edited by soveren; 16-03-2017, 19:18.

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by soveren
        По журналу действий он отправляет только на один номер, и никаких сообщений об ошибке что он пытается отправить на второй
        Значит что-то не так с действием. У второго пользователя есть права на хост, на котором триггер срабатывает?

        Comment

        • soveren
          Junior Member
          • Apr 2014
          • 9

          #5
          Originally posted by yukra
          Значит что-то не так с действием. У второго пользователя есть права на хост, на котором триггер срабатывает?
          Спасибо большое, проблема была именно в правах.

          Comment

          Working...