Ad Widget

Collapse

Помогите новичку!

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Arthur_Drag
    Junior Member
    • Aug 2017
    • 3

    #1

    Помогите новичку!

    Здравствуйте уважаемые знатоки!
    Есть у меня определённая проблема, с которой к вам и обращаюсь.
    Входные данные:
    Zabbix 3.0 установлен на FreeBSD 11.0
    Бот для telegram, который отправляет сообщение при переходе по ссылке.
    Что я хочу от этого получить:
    Я хочу, чтобы при срабатывании триггера, мне в телеграм приходило сообщение.
    Что я для этого сделал:
    1. Написал небольшой баш скриптик, который выглядит вот так:

    Code:
    #!/bin/bash
    
    to=$1
    subject=$2
    body=$3
    
    wget -O /dev/null "http://crierbot.appspot.com/$to/send?message=Subj: $subject || Message:$body"
    и разрешил его выполнение (chmod +x)
    2. В кофиге заббикса в переменной "AlertScriptsPath" указал путь к папке с этим скриптом
    3. На странице Администрирование > Способы оповещения добавил способ оповещения "Telegram" с указанием названия созданного ранее скрипта.
    4. На странице Администрирование > Пользователи, во вкладке Оповещения добавил к своему пользователю способ оповещения, и в соответствующую графу вставил токен, который по идеи должен подставляться в переменную $1, если я всё правильно понял.
    5. Создал соответствующие событие и триггер.
    И казалось бы, всё должно получиться, но:
    Триггер отрабатывает, а сообщения не приходит, хотя если зайти и посмотреть на страничку: Отчёты > Журнал действий, то действие создаётся и статус у него: "Отправлено".

    PS Если запустить скрипт из командной строки, предварительно вместо $1, $2 и $3 подставив значения ручками, то сообщение приходит.
  • dmash
    Junior Member
    • Mar 2016
    • 3

    #2
    Originally posted by Arthur_Drag
    Здравствуйте уважаемые знатоки!
    Есть у меня определённая проблема, с которой к вам и обращаюсь.
    Входные данные:
    Zabbix 3.0 установлен на FreeBSD 11.0
    Бот для telegram, который отправляет сообщение при переходе по ссылке.
    Что я хочу от этого получить:
    Я хочу, чтобы при срабатывании триггера, мне в телеграм приходило сообщение.
    Что я для этого сделал:
    1. Написал небольшой баш скриптик, который выглядит вот так:

    Code:
    #!/bin/bash
    
    to=$1
    subject=$2
    body=$3
    
    wget -O /dev/null "http://crierbot.appspot.com/$to/send?message=Subj: $subject || Message:$body"
    и разрешил его выполнение (chmod +x)
    2. В кофиге заббикса в переменной "AlertScriptsPath" указал путь к папке с этим скриптом
    3. На странице Администрирование > Способы оповещения добавил способ оповещения "Telegram" с указанием названия созданного ранее скрипта.
    4. На странице Администрирование > Пользователи, во вкладке Оповещения добавил к своему пользователю способ оповещения, и в соответствующую графу вставил токен, который по идеи должен подставляться в переменную $1, если я всё правильно понял.
    5. Создал соответствующие событие и триггер.
    И казалось бы, всё должно получиться, но:
    Триггер отрабатывает, а сообщения не приходит, хотя если зайти и посмотреть на страничку: Отчёты > Журнал действий, то действие создаётся и статус у него: "Отправлено".

    PS Если запустить скрипт из командной строки, предварительно вместо $1, $2 и $3 подставив значения ручками, то сообщение приходит.
    Владельцем скрипта должен быть пользователь zabbix
    Делайте по этой инструкции все работает только скрипт подкорректировать под новую версию

    Comment

    • Arthur_Drag
      Junior Member
      • Aug 2017
      • 3

      #3
      Originally posted by dmash
      Владельцем скрипта должен быть пользователь zabbix
      Делайте по этой инструкции все работает только скрипт подкорректировать под новую версию
      http://djvn.sk/zbxtlgrm/
      Спасибо вам за отклик, сделал всё как по инструкции, но с небольшими изменениями:
      1. Не стал менять путь к скрипту, т.к. путь указан в переменной "AlertScriptsPath" в конфиге заббикса.
      2. Вначале скрипта вместо #!bin/bash сделал #!bin/sh иначе скрипт не выполнялся из командной строки.
      И после всех этих манипуляций... ничего не изменилось... по прежнему сообщения не отправляется, не смотря на то, что из командной строки всё отправляется нормально...

      Comment

      • Arthur_Drag
        Junior Member
        • Aug 2017
        • 3

        #4
        Проблема решилась!

        проблема была всё таки в скрипте.
        Решение:

        Code:
        #!/bin/sh
        
        to="$1"
        subject="$2"
        body="$3"
        
        /usr/local/bin/wget -O /dev/null "http://crierbot.appspot.com/$to/send?message=Subj: $subject || Message:$body"
        Актуально только для freebsd.
        Не повторяйте моих ошибок.

        Comment

        Working...