Отмена уведомления при кратковременном отключении ноды

Started by Stanislav, January 30, 2023, 02:22:17 PM

Previous topic - Next topic

Stanislav

Добрый день,
Настроил правила уведомления таким образом чтобы если нода недоступна более 5 мин то приходило уведомление в телеграм. Если нода поднимется ранее чем через 5 мин то уведомление не приходит.

Иногда получаю уведомление что какая-то из нод поднялась. При этом уведомление о том что нода была недоступна не поступает.

Вопрос: я верно настроил правило уведомлений?

Stanislav


Filipp Sudanov

Это парные события, SYS_AGENT_OK должен быть только после SYS_AGENT_UNREACHEABLE. Можно проверить в Event Log по конкретной ноде, какие событие происходили.

У вас во втором правиле на 1 ноду больше, возможно дело в этом. В Event Processing Policy в качестве source object можно указывать не только отдельные ноды, но и контейнеры. Можно сделать специальный контейнер этих целей и даже автоматизировать добавление нод в него с помощью autobind script.

Stanislav

#3
QuoteЭто парные события, SYS_AGENT_OK должен быть только после SYS_AGENT_UNREACHEABLE. Можно проверить в Event Log по конкретной ноде, какие событие происходили.
Так и настраивал


QuoteУ вас во втором правиле на 1 ноду больше, возможно дело в этом.

Для 1 из нод установил период 2 мин для выдачи уведомления и вынес её в отдельное правило


Прикладываю скриншоты журнала событий  одной из нод и Скриншот уведомлений телеграм.

Filipp Sudanov

Странно все это.

Выглядит, как будто правило номер 3 вообще не сработало и не завело таймер. Можете на всякий случай показать еще то правило EPP которое для одной ноды на 2 минуты и правила номер 1 и 2.

Stanislav

Прикладываю все скриншоты.
правило уведомления 2 и правило уведомления ноды на 2 минуты это одно и тоже (на всякий случай сделал 2 скриншота и подписал).

Stanislav

#6
Создавая правила я старался не изменять те правила что были по дефолту а создавать свои.
Т.е. программа увидела что нода недоступна и записала это в журнал (используя правило 1 что настроено по дефолту). Далее если нода недоступна более 5 мин то тогда уже уведомление в телеграм.

На объекте где расположена одна из нод часто отключался интернет (провайдер вел работы в течении нескольких месяцев). Вот для этой ноды сделал отдельное правило с уведомлением в 2 мин.

Stanislav


Stanislav

Я неверно поставил вопрос.

Конечная цель - настроить правила EPP таким образом чтобы выстроить следующую цепочку:
1. Нода недоступна - запускаем таймер на 5 мин. Уведомление при этом не приходит.
2. Если нода стала доступной менее чем за 5 мин то уведомление не приходит. Если время недоступности ноды составляет более 5 мин то приходит уведомление что нода недоступна.
3. Когда нода поднимается после 5 и более мин недоступности приходит уведомление что нода поднялась.

Пример: на объекте пропал интернет. Через 5 мин пришло уведомление что нода недоступна. Когда интернет починили пришло уведомление что нода поднялась.

Пункты 1-2 смог реализовать. Как прикрутить пункт 3 не знаю.

Есть идеи как настроить такую цепочку правил EPP?

Filipp Sudanov

Конфигурация в первом сообщении как раз и соответствовала всем трем пунктам
- когда нода уходит в даун, заводится уведомление с таймером
- если она поднимается раньше, чем через 5 минут, то уведомление не посылается, т.к. таймер еще в силе
- если поднимается через 5+ минут, уведомление посылается, т.к. таймер уже истек

Если что-то работает не так, можно у сервера поднять уровень дебага для определенных тегов:

event.* 7
scheduler 6

и в серверном логе будет информация о том, что происходит в EPP и с таймерами

Stanislav

Исходя из своих экспериментов я сделал вывод что настройка timer cancellation отменяет таймер сразу при наступлении события sys_agent_ok.

Stanislav

Создам 2 новых правила для тестовой ноды и попробую еще раз. Отпишу.

Stanislav

#12
Долго я конечно отписываюсь)
При копировании существующего правила о недоступности нод система сначала призадумалась на пару секунд (была видна загрузка процессора), а потом все же скопировала правило. При попытке зайти в скопированное правило для редактирования выдается ошибка.


Поэтому создал с нуля два правила по конфигурации как в первом сообщении с применением для одной ноды. Эту ноду исключил из всех остальных правил. Протестировал - работает как надо (Скриншот правила прилагаю).

Скоро в это правило добавлю остальные ноды-контейнеры и посмотрю как будет работать

Stanislav

Добавил все ноды на какие требуются уведомления в правило event processing policy как в первом сообщении. Протестировал... и снова получил уведомление когда нода стала доступна менее чем через 5 мин.

Тут важный момент: я использую прокси-агенты.
К примеру указанный сервер Мода сервер AD является прокси-агентом. Нода Мода сервер 1С подключена к серверу netxms через прокси-агент Мода сервер AD.
Так вот при пропадании интернета менее 5 мин и его возобновлении я получаю уведомление о том что сервер Мода сервер 1с в сети. При этом уведомления от ноды Мода сервер AD не поступает как и положено.

Я проверил журнал событий ноды Мода сервер 1с и обнаружил что при пропадании интернета на этой ноде формируется событие SYS_NODE_UNREACHABLE. При возобновлении интернета формируется событие SYS_AGENT_OK. То есть для этой ноды что связана с сервером netxms через прокси-агент не было события
SYS_AGENT_UNREACHABLE а при возобновлении связи было событие  SYS_AGENT_OK. Поэтому netxms и уведомляет при кратковременном обрыве соединения (до 5 мин) что эта нода стала доступна.

Вот думаю что с этим делать. Пока из мыслей сделать правила event processing policy для нод что соединяются с сервером напрямую и отдельные правила для нод что соединяются через прокси-агенты.