Отладка скриптов в Event Processing Policy
-
Здравствуйте.
Столкнулся с небольшой трудностью в настройке.
Условия задачи:
Есть сервер NetXMS - A, он подключен через vpn шлюз B к сети с узлами C,D,E,F,G...
В объектах создан контейнер В1, содержащий узлы CDEFG.
Необходимо обрабатывать события таким образом, чтобы при падении шлюза В, не генерировались алармы от C,D,E,F,G.Решение:
- Создаю Situation "VpnBStatus".
- В Event Processing Policy создаю правило, которое, при получении SYS_NODE_DOWN от шлюза В, выставляет атрибут "status" в "down" для instance B.
- В Event Processing Policy создаю правило, которое, при получении SYS_NODE_UP от шлюза В, выставляет атрибут "status" в "up" для instance B.
- В Event Processing Policy создаю правило, которое, при получении SYS_NODE_DOWN от контейнера В1, выполняет скрипт
s = FindSituation("VPNBStatus", "B"); if (s != NULL) { if (s->status == "down") return false; // Don't match rule } return true; // Match ruleВыставляю в опциях "Stop processing"
Отключаю vpn шлюз В и жду. После появления аларма от шлюза В, алармы от CDEFG все равно генерируются. Как буд-то скрипт не выполняется. Существует ли инструмент отладки?
И, до кучи. Алармы от узлов удаленной сети CDEFG начинают генерироваться раньше, чем от шлюза В. Как это исправить? Выставлял разные периоды опроса состояния(для В меньше, для CDEFG больше), не помогает.
Спасибо.
-
Nastroeno vrode vse pravil'no. Pohoze problema imenno v tom, chto snachala oprashivajutsja uzli za vpn gateway'em, a potom on sam. Vlijat' na porjadok oprosa osobo nel'zja. Ja podumaju chto s etim mozno sdelat'.
Dlja otladki scriptov mozno ispol'zovat' funkciju trace - ona vivodit soobschenie v log servera. Format takoj:
trace(debug_level, message)
Esli debug level 0, to budet generitsja INFO message.
Privedennij vishe script s trace'ami mozet vigljadet' tak:
s = FindSituation("VPNBStatus", "B"); if (s != NULL) { trace(0, "Situation instance found, status=" . s->status); if (s->status == "down") return false; // Don't match rule } else { trace(0, "Situation instance not found"); } return true; // Match rule -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login