Перейти к содержанию

Mimir: долгосрочное хранение метрик


Prometheus великолепен для сбора метрик реал-тайм. Но он не масштабируется горизонтально сам по себе. Каждый сервер Prometheus хранит свои метрики на своём локальном диске, и когда падает диск — метрики теряются. Для production'а это неприемлемо.

Mimir — горизонтально-масштабируемый data-store, полностью совместимый с Prometheus API. По сути, Mimir — это Prometheus, только размазанный на кластер.

Ключевые различия Prometheus vs Mimir:

Характеристика Prometheus Mimir
хранение локальный диск S3-совместимое объектное хранилище
долгосрочность Нет (ограничено размером локального тома) Да (сколько платите за объектное хранилище)
multi-tenancy Нет (Prometheus = один тенант) Да (разные метрики разных команд в одном кластере)
масштабирование Вертикальное (дайте больше мощности серверу) Горизонтальное (статически повышайте число инстансов)


Для чего нужен отдельный storage

Несколько сценариев:

  1. Долгосрочное хранение метрик (Long-term retention). Prometheus типично хранит 2-4 недели и перестаёт. Mimir (через Store Gateway на основе S3) может хранить 1 год. Нужно понять, как вёл себя сервис месяц назад? Только Mimir (или Thanos, или VictoriaMetrics).

  2. Объединение многих Prometheus серверов. Kubernetes Multicluster — каждый кластер со своим Prometheus. Они отправляют метрики в один Mimir, который выступает "шлюзом агрегации". Все кластеры видны через одну панель Grafana.

  3. Query Sharding. Mimir делит длинные запросы по всем инстансам и собирает части — запрос быстрее выполняется. Prometheus один обрабатывает запрос.


Compactor и Query Sharding

Mimir compactor'ом удаляет дублирующиеся данные, снижая потребление пространства. Compactor работает в фоновом режиме.

Query sharding разбивает операции запроса по инстансам Mimir и собирается за десятки миллисекунд (Prometheus в одиночку смотрит дольше). Особенно полезно для запросов "Last 30 days" — Mimir в 3-10 раз быстрее.

Как подключать в Grafana Mimir — см. Provisioning источников, как подключить Mimir.


Далее: Pyroscope: непрерывное профилирование