Долговременное хранение метрик в Prometheus достигается выносом данных с локального диска в дешёвое объектное хранилище (S3, GCS, Azure Blob) с помощью таких инструментов, как Thanos , VictoriaMetrics или Grafana Mimir . Эти решения позволяют хранить метрики месяцами и годами, обходят ограничения локального диска и обеспечивают высокую доступность.
Основные решения для долговременного хранения
- Thanos
. Интегрируется с Prometheus и выгружает данные в объектное хранилище. Состоит из компонентов
sidecar,store gateway,compactorи других — каждый отвечает за свой кусок жизненного цикла данных и retention. - VictoriaMetrics . Высокопроизводительное хранилище метрик. Может выступать как самостоятельная TSDB или как remote storage backend для Prometheus.
- Grafana Mimir . Горизонтально масштабируемое долговременное хранилище для Prometheus-метрик от Grafana Labs.
- GreptimeDB . Альтернативный высокоэффективный и более дешёвый вариант для управления большими объёмами time-series данных.
Как настроить
- Retention-флаг. Увеличить срок хранения прямо в Prometheus можно флагом
--storage.tsdb.retention.time=1y. - Remote write. Настроить
remote_writeвprometheus.yml, чтобы Prometheus отправлял данные во внешнее хранилище (Thanos Receiver, VictoriaMetrics, Mimir и т. п.). - Лимиты по диску. Для локального хранения держите retention в пределах 80–85 % свободного места на диске — иначе TSDB рискует упасть на исчерпании места.
На что обратить внимание
- Стоимость. При большом потоке метрик и длинном retention счёт за хранение может уходить в тысячи долларов в год — выбор эффективного решения становится критичным.
- Производительность. Объектные хранилища (через Thanos и аналоги) дают более медленные запросы по сравнению с локальным SSD. Между ценой, retention и скоростью запросов всегда приходится искать баланс.