Используя эскалации, вы можете создавать пользовательские сценарии для отправки оповещений или выполнения удаленных команд.
С практической точки зрения эскалации означают, что:
Действия эскалируются на основании шага эскалации. Каждый шаг имеет длительность по времени.
Вы можете задать и длительность по умолчанию, и пользовательскую длительность для каждого отдельного шага. Минимальная длительность одного шага эскалации 60 секунд.
Вы можете начать действия, такие как отправка оповещения или выполнение команд, с любого шага. Шаг первый используется для немедленных действий. Если вы хотите отложить действие, вы можете назначить его на следующий шаг. Для каждого шага можно назначать несколько действий.
Количество шагов эскалаций не ограниченно.
Эскалации задаются при настройке действия. Эскалации поддерживаются только операциями на проблемы, не восстановления.
Давайте рассмотрим что произойдет при разных обстоятельствах, если действие содержит несколько шагов эскалаций.
Ситуация | Поведение |
---|---|
Узел сети, о котором идет речь, переходит в состояние обслуживания после отправки первоначального оповещения о проблеме | В зависимости от опции Приостановить операции в режиме обслуживания в настройках действия, все оставшиеся шаги эскалаций выполнятся либо с задержкой, вызванной периодом обслуживания, или без задержки. Период обслуживания не отменяет операции. |
Период времени указанный в условии Период времени действия завершается после первоначальной отправки оповещения | Выполняются все оставшиеся шаги эскалации. Условие Период времени не может прервать операции; это условие имеет влияние в отношении действия началось/не началось, но не имеет влияния на операции. |
Проблема началась в процессе обслуживания и продолжается (не исправлена) после окончания обслуживания | В зависимости от опции Приостановить операции в режиме обслуживания в настройках действия, все шаги выполняются либо с момента завершения обслуживания или сразу же. |
Проблема началась в процесса обслуживания без сбора данных и продолжается (не исправлена) после окончания обслуживания | Действие должно дождаться пока триггер не перейдет в состояние проблема, до выполнения всех шагов эскалации. |
Разные эскалации следуют в тесном порядке и перекрываются | Выполнение каждой новой эскалации заменяет предыдущую эскалацию, но как минимум один шаг эскалации обязательно выполняется из предыдущей эскалации. Такое поведение тесно связано с действиями на события, которые создаются на КАЖДОЕ вычисление проблемы триггера. |
В процессе выполнения эскалации (например, во время отправки сообщения), основанном на любом типе событий: - действие деактивировано - событие удалено На основе события на триггер: - триггер деэактивирован или удален - узел сети или элемент данных деактивирован На основе внутреннего события о триггере: - триггер деактивирован или удален На основе внутреннего события о элементах данных/правилах низкоуровневого обнаружения: - элемент данных деактивирован или удален - узел сети деактивирован |
Будет отправлено сообщение, которое уже в процессе отправки, затем будет отправлено еще одно сообщение эскалации. Последующие сообщения будут иметь следующий текст в начале тела сообщения: (NOTE: Escalation cancelled) с указанием причины (например, NOTE: Escalation cancelled: action '<Action name>' disabled). Таким образом получатель будет проинформирован о том, что эскалация отменена и дальнейшие шаги не будут выполнены. Это сообщение отправляется адресатам указанным в текущем шаге эскалации. Причина отмены также будет записана в файл журнала сервера (начиная с уровня отладки 3=Предупреждения). |
В процессе выполнения эскалации (например, во время отправки сообщения) удалено действие | Сообщения более не отсылаются. Информация будет записана в файл журнала сервера (начиная с уровня отладки 3=Предупреждения), например: escalation cancelled: action id:334 deleted |
Отправка повторяющихся оповещений каждые 30 минут (в общей сложности 5 раз) группе 'MySQL администраторы'. Для настройки:
Оповещения будут отправлены в 0:00, 0:30, 1:00, 1:30, 2:00 часов после начала проблемы (если, конечно, проблема не будет решена раньше).
Если проблема решена и сообщение о восстановлении настроено, оно будет отправлено всем тем, кто получил хотя бы одно сообщение в этом сценарии эскалаций.
Если триггер, который вызвал активную эскалацию был деактивирован, Zabbix отправит информационное сообщение об этом всем, кто уже получил оповещения.
Отправка оповещения с задержкой о давней проблеме. Для настройки:
Оповещение будет отправлено только на Шаге 2 сценария эскалации, или через 10 часов после начала проблемы.
Вы можете изменить текст сообщения на что-то вроде 'Проблема не решена более чем 10 часов'.
Эскалирование проблемы Руководству.
В первом примере мы настраивали периодическую отправку сообщений Администраторам MySQL. В этом случае, администраторы получат четыре сообщения до того, как проблема будет эскалирована Менеджеру баз данных. Обратите внимание, что менеджер получит сообщение только в случае если проблема еще не подтверждена, предположительно, никто не работает над ней.
Обратите внимание на использование макроса {ESC.HISTORY} в сообщении. Этот макрос будет содержать информацию обо всех ранее выполненных шагах этой эскалации, таких как отправленные оповещения и выполненные команды.
Более сложный сценарий. После нескольких сообщений Администраторам MySQL и эскалации менеджеру, Zabbix попытается перезапустить базу данных MySQL. Это произойдет, если проблема присутствует через 2:30 часов и еще не была подтверждена.
Если проблема все еще существует, спустя еще 30 минут Zabbix отправит сообщение всем гостевым пользователям.
Если и это не поможет, спустя еще час Zabbix перезагрузит сервер с этой базой данных MySQL (вторая удаленная команда), используя IPMI команды.
Эскалация с несколькими операциями назначенными на один шаг и с использованием пользовательских интервалов. Длительность шага операции по умолчанию равна 30 минутам.
Оповещения будут отправлены в следующем порядке: