hostprofi.ru
Подобрать хостинг
Термин·буква С

Сбор метрик

краткое определение

Сбор метрик — процесс систематического получения количественных данных о работе систем (CPU, память, задержки, количество запросов) с последующим хранением в time-series базе данных для анализа и алертинга.

Сбор метрик (metrics collection) — фундаментальная практика наблюдаемости (observability). Метрика — числовое значение с меткой времени и тегами: http_requests_total{method="GET",status="200"} 1234567. В отличие от логов (событийный формат), метрики оптимальны для трендов и алертов.

Как работает

Два подхода: push (агент отправляет метрики в коллектор) и pull (коллектор периодически запрашивает endpoint). Prometheus использует pull-модель: каждые 15-30 секунд запрашивает /metrics на мониторируемых сервисах.

Стек Prometheus + Grafana — де-факто стандарт для Kubernetes и микросервисов: Prometheus собирает метрики, хранит в TSDB (Time Series Database), Grafana строит дашборды через PromQL-запросы. Alertmanager отправляет уведомления при срабатывании правил.

InfluxDB + Telegraf — альтернатива для push-модели. Telegraf собирает системные метрики, отправляет в InfluxDB. Обрабатывает 500 000+ точек/сек на одном сервере.

История

RRDtool (Tobias Oetiker, 1999) — первый инструмент для хранения временных рядов. Graphite (2006, Orbitz) появился как масштабируемое хранилище метрик для веба. Prometheus создан SoundCloud в 2012 году, передан CNCF в 2016 году. InfluxDB выпущен в 2013 году.

Стандартные метрики

  • RED: Rate (запросы/сек), Errors (ошибки), Duration (задержка). Для HTTP-сервисов.
  • USE: Utilization, Saturation, Errors. Для инфраструктуры (CPU, диск).
  • Four Golden Signals: Latency, Traffic, Errors, Saturation. Google SRE.

Связь с хостингом

На VPS сбор метрик настраивают для контроля ресурсов и SLA. Минимальный стек: node_exporter (системные метрики Linux) + Prometheus + Grafana на отдельном мониторинг-сервере. Netdata — альтернатива для быстрого старта без сложной настройки. ELK Stack дополняет метрики логами.

Ключевые отличия от похожих терминов

Логи (logs) — неструктурированные события с текстом. Трассировки (traces) — путь запроса через микросервисы. Метрики — агрегированные числовые данные за период. Вместе они образуют три столпа observability.

Системы сбора метрик

Prometheus — pull-модель: сам опрашивает targets. Push-модель: StatsD → Graphite, InfluxDB ← Telegraf. Prometheus + Grafana — стандарт для Kubernetes. InfluxDB + Telegraf + Grafana — альтернатива для time-series данных. VictoriaMetrics — совместимый с Prometheus, в 5–10 раз эффективнее по ресурсам.

Типы метрик

Counter — монотонно растущий (total requests). Gauge — текущее значение (memory). Histogram — распределение (request duration, buckets). Summary — аналог Histogram с квантилями. В Prometheus: http_requests_total{method="GET"}[5m] — rate за 5 минут.

Алертинг

Prometheus Alertmanager: правила в YAML, routing к PagerDuty/Slack/email. Пример: alert: HighCPU, expr: cpu_usage > 0.85, for: 5m. Grafana Alerting — алерты прямо из дашбордов. Для on-call rotation — PagerDuty или OpsGenie.

Инструментирование приложений

RED метод: Rate (запросы/сек), Errors (ошибки/сек), Duration (задержка). USE метод: Utilization, Saturation, Errors для инфраструктуры. OpenTelemetry — стандарт для трассировки, метрик, логов. OTLP экспортёры в Prometheus, Jaeger, Grafana Tempo. Инструментирование кода: @observe() декораторы в Python/Java.

Другие термины