On-call без паники: как настроить умный мониторинг в Zabbix 3 часа… — DevOps by REBRAIN — TG.ME

On-call без паники: как настроить умный мониторинг в Zabbix

3 часа ночи. Звонит телефон, в Telegram сыплются алерты: CPU load > 90%. Вы судорожно открываете ноутбук, заходите на сервер и видите, что нагрузка уже упала. Это был плановый бэкап или тяжелый батч-процесс, который запускается каждую ночь. Итог: вы не выспались, инженер рассержен, а проблема оказалась ложной.

По статистике, высокая нагрузка во время дежурств (on-call) — одна из главных причин выгорания инженеров. До 30% алертов от систем мониторинга являются «шумом» и не требуют мгновенной реакции. Из-за обилия ложных срабатываний замыливается глаз, и реальный критический инцидент можно легко пропустить.

Zabbix позволяет решить проблему «шума» с помощью гибких триггеров, зависимостей, временных окон и механизмов эскалации.

Чтобы избежать ложных срабатываний на кратковременные пики, используйте функции усреднения. В современных версиях Zabbix (6.0+) синтаксис триггера выглядит так:


avg(/Template OS Linux/system.cpu.load[percpu,avg1],5m) > 5



Благодаря функции avg(5m), кратковременный скачок процессора (например, при запуске утилиты) не поднимет дежурного среди ночи. Алерт сработает только в том случае, если высокая нагрузка стабильно держится более 5 минут.

Следующий шаг - настройка умной эскалации:
1️⃣ Сначала уведомление отправляется в некритичный чат Telegram.
2️⃣ Если инцидент не закрыт в течение 10 минут — отправляется SMS дежурному инженеру.
3️⃣ Если реакции нет 30 минут — включается автозвонок или оповещение тимлида.

Для кастомных уведомлений (например, отправки алертов в Slack или корпоративный мессенджер) Zabbix поддерживает вебхуки и скрипты оповещений:


#!/bin/bash
# Скрипт оповещения (Zabbix Alert Script)
# $1 — получатель (канал/webhook URL), $2 — тема, $3 — текст сообщения
ALERT_MSG=$(echo "$3" | sed 's/"/\\"/g')

curl -X POST -H 'Content-type: application/json' \
--data "{\"text\":\"⚠️ *${2}*:\n${ALERT_MSG}\"}" \
"$1"



Zabbix также отлично автоматизирует рутину: с помощью LLD (Low-Level Discovery) он сам находит новые сетевые интерфейсы, диски или сервера в сети и сразу вешает на них нужные шаблоны мониторинга.

Чек-лист для настройки эффективного мониторинга:
Используйте шаблоны (Templates): не настраивайте метрики вручную для каждого хоста.
Сглаживайте графики: применяйте функции avg(), max(), min() за промежуток времени вместо мгновенных значений.
Ранжируйте приоритеты: делите алерты на *Information*, *Warning* и *Average/High/Disaster*. Ночью должны будить только последние два.
Используйте макросы: выносите пороги срабатывания (например, `{$CPU.UTIL.CRIT} = 90`) в макросы шаблона, чтобы менять их в один клик.
Регулярно проводите ревизию: удаляйте неактуальные триггеры, снижающие фокус команды.

Чтобы научиться настраивать Zabbix на экспертном уровне, создавать кастомные шаблоны, работать с API и автоматизировать сбор метрик - 🔥открывайте бесплатный демодоступ🔥 к нашим курсам с практикой:

🔹Zabbix - установка, архитектура, LLD, триггеры, макросы и эскалации.
🔹Linux Advanced - траблшутинг системы, оптимизация производительности, логи.
🔹Networks - сетевые протоколы, tcpdump, SNMP и мониторинг сетевого оборудования.
👍16❤10🔥1
August 26, 2026 3.2K 81