Алерты и SLO
Тема дорожной карты · Backend разработчик
Алертинг — практика автоматического оповещения дежурных инженеров, когда метрики, логи или трассировки системы превышают определённые пороги; это критически важный столп наблюдаемости бэкенда наряду с логированием и распределённой трассировкой. В современных бэкенд-стеках алертинг обычно реализуется через Prometheus + Alertmanager: Prometheus вычисляет правила алертов на PromQL (например, высокая частота ошибок на REST API, повышенное количество перезапусков подов в Kubernetes), а Alertmanager маршрутизирует срабатывающие алерты в Slack, PagerDuty или Opsgenie в зависимости от серьёзности и принадлежности команде. Эффективный алертинг различает симптомо-ориентированные алерты — «пользователи испытывают ошибки» — и причинно-ориентированные — «CPU высокий», — отдавая предпочтение первым для снижения шума и усталости от алертов в сложных микросервисных окружениях. Правила алертов должны охватывать четыре золотых сигнала: задержку, трафик, ошибки и насыщение, и должны ссылаться на целевые показатели SLO/SLA, чтобы нарушения инициировали действенные оповещения, а не информационные предупреждения. Конвейеры алертинга развёртываются как Infrastructure as Code (IaC) через Terraform или Helm charts, гарантируя, что правила алертов версионируются совместно с кодом приложения и применяются единообразно в staging и продакшен Kubernetes-кластерах.
Как это работает
Алерты и SLO для backend имеет три столпа: метрики (Prometheus-style, scrape), логи (структурированный JSON, в Loki/Elastic), traces (OpenTelemetry → Jaeger/Tempo). Добавляйте четыре золотых сигнала — latency, traffic, errors, saturation — на каждый сервис. Алертите на SLI burn (например > 1% ошибок за 5 минут), не на сырой CPU. Корреляция logs ↔ traces ↔ metrics через trace ID. Self-hosted альтернативы (Grafana stack, SigNoz) избегают vendor lock-in Datadog/New Relic.
Когда применять
Observability — до первого платящего клиента; дебаг без неё — гадание. Начните со структурированного логирования + Prometheus-метрик + дашбордов по четырём золотым сигналам. Tracing — когда сервисов больше одного или хотите копать в распределения latency. Self-host Grafana + Loki + Mimir/Prometheus для RF / суверенности; SaaS (Grafana Cloud, Datadog) — для самого быстрого setup, если регуляторы позволяют.
Типичные ошибки
Ловушки Алерты и SLO: всё логируется как plain text (console.log) — неразбираемо; high-cardinality метрики (request-id, user-id) взрывают storage Prometheus; alert fatigue (слишком много низкоприоритетных алёртов → реальные игнорируются); нет SLO (без него нельзя сказать "система здорова"). SLO/SLI словарь — с первого дня.