Инженерная практика
On-call: тест с выбором ответа
Шесть вопросов поперёк всего юнита. Ни один не про заучивание определения — каждый отражает решение, которое senior принимает о том, что будит пейджер в 4 утра, а что — нет.
Убедись, что связываешь спину юнита: на пейджере только actionable alert по симптомам/SLO, всё остальное демотировано, нагрузка ограничена, runbook прилинкован, а rotation измеряется через % actionable.
Alert на использование диска будит on-call 40 раз в месяц и почти всегда саморазрешается. Почему это опаснее, чем вообще не иметь alert?
Тебе надо решить, что будит человека. Какое условие должно быть на пейджере и каков принцип?
Google SRE ограничивает смену примерно двумя инцидентами, а операционную работу — 50% времени SRE. Что ломается, если игнорировать лимиты?
Какая метрика напрямую сигнализирует, что rotation деградирует к выгоранию?
Пейдж сработал, но primary responder застрял и не подтвердил. Какой правильный структурный механизм и какова роль runbook здесь?
Предложено изменение для снижения шума: заснузить самые шумные alert и добавить Alertmanager group_by, inhibit_rules и group_wait 30s. Что это даёт, а что нет?
Сквозная линия юнита — одно правило, применённое на каждом слое: пейдж должен быть actionable, иначе он удаляется. Алертить по симптомам и SLO burn rate, а не по причинам вроде CPU или диска; остальное демотировать в тикеты и дашборды. Ограничь нагрузку (≈2 инцидента/смену, ≤50% ops-времени), чтобы профилактика выжила. Линкуй runbook к каждому пейджу, эскалируй по таймеру, когда responder застрял, и используй grouping/inhibition для схлопывания штормов — но помни, routing только дедуплицирует. Измеряй MTTA, MTTR и объём пейджей и держи курс по северной звезде: % actionable.