Настройка уведомлений

Started by TOLeg, August 10, 2020, 05:08:58 PM

Previous topic - Next topic

TOLeg

Как добавить в уведомление по эл.почте значение из метрики?
По документации есть возможность получить значение из скрипта и передать в тексте сообщения указав имя скрипта.

%[name] - Value returned by script. You should specify name of the script from script library.

Все отлично работает когда нода онлайн, но если нода выключается/включается или выключена, то скрипт (определение модели принтера) не получает значение по SNMP.
При выключенной ноде работа возможно только с атрибутами (sysDecription, sysName, ipAddr ......).

Есть вариант создать произвольный атрибут ноды (записать модель) и его передавать в текст сообщения, но по метрике уже есть данные. Как их считать и передать в текст сообщения.

Может что-то из этого поможет, но освоить не удалось?
%{name} Value of custom attribute.
%(name) Value of input field.
%<name> Parameter with given name.

Прошу помощи.







Filipp Sudanov

Если это то значение, по которому срабатывает threshold, то посмотрите в Event Configuration параметры события SYS_THRESHOLD_REACHED - там где-то есть текущее значение.

Если же просто нужно получить значение какого-то DCI, то это можно сделать из скрипта:
GetDCIValue($node, FindDCIByName($node, "DCI_NAME"))


TOLeg

То что нужно. - GetDCIValue($node, FindDCIByName($node, "DCI_NAME"))
Большой спасиб Filipp Sudanov!!! :)

А подскажите еще, как вставить гиперссылку в текст сообщения-уведомления?


Victor Kirhenshtein

Quote from: TOLeg on August 11, 2020, 07:15:15 AM
То что нужно. - GetDCIValue($node, FindDCIByName($node, "DCI_NAME"))

Небольшой комментарий - два вложенных вызова можно упростить до GetDCIValueByName($node, "DCI_NAME")

Filipp Sudanov

При отправке е-мейла из экшна сейчас html не поддерживается. Есть мысли переделать отправку е-мейлов объединив их с notification channels, тогда наверняка будет добавлена и возможность слать html.

Но, в 3.4.284 была добавлена NXSL функция
SendMail("[email protected]", "My subject", "My text", false);
и вот она умеет слать письма в html, если последний параметр поставить в true.
Можно сделать script action и через него слать е-мейлы.

TOLeg

#5
Функцию протестировал. Работает все отлично!!!
:) :) :)

Filipp Sudanov

Документация по NXSL сейчас постепенно переезжает сюда: https://www.netxms.org/documentation/nxsl-latest/#func-sendmail

Я так понимаю, что емейл в этом случае должен быть полноценным html документом, вот например: https://litmus.com/community/snippets/107-a-basic-html-email-boilerplate

Ссылки указываются с <link href=...