Что такое Prometheus
Тема дорожной карты · Prometheus
Prometheus — это система мониторинга и оповещения с открытым исходным кодом, изначально разработанная в SoundCloud в 2012 году и теперь поддерживаемая Cloud Native Computing Foundation (CNCF) как дипломированный проект. Prometheus предназначен для сбора и хранения многомерных метрик временных рядов, их запроса с помощью языка запросов PromQL и запуска оповещений при выполнении заданных пользователем условий. В основе работы Prometheus лежит периодический опрос (scrape) метрик с HTTP-эндпоинтов инструментированных приложений и экспортёров, хранение данных во встроенной TSDB и вычисление правил оповещения и записи с настраиваемым интервалом. Экосистема Prometheus широко используется в облачно-ориентированных средах, особенно с Kubernetes, благодаря тесной интеграции через Prometheus Operator и архитектуре на основе pull-модели, которая делает доступность целей изначально наблюдаемой. Prometheus часто используется в паре с Grafana для визуализации и Alertmanager для маршрутизации оповещений, формируя основу полноценного стека наблюдаемости с открытым исходным кодом.
Как это работает
Что такое 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)
Загрузка вопросов…