Ответ
Систему алертов строю по принципу "важность + скорость реакции".
- Определяю ключевые метрики (например, падение DAU на 20%, рост ошибок 500-х).
- Выбираю пороги срабатывания (статичные или динамические, через процентили).
- Настраиваю каналы уведомлений (Slack/Telegram для срочных, email — для daily digest).
- Добавляю механизм подавления шума (например, алерт срабатывает только после 15 минут аномалии).
Пример кода для алерта в SQL (BigQuery):
WITH anomalies AS (
SELECT
date,
COUNT(DISTINCT user_id) AS dau,
LAG(COUNT(DISTINCT user_id), 7) OVER() AS dau_last_week
FROM sessions
GROUP BY date
)
SELECT date, dau
FROM anomalies
WHERE dau < 0.8 * dau_last_week -- падение DAU на 20%+
Дополнительно:
- Тестирую на исторических данных (проверяю, как алерт сработал бы в прошлом).
- Документирую сценарии (что делать при срабатывании).
- Разделяю алерты по командам (DevOps — инфра, Product — метрики).