Короткий ответ
Единого быстрого решения нет — нужен системный аудит существующих алертов (какие из них привели к реальному действию, а какие были проигнорированы или не требовали действия), классификация по actionability и severity, стандартизация runbook для каждого критичного алерта и регулярный пересмотр метрик самого алертинга (частота, точность, время реакции) как отдельного процесса, а не разовая чистка правил.
Как это работает подробнее
alert fatigue обычно накапливается постепенно — каждая команда добавляет алерты по своим локальным соображениям без общей нормы "что считается достойным разбудить человека ночью". Системное решение начинается с метрик самого алертинга: доля алертов, закрытых без действия ("noise ratio"), среднее время от алерта до начала реакции, доля повторных/дублирующих алертов на один инцидент — эти данные объективно показывают, где проблема хуже, а не основываются на субъективных жалобах.
Компромисс: агрессивное сокращение числа алертов снижает усталость дежурных, но рискует пропустить реальную деградацию, которая раньше ловилась "лишним" алертом; оставление широкого покрытия алертов безопаснее с точки зрения обнаружения, но требует инвестиций в группировку, приоритизацию и автоматизацию реакции (runbook automation, self-healing). Выбор баланса должен обсуждаться с учётом реальной стоимости пропущенного инцидента против стоимости усталости и оттока дежурных инженеров, а не решаться универсальным правилом "алертов должно быть меньше X в неделю".
Пример кода
Метрика до аудита (4 недели): 850 алертов, из них 740 закрыты без действия (noise ratio 87%)
После классификации и удаления неактуальных правил: 310 алертов, 90 без действия (noise ratio 29%)
Количество реальных инцидентов, пропущенных в период изменений: 0 (подтверждено post-mortem анализом)Что использовать на практике
- Практика. эффективные организационные меры включают: обязательное правило "каждый алерт с severity=critical должен иметь ссылку на runbook с конкретными действиями"; регулярный (например, ежеквартальный) review алертов с наибольшим noise ratio и их переклассификацию или удаление; разделение алертов на "требует немедленного человеческого действия" (страница/звонок) и "информационный, можно разобрать утром" (тикет/Slack); постепенный переход от алертов на симптомы инфраструктуры к алертам на SLO/пользовательское воздействие, которые по природе более релевантны.
- Практика. Снижение noise ratio при сохранении числа найденных реальных инцидентов на прежнем уровне — это объективное доказательство, что сокращение числа алертов было качественным (убрали шум), а не случайным (убрали нужное вместе с лишним).
Подводные камни
- Частые ошибки. решать проблему точечным повышением порогов без анализа, какие алерты реально полезны, что временно снижает шум, но может скрыть реальные будущие инциденты; возлагать ответственность за "тишину" только на дежурного (например, просить "просто игнорировать неважные"), не меняя сами правила — это не масштабируется и приводит к пропуску важных сигналов среди привычного шума; не измерять эффект изменений (noise ratio до/после), из-за чего невозможно доказать, что проблема действительно решена, а не просто временно притихла.