▶️ На днях Zabbix выложили на канале некоторые записи с прошедшего митапа на английском языке. Я бегло посмотрел их все с субтитрами на 1,5 скорости. Наиболее полезным показалось выступление на тему оповещений и триггеров, поэтому решил сделать для вас небольшую выжимку по теме.
Alerting and escalation best practices
⇨ https://www.youtube.com/watch?v=7pBZj21N5Lo
Для того, чтобы эффективно работать с оповещениями стоит придерживаться некоторых простых и не всегда очевидных рекомендаций:
1️⃣ Всегда давайте осмысленные названия для триггеров. Лично я почти всегда в названии триггера где-то в начале использую макрос {HOST.NAME}, чтобы в заголовке оповещения сразу было указано имя хоста. Даже в стандартных шаблонах часто в заголовке триггера нет этой информации.
2️⃣ Используйте зависимости триггеров, чтобы избежать спама оповещений. Например, у вас филиал подключен по VPN и там много объектов мониторинга. Сделайте для этого филиала отдельные шаблоны, в которых пропишите зависимость всех триггеров от проверки статуса VPN соединения или просто наличия связи с этим филиалом простым пингом. Если VPN отвалился и связи с филиалом нет, то не должны сработать все остальные триггеры, что настроены для хостов филиалов. Если этого не сделать, то при обрыве связи вы получите спам оповещений, в которых сразу не понять, что именно случилось. Сразу дам тут совет. Интервал проверки связи должен быть существенно ниже, чем остальные метрики в этом филиале, чтобы обрыв связи был замечен раньше именно на том айтеме, к которому привязана зависимость.
3️⃣ Используйте отложенные уведомления. Я постоянно этим пользуюсь. К примеру, у вас постоянно срабатывает и отключается какой-то триггер. Например, на загрузку полосы в интернет, или на нагрузку по CPU. Она может на минуту вырасти, потом упасть. У вас будет оповещение о проблеме, и потом об её отмене. Есть два пути решения этой проблемы. Можно настроить оповещения так, что они будут приходить только через 5 минут, если проблема не решится сама собой. То есть загрузили весь канал в интернет на 2 минуты, сработал триггер, а потом отменился. Вы не получите оповещения, но в списке проблем отразится это событие. Иногда это бывает нужно. Второй способ — изменить триггер. Настроить его на сработку только если проблема длится не менее 5 минут. Тогда за 2 минуты загрузки канала вы не увидите оповещения, и не сработает триггер. Какой способ выбирать — решать по месту. Я и так, и так делаю. Чаще придерживаюсь подхода, что пусть оповещение не придёт, но в списке проблем она отразится. Это помогает потом разбор полётов делать.
4️⃣ Используйте не только оповещения, но и какие-то действия. Например, если упал веб сервер и за 30 минут никто из поддержки ничего не сделал, то хотя бы запустите скрипт, который сделает рестарт или запустит упавший сервис.
5️⃣ Делайте повторяющиеся уведомления для каких-то важных событий, пока они не будут решены. По умолчанию в Zabbix отправляется только одно оповещение в момент появления проблемы, в отличие от Nagios. Там меня помню всегда раздражали эти назойливые уведомления, которые не прекращались, пока проблема не будет решена.
6️⃣ Настройте отдельные оповещения для unsupported items. Какая-то проверка может тупо сломаться по той или иной причине. Например, формат данных изменился из-за ошибки, которую возвращает сервис вместо json строки. Айтем выключается, триггер соответственно тоже. В итоге проверка тупо не работает, а ты об этом не знаешь.
В видео ещё много советов и примеров было. Я прокомментировал те, что сам использую. Заметка подошла к лимиту по длине, поэтому завершаю. Если активно используете Zabbix, рекомендую следить за их каналом. Там много интересного выходит. Хоть большинство из того, что там вижу, лично я уже знаю, но всё равно что-то новое узнаю.
#zabbix #видео