Настроен способ оповещения через скрипт. В действиях на срабатывание триггера важностью выше предупреждения, заббикс обращается к баш-скрипту, вываливая в него параметры события (описание тригера, значение элемента данных и т.п.) скрипт свою очередь отправляет эти данные url-кой в сервис деск, (командой curl) где создается заявка. Все это отлично работает. Но есть косяки когда в значениях элементов данных или в описании триггера попадается "\" то он не печатается в сервис деске, а если попадаются нестрогие кавычки " то заявка в сервис деске вообще не создается. я понимаю это спец символы и их нужно как-то экранировать. Но где это сделать я не смог найти.
Скриптам, который на баше править бесполезно. дело в том что когда заббикс обращается к этому скрипту у текст, который обрабатывается этим скриптом , скорее всего, уже без этих спец символов. причину видимо нужно искать в php-ных скриптах где указать, чтобы описание проблемы и значения ЭД были заключены в строгие кавычки. в инете ничего найти по этому поводу не смог.
Приведу то что в действиях прописано:
и то что в скрипте:
Скриптам, который на баше править бесполезно. дело в том что когда заббикс обращается к этому скрипту у текст, который обрабатывается этим скриптом , скорее всего, уже без этих спец символов. причину видимо нужно искать в 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 -v -H "Accept: application/json" -H "Content-type: application/json"\
-X POST -d '{"user_mail":"'"$1"'", "subject":"'"$2"'", "message":"'"$message"'"
}' \
http://servicedesk/devices/alert
Comment