DejaVu Опубликовано 2 сентября, 2014 · Жалоба Коллеги, добрый :) Проблема, насколько я понял, не новая, но решения я не нашел в поиске. Либо у меня где то ошибка, но я не могу найти и понять где. Либо проблема в исходниках. Зависимости триггеров срабатывают нормально, на дашборде сначала показывает недоступность всех устройств, через минуту-полторы, когда опросит все и проверит зависимости - убирает нижестоящие и показывает только вышестоящий коммутатор. Через 3 минуты - получаю СМС и почту о всех недоступных узлах а потом о всех восстановившихся, что анонит жутко, ибо есть узлы весьма крупные. Есть решение этой проблемы? Не верю, что все мучаются. Такое впечатление, что он при генерации уведомлений тупо не проверяет зависимости. Все что настроено - на картинке. Zabbix 2.2.4 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
start200 Опубликовано 23 марта, 2015 (изменено) · Жалоба Проблема, насколько я понял, не новая, но решения я не нашел в поиске. Либо у меня где то ошибка, но я не могу найти и понять где. Либо проблема в исходниках. Да, походу все мучаются ... уже читаю 5 форум с аналогичными проблемами без решения. Если кто сталкивался, подскажите в какую сторону копать .... Изменено 23 марта, 2015 пользователем start200 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergeiK Опубликовано 24 марта, 2015 · Жалоба Дык, у вас же что получается? Что триггер сработал на каком-то коммутаторе, а информации по вышестоящему еще нет! Далее, у вас отрабатывает триггер по вышестоящему и зависимость убирает триггер по нижестоящему. Но! тот-то триггер уже отработал, значит сообщение ушло на отправку! Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DejaVu Опубликовано 24 марта, 2015 · Жалоба Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Это еще и шаблоны разные делать.. а если уровней три и более? Немасштабируемо как-то, костыльно. Тем более что как бы функционал есть, и даже отложенная отсылка уведомлений есть, но не работает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DDR Опубликовано 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)); } Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SergeiK Опубликовано 24 марта, 2015 · Жалоба Что делать? Делать надо, чтоб триггер нижестоящих всегда отрабатывал позже вышестоящего коммутатора. Например, если частота опроса доступности одинакова для вышестоящих и нижестоящих, что триггер на выщестоящий поставить на недоступность 2-х последних опросов, а триггер нижестоящих - при недоступности 3-х последних опрсов. Тогда вышестоящий триггер всегда будет раньше. Это еще и шаблоны разные делать.. а если уровней три и более? Немасштабируемо как-то, костыльно. Тем более что как бы функционал есть, и даже отложенная отсылка уведомлений есть, но не работает. Ну-у, разные шаблоны не обязательно, думается мне, вполне можно решить вопрос макросом. Но сам не пробовал. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
DejaVu Опубликовано 25 марта, 2015 · Жалоба Это баг. Решается патчем из ZBX-4344. Минус патча - ломается дальнейшая эскалация события. О, спасбио. Попробую применять. Почитал каменты.. да.. Fundamental bug :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...