Ad Widget

Collapse

Вопрос по способам оповещения по события

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • testik777
    Member
    • Dec 2014
    • 31

    #1

    Вопрос по способам оповещения по события

    Настроен способ оповещения через скрипт. В действиях на срабатывание триггера важностью выше предупреждения, заббикс обращается к баш-скрипту, вываливая в него параметры события (описание тригера, значение элемента данных и т.п.) скрипт свою очередь отправляет эти данные url-кой в сервис деск, (командой curl) где создается заявка. Все это отлично работает. Но есть косяки когда в значениях элементов данных или в описании триггера попадается "\" то он не печатается в сервис деске, а если попадаются нестрогие кавычки " то заявка в сервис деске вообще не создается. я понимаю это спец символы и их нужно как-то экранировать. Но где это сделать я не смог найти.
    Скриптам, который на баше править бесполезно. дело в том что когда заббикс обращается к этому скрипту у текст, который обрабатывается этим скриптом , скорее всего, уже без этих спец символов. причину видимо нужно искать в php-ных скриптах где указать, чтобы описание проблемы и значения ЭД были заключены в строгие кавычки. в инете ничего найти по этому поводу не смог.
    Приведу то что в действиях прописано:
    Code:
    {HOST.NAME} : {TRIGGER.NAME}|||||
    http://servicedesk/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}
    Описание проблемы:
    {TRIGGER.DESCRIPTION}
    Значения проблемы:
    {ITEM.NAME1} ({ITEM.KEY1}): {ITEM.VALUE1}
    и то что в скрипте:
    PHP Code:
    #!/bin/bash
    FORM_message=$3
    message
    ="${FORM_message//$'\n'/<br>}"
    message="${message//$'\r'/ }"
    message="${message//$'\t'/ }"
    curl --"Accept: application/json" -"Content-type: application/json"\
     -
    X POST -'{"user_mail":"'"$1"'", "subject":"'"$2"'", "message":"'"$message"'"
    }' 
    \
    http://servicedesk/devices/alert 
  • aib
    Senior Member
    • Jan 2014
    • 1615

    #2
    Попробуйте в php скрипт добавить "отладочный" вывод в файл, чтобы понять - а сообщение до скрипта доходит целиком или уже без \ и " ?
    Sincerely yours,
    Aleksey

    Comment

    • testik777
      Member
      • Dec 2014
      • 31

      #3
      А какой php-ный скрипт в заббиксе обращается к скрипту из действий?

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Никакой. Фронтенд не занимается процессуальными вопросами.

        Comment

        • testik777
          Member
          • Dec 2014
          • 31

          #5
          а в какой скрипт я должен добавить вывод в файл? в башовский я смысла не вижу добавлять, если я добавлю строку вида
          Code:
          echo $message > файл
          Ту уже просто при выводе команды echo \ и "" пропадают.

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Сходу только могу предложить попробовать в описании триггера заменить \ -> \\ и " -> \". Правда, это не выправит ситуации со спецсимволами в значениях элементов данных, но тут уж нужно смотреть cи-код самого заббикса...

            Comment

            • aib
              Senior Member
              • Jan 2014
              • 1615

              #7
              Originally posted by testik777
              а в какой скрипт я должен добавить вывод в файл? в башовский я смысла не вижу добавлять, если я добавлю строку вида
              Code:
              echo $message > файл
              Ту уже просто при выводе команды echo \ и "" пропадают.
              Вот про башевский скрипт я и говорил.
              Если у вас даже входные данные не могут быть правильно обработаны - какая магия позволит их "пропихнуть" в такую-же текстовую строку дальше?

              Я не знаю, как вам помочь.
              Sincerely yours,
              Aleksey

              Comment

              Working...