Метрики
Тема дорожной карты · Observability
Метрики — это числовые измерения, собираемые через регулярные промежутки времени и описывающие состояние и производительность системы. Как один из трёх столпов наблюдаемости, метрики отлично справляются с предоставлением высокоуровневого агрегированного представления о состоянии системы, что делает их идеальными для дашбордов, отслеживания SLO и автоматического алертинга. Типичные измерения метрик включают частоту запросов, счётчики ошибок, распределения задержек и использование ресурсов — всё это хранится как данные временных рядов в таких системах, как Prometheus. Современные стеки наблюдаемости используют OpenTelemetry для инструментирования метрик независимым от поставщика способом, передавая данные по протоколу OTLP в коллектор или напрямую в бэкенд. Хорошо спроектированные метрики с содержательными метками позволяют инженерам быстро нарезать и анализировать данные наблюдаемости в ходе инцидентов, существенно сокращая среднее время до устранения (MTTR).
Как это работает
Метрики — числовые агрегаты по времени: counters, gauges, histograms. Дёшево хранить, быстро запрашивать, идеально для дашбордов + алертов. Стандарт: Prometheus (де факто), VictoriaMetrics (совместимый, часто проще эксплуатировать), формат OpenMetrics. Инструментируйте приложения client-библиотеками (prom-client для Node, prometheus_client для Python и т.д.). Конвенция имён: <namespace>_<subsystem>_<name>_<unit>. Labels = измерения; cardinality важна.
Когда применять
По дефолту Prometheus-формат метрик везде. 4 золотых сигнала (rate, error, latency-percentile, saturation) на каждый сервис. Histograms — для latency (per-replica + агрегируемые). Pre-aggregate через recording rules для дашбордов с частыми запросами. Cardinality labels ограниченная — высокая cardinality убивает Prometheus.
Типичные ошибки
Ловушки Метрики: per-user-id labels (взрыв cardinality); Counter где должен быть Histogram (http_requests не говорит про latency); короткий retention без long-term storage backend (когда исследуете "что было на прошлой неделе", данных уже нет).