Добрый день,
Настроил правила уведомления таким образом чтобы если нода недоступна более 5 мин то приходило уведомление в телеграм. Если нода поднимется ранее чем через 5 мин то уведомление не приходит.
Иногда получаю уведомление что какая-то из нод поднялась. При этом уведомление о том что нода была недоступна не поступает.
Вопрос: я верно настроил правило уведомлений?
второе правило тоже добавляю скриншот
Это парные события, SYS_AGENT_OK должен быть только после SYS_AGENT_UNREACHEABLE. Можно проверить в Event Log по конкретной ноде, какие событие происходили.
У вас во втором правиле на 1 ноду больше, возможно дело в этом. В Event Processing Policy в качестве source object можно указывать не только отдельные ноды, но и контейнеры. Можно сделать специальный контейнер этих целей и даже автоматизировать добавление нод в него с помощью autobind script.
QuoteЭто парные события, SYS_AGENT_OK должен быть только после SYS_AGENT_UNREACHEABLE. Можно проверить в Event Log по конкретной ноде, какие событие происходили.
Так и настраивал
QuoteУ вас во втором правиле на 1 ноду больше, возможно дело в этом.
Для 1 из нод установил период 2 мин для выдачи уведомления и вынес её в отдельное правилоПрикладываю скриншоты журнала событий одной из нод и Скриншот уведомлений телеграм.
Странно все это.
Выглядит, как будто правило номер 3 вообще не сработало и не завело таймер. Можете на всякий случай показать еще то правило EPP которое для одной ноды на 2 минуты и правила номер 1 и 2.
Прикладываю все скриншоты.
правило уведомления 2 и правило уведомления ноды на 2 минуты это одно и тоже (на всякий случай сделал 2 скриншота и подписал).
Создавая правила я старался не изменять те правила что были по дефолту а создавать свои.
Т.е. программа увидела что нода недоступна и записала это в журнал (используя правило 1 что настроено по дефолту). Далее если нода недоступна более 5 мин то тогда уже уведомление в телеграм.
На объекте где расположена одна из нод часто отключался интернет (провайдер вел работы в течении нескольких месяцев). Вот для этой ноды сделал отдельное правило с уведомлением в 2 мин.
Кажется нашел в чем проблема. Проверяю.
Я неверно поставил вопрос.
Конечная цель - настроить правила EPP таким образом чтобы выстроить следующую цепочку:
1. Нода недоступна - запускаем таймер на 5 мин. Уведомление при этом не приходит.
2. Если нода стала доступной менее чем за 5 мин то уведомление не приходит. Если время недоступности ноды составляет более 5 мин то приходит уведомление что нода недоступна.
3. Когда нода поднимается после 5 и более мин недоступности приходит уведомление что нода поднялась.
Пример: на объекте пропал интернет. Через 5 мин пришло уведомление что нода недоступна. Когда интернет починили пришло уведомление что нода поднялась.
Пункты 1-2 смог реализовать. Как прикрутить пункт 3 не знаю.
Есть идеи как настроить такую цепочку правил EPP?
Конфигурация в первом сообщении как раз и соответствовала всем трем пунктам
- когда нода уходит в даун, заводится уведомление с таймером
- если она поднимается раньше, чем через 5 минут, то уведомление не посылается, т.к. таймер еще в силе
- если поднимается через 5+ минут, уведомление посылается, т.к. таймер уже истек
Если что-то работает не так, можно у сервера поднять уровень дебага для определенных тегов:
event.* 7
scheduler 6
и в серверном логе будет информация о том, что происходит в EPP и с таймерами
Исходя из своих экспериментов я сделал вывод что настройка timer cancellation отменяет таймер сразу при наступлении события sys_agent_ok.
Создам 2 новых правила для тестовой ноды и попробую еще раз. Отпишу.
Долго я конечно отписываюсь)
При копировании существующего правила о недоступности нод система сначала призадумалась на пару секунд (была видна загрузка процессора), а потом все же скопировала правило. При попытке зайти в скопированное правило для редактирования выдается ошибка.
Поэтому создал с нуля два правила по конфигурации как в первом сообщении с применением для одной ноды. Эту ноду исключил из всех остальных правил. Протестировал - работает как надо (Скриншот правила прилагаю).
Скоро в это правило добавлю остальные ноды-контейнеры и посмотрю как будет работать
Добавил все ноды на какие требуются уведомления в правило 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 для нод что соединяются с сервером напрямую и отдельные правила для нод что соединяются через прокси-агенты.