Хранилище
Тема дорожной карты · Prometheus
Prometheus хранит все собранные метрики локально во встроенной базе данных временных рядов (TSDB), оптимизированной для высокой пропускной способности записи и эффективного выполнения диапазонных запросов. Движок хранилища Prometheus организует данные в двухчасовые блоки на диске, каждый из которых содержит сжатые фрагменты образцов вместе с инвертированным индексом для быстрого поиска по меткам. Поступающие образцы сначала буферизуются в блоке головы (head block) в памяти с поддержкой WAL, а затем сохраняются на диске как неизменяемые блоки; фоновый процесс уплотнения объединяет меньшие блоки в более крупные для повышения эффективности запросов. Путь к хранилищу задаётся флагом --storage.tsdb.path (по умолчанию ./data), а хранение управляется через --storage.tsdb.retention.time или --storage.tsdb.retention.size. Для долгосрочного хранения за пределами ёмкости локального диска Prometheus интегрируется с удалёнными хранилищами через remote_write и remote_read, выгружая исторические данные в системы вроде Thanos, Cortex или Grafana Mimir.
Как это работает
Хранилище — локальная TSDB по дефолту: chunks на диске, compaction в фоне, без кластеризации. Retention по времени (--storage.tsdb.retention.time) или размеру (--storage.tsdb.retention.size). Для long-term + clustered: Thanos (sidecar + object store), Cortex / Mimir (multi-tenant, горизонтальный), VictoriaMetrics (drop-in совместимый, часто проще эксплуатировать). Remote write/read API позволяет Prometheus push samples во внешние системы.
Когда применять
Для < 1 года данных + < ~1M samples/sec локальный Prometheus достаточен. За пределами: VictoriaMetrics — простейший scale-up путь (лучше сжатие, быстрее, меньше движущихся частей, чем Thanos). Thanos/Mimir — если нужна object-storage-долговечность + multi-cluster federation. Планируйте retention vs cardinality — высокая cardinality + долгий retention = дорого.
Типичные ошибки
Ловушки Хранилище: ротация persistent-volume Prometheus + потеря всех данных; расчёт federation = HA (это read-агрегация, не репликация); высокая write rate без SSD I/O (TSDB-writes I/O-тяжёлые); миграция на Thanos без понимания операционной сложности (много движущихся частей).