DejaVu Posted September 2, 2014 Posted September 2, 2014 Коллеги, добрый :) Проблема, насколько я понял, не новая, но решения я не нашел в поиске. Либо у меня где то ошибка, но я не могу найти и понять где. Либо проблема в исходниках. Зависимости триггеров срабатывают нормально, на дашборде сначала показывает недоступность всех устройств, через минуту-полторы, когда опросит все и проверит зависимости - убирает нижестоящие и показывает только вышестоящий коммутатор. Через 3 минуты - получаю СМС и почту о всех недоступных узлах а потом о всех восстановившихся, что анонит жутко, ибо есть узлы весьма крупные. Есть решение этой проблемы? Не верю, что все мучаются. Такое впечатление, что он при генерации уведомлений тупо не проверяет зависимости. Все что настроено - на картинке. Zabbix 2.2.4 Вставить ник Quote
start200 Posted March 23, 2015 Posted March 23, 2015 (edited) Проблема, насколько я понял, не новая, но решения я не нашел в поиске. Либо у меня где то ошибка, но я не могу найти и понять где. Либо проблема в исходниках. Да, походу все мучаются ... уже читаю 5 форум с аналогичными проблемами без решения. Если кто сталкивался, подскажите в какую сторону копать .... Edited March 23, 2015 by start200 Вставить ник Quote
SergeiK Posted March 24, 2015 Posted March 24, 2015 Дык, у вас же что получается? Что триггер сработал на каком-то коммутаторе, а информации по вышестоящему еще нет! Далее, у вас отрабатывает триггер по вышестоящему и зависимость убирает триггер по нижестоящему. Но! тот-то триггер уже отработал, значит сообщение ушло на отправку! Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Вставить ник Quote
DejaVu Posted March 24, 2015 Author Posted March 24, 2015 Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Это еще и шаблоны разные делать.. а если уровней три и более? Немасштабируемо как-то, костыльно. Тем более что как бы функционал есть, и даже отложенная отсылка уведомлений есть, но не работает. Вставить ник Quote
DDR Posted March 24, 2015 Posted March 24, 2015 Через 3 минуты - получаю СМС и почту о всех недоступных узлах а потом о всех восстановившихся, что анонит жутко, ибо есть узлы весьма крупные. Есть решение этой проблемы? Не верю, что все мучаются. Такое впечатление, что он при генерации уведомлений тупо не проверяет зависимости. Минус патча - ломает дальнейшую эскалацию события. Это баг. Решается патчем из ZBX-4344. Минус патча - ломается дальнейшая эскалация события. diff -Naur zabbix-2.2.6/src/zabbix_server/escalator/escalator.c zabbix-patch/src/zabbix_server/escalator/escalator.c --- zabbix-2.2.6/src/zabbix_server/escalator/escalator.c 2014-08-27 13:07:23.000000000 +0000 +++ zabbix-patch/src/zabbix_server/escalator/escalator.c 2014-10-09 02:46:38.644911081 +0000 @@ -1295,6 +1295,15 @@ } DBfree_result(result); + if(EVENT_OBJECT_TRIGGER == object && FAIL == DCconfig_check_trigger_dependencies(escalation->triggerid)) { + + /* dependencies in problem state? */ + + *error = zbx_dsprintf(*error, "An antecedent trigger of trigger %u is in a problem state\n%s", escalation->triggerid, error); + if(NULL != action) + action->actionid = 0; + } + zabbix_log(LOG_LEVEL_DEBUG, "End of %s() error:'%s'", __function_name, ZBX_NULL2STR(*error)); } Вставить ник Quote
SergeiK Posted March 24, 2015 Posted March 24, 2015 Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Это еще и шаблоны разные делать.. а если уровней три и более? Немасштабируемо как-то, костыльно. Тем более что как бы функционал есть, и даже отложенная отсылка уведомлений есть, но не работает. Ну-у, разные шаблоны не обязательно, думается мне, вполне можно решить вопрос макросом. Но сам не пробовал. Вставить ник Quote
DejaVu Posted March 25, 2015 Author Posted March 25, 2015 Это баг. Решается патчем из ZBX-4344. Минус патча - ломается дальнейшая эскалация события. О, спасбио. Попробую применять. Почитал каменты.. да.. Fundamental bug :) Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.