Что-то типа GetEventObjectByName?

Started by slako, March 16, 2016, 01:00:30 PM

Previous topic - Next topic

slako

Есть DCI у которого в порогах прописан скрипт который высчитывает % между предыдущим и новым значением и в зависимости от полученного значения возвращает маркер для создания эвента когда это необходимо. Все нормально работает. Но вот хотелось бы как-то еще передавать предыдущее значение в сообщение эвента.  Не нашел ничего похожего на что-то типа GetEventObjectByName чтобы в скрипте нужному эвенту подменить сообщение через SetEventParameter.
Пороговый скрипт такой:
mbytes = $1;
inst = $dci->instance;
previous_mbytes = GetDCIValueByDescription($node,"MSSQL database mbytes size (".inst.")");
if(previous_mbytes == null)
return 0;
diffpercent = ((mbytes*100)/previous_mbytes)-100;
if(diffpercent <=-10)
return -1;
return 0;

Tatjana Dubrovica

Можно добавить генерацию эвента в сам скрипт:  https://wiki.netxms.org/wiki/NXSL:PostEvent
В таком случае возможно подать столько параметров сколько нужно.
Способа задать параметр в скрипте для эвента я не знаю. В момент выполнения скрипта эвента ещё не существует - он будет создан или нет по результату выполнения кода.

slako

Ага, спасибо, так и выкрутился!