Мониторинг с нуля, не трогая прод
Наблюдение появилось там, где его не было вовсе, — и боевой сервер этого почти не заметил.
- Что было
- Метрик не было, логи лежали по разным местам, о состоянии сервисов судили по тому, открывается ли сайт. Это значит, что любую деградацию замечали пользователи, а не владелец.
- Чего нельзя было делать
- Ставить наблюдение на тот же сервер, за которым наблюдаешь: когда он ляжет, вместе с ним ляжет и мониторинг, и вы не узнаете ничего. И нельзя было открывать новые двери наружу.
- Что сделал
- Отдельный сервер наблюдения, метрики и логи пяти сервисов, хоста и контейнеров, дашборды и уведомления в мессенджер. Данные ИДУТ С прода наружу по закрытому каналу, а не забираются снаружи внутрь — поэтому на проде не появилось ни одного нового слушающего порта.
- Чем проверил
- Учебным отказом и восстановлением: остановил наблюдаемое, дождался уведомления, вернул и дождался парного сообщения о восстановлении. Пока не прошли обе половины, считать проверку пройденной нельзя.
- Что стало
- Боевой сервер не открыл ни одного нового порта наружу и не перезапустил ни одного сервиса.
Учебный отказ здесь — не формальность. Мониторинг, который никогда не срабатывал, ничем не отличается от выключенного, и узнать об этом в момент настоящей аварии — самый дорогой способ.
Если наблюдения нет или ему не верят — начинать стоит именно с этого.