Перейти к содержанию

·Observability

Оповещение, на которое не реагируют, хуже его отсутствия

Канал, где за месяц двести сообщений и ни одного действия, обучает команду игнорировать сообщения. Это обучение потом работает и в настоящей аварии.

В большинстве проектов, где есть мониторинг, есть и канал с оповещениями, который никто не читает. Обычно это объясняют нехваткой времени. Причина другая: канал приучил не читать себя.

Механизм простой. Оповещение срабатывает, человек смотрит, оказывается, что делать ничего не надо. Повторяется двадцать раз. На двадцать первый человек уже не смотрит — и это рациональное поведение, потому что в предыдущих двадцати случаях смотреть было незачем.

Проблема в том, что двадцать второе оповещение может быть настоящим.

Единственный критерий для оповещения

Есть ли действие, которое человек должен выполнить сейчас.

Если действия нет — это не оповещение, а показатель. Его место на панели, куда смотрят, когда есть вопрос, а не в канале, который прерывает работу.

Этот критерий отсекает большую часть того, что обычно настраивают. Загрузка процессора выросла — какое действие? Никакого, пока не пострадали пользователи. Диск заполнен на семьдесят процентов — какое действие? Никакого, это повод для планирования, а не для прерывания.

Что остаётся

Оповещения о том, что пользователям уже плохо или станет плохо в понятный срок.

Расход бюджета ошибок опережает график. Доля неудачных запросов на маршруте выросла. Диск заполнится через сутки при текущем темпе — здесь действие есть, и срок понятен.

Обратите внимание: во всех формулировках есть либо пострадавший, либо срок. Это и есть отличие от показателя.

Почему это связано со своим стеком

Потому что настройка по этому критерию требует свободы в выборе того, на чём срабатывать.

В коммерческой панели набор возможных условий задан продуктом. Он обычно про технические показатели, потому что они универсальны, — и именно они плохо подходят под критерий действия.

Условие вида «расход бюджета ошибок по цели уровня обслуживания опережает график» формулируется на своих данных с процентилями и своей историей. Это не экзотика, это стандартная практика — но она требует, чтобы данные и правила были у вас.

Что делать с уже засорённым каналом

Не чистить постепенно. Постепенная чистка не работает: каждое отдельное оповещение кажется «в принципе полезным».

Работает обратный подход: выключить все и включать по одному, каждый раз отвечая на вопрос про действие. Список после такой процедуры обычно короче исходного в разы, и первая же настоящая авария показывает, что ничего важного не потерялось.

Побочный эффект короткого списка

Оповещений становится мало, и на них начинают реагировать. Тогда появляется возможность требовать реакции — то есть договориться, что срабатывание означает, что кто-то посмотрел.

С длинным списком такой договорённости достичь нельзя, сколько бы регламентов ни написать. Люди не могут реагировать на двести сообщений в месяц, и не будут.