Сценарии применения

Тема дорожной карты · Prometheus

Prometheus хорошо подходит для широкого круга сценариев мониторинга в современной инфраструктуре; его основные области применения сосредоточены на мониторинге микросервисов методом белого ящика, наблюдаемости инфраструктуры и оповещении. Типичные сценарии использования Prometheus включают отслеживание метрик уровня приложений — таких как задержка запросов, частота ошибок и пропускная способность — по четырём золотым сигналам (задержка, трафик, ошибки и насыщение), а также метрик инфраструктуры через node_exporter для ЦП, памяти и диска. Prometheus активно используется в средах Kubernetes для мониторинга кластера — подов, деплойментов и узлов — через Prometheus Operator и kube-state-metrics. Он также применяется для оповещений на основе SLO, где recording rules предварительно вычисляют скорость сжигания бюджета ошибок, а правила оповещений срабатывают при превышении порога. Prometheus менее подходит для журналирования событий, данных трассировки с высокой кардинальностью или хранения сырого текста — для этих задач он, как правило, используется вместе с такими дополняющими инструментами, как Loki, Jaeger или Elasticsearch, в рамках полноценного стека наблюдаемости.

Как это работает

Сценарии применения — pull-based система мониторинга временных рядов. Prometheus-сервер скрейпит HTTP /metrics-эндпойнты по расписанию, хранит samples в локальной TSDB, отвечает на запросы через PromQL. Модель данных multi-dimensional: каждый временной ряд идентифицируется именем метрики + набором key=value labels. Естественно пара с Grafana (визуализация), Alertmanager (роутинг алертов), node_exporter / app SDK (экспозиция метрик).

Когда применять

Prometheus — для любого современного observability-стека: де факто стандарт. Pull-модель хорошо ложится на динамические среды (Kubernetes service discovery). Для долгого retention или высокой cardinality — pair с long-term storage backend (Thanos, Cortex, VictoriaMetrics, Mimir). Не для логов (используйте Loki) или distributed tracing (Jaeger/Tempo) — Prometheus только метрики.

Типичные ошибки

Ловушки Сценарии применения: high-cardinality labels (per-user-id, per-request-id — TSDB Prometheus давится); ожидание бесконечного retention от локальной TSDB (разумно держит ~15 дней, больше настраивается, но дорого); Prometheus как event log (это sampled-метрики — потери между scrapes не gaps, они не записаны).

Связанные понятия

Полезные ресурсы