Приветствую,
Решил поделиться своими изысканиями по теме. Может кому понадобится. Если уже было - прошу прощения.
Захотелось мне, чтоб в соответствии с "важностью" (severity) триггера/события, в сообщении текст отображался нужным цветом, как в вебморде. К сожалению с "темой" сообщения никакие манипуляции с форматированием невозможны, кроме вставки юникод-символов (и то не везде работает). Так что осталось только "тело".
Встроенный способ оповещения "e-mail" не позволяет использовать html формат в сообщении, поэтому пользуюсь способом "script" для запуска внешней программы (у меня nbsmtp).
С помощью скрипта добавляю в сообщение заголовок: Content-Type: text/html; charset="UTF-8". Теперь можно использовать html теги в шаблоне сообщения в настройках оповещений.
Для условного форматирования, после непродолжительных блужданий по поисковикам и открытия для себя css
, использовал селекторы атрибутов.
Получился примерно такой код:
Как это выглядит, можно посмотреть здесь.
Выглядит как бы похоже на то, что я хотел. Допилил весь шаблон сообщения, проверил в thunderbird'е - все работает! Но...
На работе у нас MS Outlook, который селекторы не понимает совсем.
Подумал и переделал в это:
Такое Outlook понимает. Ура!
P.S. Где-то на форуме уже было, но на всякий выкладываю скрипт для отправки сообщений с помощью nbsmtp (пути к файлам из freebsd):
Скрипт поместить в папку etc/zabbix4/zabbix/alertscripsts/ Создать "способ оповещения" (Media type) типа "script", указать там имя скрипта (только имя!) и добавить параметры {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} именно в таком порядке. Добавить этот тип оповещения в настройках пользователя, которого будем оповещать.
P.P.S. MS Outlook не понимает селекторы css начиная с версии 2007. Outlook 2003 их еще понимает.
Решил поделиться своими изысканиями по теме. Может кому понадобится. Если уже было - прошу прощения.
Захотелось мне, чтоб в соответствии с "важностью" (severity) триггера/события, в сообщении текст отображался нужным цветом, как в вебморде. К сожалению с "темой" сообщения никакие манипуляции с форматированием невозможны, кроме вставки юникод-символов (и то не везде работает). Так что осталось только "тело".
Встроенный способ оповещения "e-mail" не позволяет использовать html формат в сообщении, поэтому пользуюсь способом "script" для запуска внешней программы (у меня nbsmtp).
С помощью скрипта добавляю в сообщение заголовок: Content-Type: text/html; charset="UTF-8". Теперь можно использовать html теги в шаблоне сообщения в настройках оповещений.
Для условного форматирования, после непродолжительных блужданий по поисковикам и открытия для себя css
, использовал селекторы атрибутов.Получился примерно такой код:
HTML Code:
<style> [severity="0"]{ background-color: #97aab3; padding: 0.5px 3px; color: black; } [severity="1"]{ background-color: #7499ff; padding: 0.5px 3px; color: darkblue; } [severity="2"]{ background-color: #ffc859; padding: 0.5px 3px; color: blue; } [severity="3"]{ background-color: #ffa059; padding: 0.5px 3px; color: darkgreen; } [severity="4"]{ background-color: #e97659; padding: 0.5px 3px; color: white; } [severity="5"]{ background-color: #e45959; padding: 0.5px 3px; color: yellow; } </style> ... Problem: <span severity="{EVENT.NSEVERITY}">{HOST.NAME}: {EVENT.NAME}</span> ...
Выглядит как бы похоже на то, что я хотел. Допилил весь шаблон сообщения, проверил в thunderbird'е - все работает! Но...
На работе у нас MS Outlook, который селекторы не понимает совсем.

Подумал и переделал в это:
HTML Code:
<style> .severity0 { background-color: #97aab3; padding: 0.5px 3px; color: black; } .severity1 { background-color: #7499ff; padding: 0.5px 3px; color: darkblue; } .severity2 { background-color: #ffc859; padding: 0.5px 3px; color: blue; } .severity3 { background-color: #ffa059; padding: 0.5px 3px; color: darkgreen; } .severity4 { background-color: #e97659; padding: 0.5px 3px; color: white; } .severity5 { background-color: #e45959; padding: 0.5px 3px; color: yellow; } </style> ... Problem: <b><span class="severity{EVENT.NSEVERITY}">{HOST.NAME}: {EVENT.NAME}</span></b> ...
P.S. Где-то на форуме уже было, но на всякий выкладываю скрипт для отправки сообщений с помощью nbsmtp (пути к файлам из freebsd):
Code:
#!/bin/sh export [email protected] export zabbixmailto="$1" export zabbixsubject="$2" export zabbixbody="$3" export smtpserver=smtp.mydomain.ru export [email protected] export smtppass=password export hellomsg=zabbix-server01 echo "From: \"Zabbix Server\" <$smtpmailfrom>" > /tmp/zabbixmail echo "To: $zabbixmailto" >> /tmp/zabbixmail echo "Subject: ""$zabbixsubject" >> /tmp/zabbixmail echo "MIME-Version: 1.0" >> /tmp/zabbixmail echo "Content-Type: text/html; charset=\"UTF-8\"" >> /tmp/zabbixmail echo "" >> /tmp/zabbixmail echo "$zabbixbody" >> /tmp/zabbixmail /usr/local/bin/nbsmtp -V -N -n -M c -S -d $hellomsg -f $smtpmailfrom -h $smtpserver -U $smtplogin -P $smtppass < /tmp/zabbixmail rm -f /tmp/zabbixmail
P.P.S. MS Outlook не понимает селекторы css начиная с версии 2007. Outlook 2003 их еще понимает.

Comment