Введение в Prometheus

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

Prometheus — это инструментарий мониторинга и оповещения с открытым исходным кодом, изначально созданный в SoundCloud и ныне являющийся дипломированным проектом Cloud Native Computing Foundation (CNCF). Prometheus собирает и хранит метрики в виде данных временных рядов, где каждая точка данных состоит из имени метрики, набора меток в виде пар «ключ–значение», значения типа float64 и временной метки с миллисекундной точностью. Экосистема Prometheus включает сервер Prometheus для сбора и хранения метрик, богатый язык запросов PromQL для анализа данных, Alertmanager для маршрутизации и доставки оповещений, а также растущую коллекцию экспортёров и клиентских библиотек. Prometheus использует pull-модель опроса, периодически получая метрики от инструментированных приложений и экспортёров по HTTP, что упрощает отладку и наблюдение за состоянием самой системы мониторинга. С момента публичного релиза в 2012 году Prometheus стал стандартом де-факто для мониторинга инфраструктуры и приложений в облачно-ориентированных средах.

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

Введение в Prometheus — 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 только метрики.

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

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

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

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

Проверить знания (1)

Загрузка вопросов…