Kaizen Official Group

Мониторинг, который врал

Здесь я разбирал не чужую ошибку, а свою. Такие разборы полезнее остальных, поэтому он на сайте.

Что было
Сервер наблюдения потерял связь с сетью и объявил упавшими пять работающих сайтов. Восемнадцать минут ложной тревоги. Сайты всё это время открывались у пользователей.
Почему очевидное решение не годилось
Напрашивалось правило «упали все разом — значит дело в нас». Но все наблюдаемые адреса вели на один и тот же сервер, поэтому «упали все» неотличимо от настоящего отказа этого сервера. Такое правило заглушило бы реальную аварию.
Что сделал
Добавил признак, не зависящий от наблюдаемых сайтов: проверку связи с несколькими независимыми внешними площадками. Проверил, что они действительно независимы — у одной из них инфраструктура оказалась общей с другой, и её заменил. И написал правило, которое при нехватке данных молчит, а не подавляет чужие сигналы.
Чем проверил
Тестами на четырёх сценариях, включая «данных нет вовсе». Затем прогнал те же тесты против старой версии правила и убедился, что они на ней падают: набор проверок, который никогда не краснеет, неотличим от отсутствующего.
Что стало
Ложные тревоги этого класса прекратились, а правило перестало быть тем, чему верят на слово.

Правильным ответом на «мониторинг соврал» было не подкрутить порог, а найти признак, которому можно верить. Порог убрал бы симптом и оставил причину.

Ко всем кейсам

Если у вас есть алерты, которым перестали верить, — это ровно та же задача.