3 Зависимости триггеров

Обзор

Временами доступность одного узла сети зависит от другого. Сервер, который находится за каким-нибудь роутером будет недоступным, если сам роутер станет недоступным. При наличии настроенных триггеров на обоих устройствах, вы можете получить оповещения сразу для обоих недоступных узлов сети - в то время как виноват только роутер.

В этом случае некоторая зависимость между узлами сети может оказаться очень полезной. С наличием зависимости, набор оповещений о зависимых проблемах, может быть не отправлен и будет отправлено только одно оповещение о корне проблемы.

Хотя Zabbix не поддерживает зависимости между узлами сети напрямую, с другой стороны они могут быть заданы с помощью другого более гибкого метода - зависимостями между триггерами. Триггер может иметь один или более триггеров зависимых от него.

Таким образом в нашем простом примере мы откроем форму настройки триггера и укажем этому триггеру зависимость от триггера роутера. При такой зависимости зависящий триггер сервера от триггера роутера не изменит своё состояние пока триггер роутера находится в состоянии 'Проблема' - и следовательно зависимые действия не будут предприняты и оповещения не будут отправлены.

Если и сервер, и роутер станут недоступными и зависимость будет настроена, Zabbix не выполнит действия для зависимого триггера.

Действия на зависимые триггера не будут выполнены, если триггер от которого они зависят:

  • меняет свое состояние с 'ПРОБЛЕМА' на 'НЕИЗВЕСТНО'
  • закрыт при помощи функций связанных со временем
  • решен значением эдемента данных, который не участвует в зависимом триггере
  • деактивирован, имеет деактивированный элемент данных или узел сети элемента данных деактивирован

Обратите внимание, что "второй" (зависимый) триггер в вышеупомянутых случаях не будет обновлён моментально.

Также:

  • Зависимость триггера может быть добавлена от любого триггера узла сети к триггеру любого другого узла сети, пока это не приведет к циклической зависимости.
  • Зависимость триггера может быть добавлена от шаблона к шаблону. Если триггер из шаблона А зависит от триггера из шаблона B, то шаблон A может быть соединен с узлом сети (или с другим шаблоном) только вместе с шаблоном B, но шаблон B может быть соединен с узлом сети (или с другим шаблоном) в одиночку.
  • Зависимость триггера может быть добавлена от шаблонного триггера к триггеру узла сети. В этом случае, соединение шаблона с узлом сети создаст триггер у узла сети, который будет зависеть от такого же триггера, что и шаблонный триггер. Это позволяет, например, иметь шаблон, в котором некоторые триггеры зависят от триггеров роутера (узла сети). Все узлы сети соединенные с этим шаблоном будут зависеть от этого конкретного роутера.
  • Зависимость триггера узла сети от шаблонного триггера не может быть добавлена.

Настройка

Для того чтобы задать зависимость, откройте форму настройки триггера. Далее нажмите на Добавить в 'Новая зависимость' и выберите один или несколько триггеров от которых будет зависеть наш триггер.

Нажмите Сохранить. Теперь триггер имеет в списке индикацию на свою зависимость.

Примеры нескольких зависимостей

Например, узел сети Хост находится за маршрутизатором Роутер2, а Роутер2 находится за Роутер1.

Zabbix - Роутер1 – Роутер2 - Хост

Если Роутер1 недоступен, то очевидно, что и Хост и Роутер2 недоступны. И мы не хотим получать три оповещения с информацией о недоступности Хост, Роутер1 и Роутер2.

Для этого случая, мы зададим эти зависимости:

триггер 'Хост недоступен' зависит от триггера 'Роутер2 недоступен'
       триггер 'Роутер2 недоступен' зависит от триггера 'Роутер1 недоступен'

Перед изменением состояния триггера 'Хост недоступен', Zabbix проверит зависимости у соответствующих триггеров. Если они будут найдены, и один из триггеров в находится в состоянии ПРОБЛЕМА, то состояние триггера не будет изменено и, следовательно, действия не будут выполнены и оповещения не будут отправлены.

Zabbix выполняет эту проверку рекурсивно. Если Роутер1 или Роутер2 недоступен, то триггер у Хост не будет изменен.