Дежурный не сидит перед дашбордом круглые сутки. Пока он ужинает, платежи уже пять минут возвращают 504. Дымовой датчик не рисует график дыма: он сравнивает измерение с условием и зовёт человека. По такому принципу строят оповещения по логам.
Из чего состоит правило
Правило
состоит из источника, запроса, окна, порога и частоты проверки. У «Гонца» кандидат: «доля 5xx на POST /api/payments больше 10% за 5 минут при минимум 20 запросах; проверять каждую минуту».
20 запросов защищают от ситуации «одна ошибка из одной оплаты, 100%». Порог 10% здесь учебный: реальное значение выбирают по целевому качеству сервиса и обычному уровню ошибок.
Окно и частота не одно и то же. Каждую минуту мы пересматриваем последние пять минут, а не пять новых непересекающихся минут. Один сбой может входить в несколько последовательных проверок.
Посчитай сигнал
Песочница исполняет запрос, но не запускает планировщик Kibana, не создаёт rule и не отправляет письмо. Ниже фиксированное окно инцидента, чтобы результат не зависел от сегодняшней даты.
hits.total.value здесь число подходящих запросов nginx, failures.doc_count число 5xx. Раздели второе на первое; при нуле запросов доля не определена. Поменяй окно на 19:30 до 19:35: получится базовый фон до инцидента. Не складывай nginx и payments: одно падение иначе посчитается дважды.
Датчик отдельно, звонок отдельно
Connector
соединяет Kibana с системой дежурств или почтой. Доступность типа правила, формул и коннектора зависит от редакции, подписки и развёртывания. Для правила доли ошибок выбери тип, который поддерживает отношение двух счётчиков; правило простого числа совпадений не умеет долю автоматически.
В уведомлении нужны: сервис и окружение, интервал, значение сигнала, ссылка на Discover, владелец и первый шаг проверки. «ERROR случился» не подсказывает, что делать.
Не буди человека на каждую строку
- Отдели бизнес-ошибку вроде отклонённой карты от технического сбоя банка.
- Группируй по сервису или зависимости, не по
trace.id: иначе каждое обращение клиента станет отдельной тревогой. - Уведомляй о переходе в проблему и восстановлении либо выбери разумную повторную отправку, а не письмо на каждом запуске.
- Учти задержку доставки. Ноль свежих логов не доказывает здоровье: отдельно следи за конвейером.
Усталость от оповещений
растёт, когда неясно, кто и что должен сделать. Тревога без действия чаще должна стать отметкой на графике, а не ночным звонком. Как идти от звонка к доказательствам, разберём в уроке про инцидент.
урок из курса
Урок из курса «Elasticsearch и ELK». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.