Ad Widget

Collapse

Отправка оповещения через скрипт

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • saifuddin
    Junior Member
    • Feb 2016
    • 25

    #1

    Отправка оповещения через скрипт

    Всем привет!
    Помогите разобраться в том, что тут не работает.

    Стоит Zabbix 3.0

    Цель:
    При срабатывании тригера отправлять email оповещение через скрипт.


    Что уже сделано:
    1. Настроил скрипт. Локально через терминал он отправляет почту.
    HTML Code:
     cat /usr/lib/zabbix/alertscripts/mail.sh 
    #!/bin/sh
    
    to="$1"
    subject="$2"
    body="$3"
     
    cat <<EOF | mail -s "$subject" "$to"
    $body
    EOF
    2. Настроил пользователя. Стандартный админ в оповещении стоит оповещать через скрипт, указал свою почту и так же отметил отправлять при всех событиях.

    3. Администрирование - способы. Оповещения выключено все, кроме моего скрипта.
    Заходим в этот скрипт:
    Имя Скрипт
    Тип Скрипт
    Имя скрипта mail.sh
    Параметры скрипта пусто


    4. Тригер: Тригер я взял из стандартного шаблона OS LINUX. Он там по дефолту есть.
    {zabbix:system.cpu.load[percpu,avg1].avg(1m)}>5

    изменил 5m на 1m
    Пишет, что он активен, как собственно и сервер и агент заббикса.
    В графиках я вижу скачки процессора, которые происходят на агенте.
    # ==============================

    сейчас я запустил на агенте
    md5sum /dev/urandom
    проц работает на 100 уже больше часа, а оповещения не приходят. В чем подвох, где моя оплошность? Видимо я, что-то упустил и не могу понять, что именно!

    Заранее спасибо за ответы!
  • wolf_ktl
    Junior Member
    • Mar 2016
    • 20

    #2
    Ответ тут https://www.zabbix.com/documentation..._alert_scripts

    Comment

    • saifuddin
      Junior Member
      • Feb 2016
      • 25

      #3
      Originally posted by wolf_ktl
      Большое спасибо!

      Comment

      • saifuddin
        Junior Member
        • Feb 2016
        • 25

        #4
        Originally posted by saifuddin
        Большое спасибо!
        Сразу не удалось проверить. Но вчера под вечер я все ввел в инструкции и ни чего не происходит.

        В скрипте прописал три параметра в веб интерфейсе
        {alert.sendto}
        {alert.subject}
        {alert.message}

        Все как на картинке.

        Сам сприпт, был скопирован с примера в инструкции заббикса. Через консоль, как говорил работает.

        Что еще может быть не так?
        И, как отследить в заббиксе. что отправляет ли вообще заббикс письмо или нет?

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          1) У вас триггер сработал? он поменял статус на "проблема" на странице "Мониторинг - Триггеры"?
          2) На странице "Администрирование - Аудит - Журнал действий" есть записи о попытках отправить сообщения? в каком они статусе?

          Comment

          • pic16f874
            Member
            • Nov 2012
            • 61

            #6
            разбейте задачу на этапы.

            1) сначала сделайте простой скрипт, который будет принимать
            параметры и писать их в лог.

            2) протестируйте его работу из консоли

            3) протестируйте его от пользователя zabbix

            4) когда первые 3 пункта работают пытайтесь запускать скрипт
            из заббикса
            (смотрим логи сервера если не работает)

            5) когда скрипт из заббикса принимает парабетры и пишет в лог
            пытайтесь заменить отправку в лог на отправку е-мэйл

            П.С. у меня было такое что скрипт выполнялся в консоли но не выполнялся из заббикса без сообщений в логах заббикса.
            был неправильно прописан путь к башу в первой строке скрипта.

            Comment

            • saifuddin
              Junior Member
              • Feb 2016
              • 25

              #7
              1. Скрипт написан.
              2. Проверил отправку от имени zabbix
              sudo -uzabbix sh mail.sh mail@ru subject message

              Все пришло.

              3. На счет логов, тут все плохо. В логах сервера нет ни одного упоминания об отправке оповещения. Искал по словам mail.sh, моя почта, логин админа, так же зрительно прошел по логам. Нет там ни слова об этом.

              включил уровень логирования сервера на 5.
              вот что получил.
              grep "mail" ./*
              PHP Code:
              ./zabbix_server.log26072:20160430:014810.771 query [txnlev:0] [select a.alertid,a.mediatypeid,a.sendto,a.subject,a.message,a.status,mt.mediatypeid,mt.type,mt.description,mt.smtp_server,mt.smtp_helo,mt.smtp_email,mt.exec_path,mt.gsm_modem,mt.username,mt.passwd,mt.smtp_port,mt.smtp_security,mt.smtp_verify_peer,mt.smtp_verify_host,mt.smtp_authentication,mt.exec_params,a.retries from alerts a,media_type mt where a.mediatypeid=mt.mediatypeid and a.status=and a.alerttype=0 order by a.alertid
              grep "percpu" ./*
              PHP Code:
              ./zabbix_server.log26063:20160430:015147.258 Sending [system.cpu.load[percpu,avg1]
              ./
              zabbix_server.log26079:20160430:015147.896 In evaluate_function() function:'zabbix:system.cpu.load[percpu,avg1].avg(1m)'
              ./zabbix_server.log26061:20160430:015148.258 In substitute_key_macros() data:'system.cpu.load[percpu,avg5]'
              ./zabbix_server.log26061:20160430:015148.258 End of substitute_key_macros():SUCCEED data:'system.cpu.load[percpu,avg5]'
              ./zabbix_server.log26061:20160430:015148.258 In get_value() key:'system.cpu.load[percpu,avg5]'
              ./zabbix_server.log26061:20160430:015148.258 In get_value_agent() host:'zabbix' addr:'127.0.0.1' key:'system.cpu.load[percpu,avg5]' conn:'unencrypted' 
              Вот, только это я смог выявить в логах

              Comment

              • saifuddin
                Junior Member
                • Feb 2016
                • 25

                #8
                да, так же в Отчеты - Оповещения

                Нет упоминания о том, что были отправлены оповещения.

                Comment

                • yukra
                  Senior Member
                  • Apr 2013
                  • 1359

                  #9
                  Originally posted by saifuddin
                  да, так же в Отчеты - Оповещения

                  Нет упоминания о том, что были отправлены оповещения.
                  у вас триггер то в состояние "Проблема" переходит?

                  Comment

                  • saifuddin
                    Junior Member
                    • Feb 2016
                    • 25

                    #10
                    Создал еще одного пользователя.
                    И добавил его в администраторы.

                    До, этого был только один пользователь Супер-Администратор. И на него не приходят почему-то оповещения. А, вот на нового приходят сразу. И, без проблем.

                    Так и должно быть?
                    Я про то, что на супер администратора ни чего не приходит.

                    Comment

                    • saifuddin
                      Junior Member
                      • Feb 2016
                      • 25

                      #11
                      да, тригеры переходят в состояния. Это сразу видно в заббиксе.

                      Comment

                      Working...