Prometheus хранит метрики на локальном диске одного сервера — надёжно, но не бесконечно и не горизонтально. Mimir — принимающая сторона remote_write: масштабируется по узлам, хранит историю дольше, чем позволяет один диск.
Со стороны Prometheus подключение — одна строчка:
remote_write:
- url: "http://localhost:9009/api/v1/push"
Порт 9009 и путь /api/v1/push — совместимый с обычным Prometheus remote_write протокол, поэтому переход на Mimir не требует менять, как метрики собираются — меняется только, куда они в итоге складываются на долгий срок.
Mimir изначально мультитенантный — каждый запрос (и на запись, и на чтение) несёт HTTP-заголовок X-Scope-OrgID, который определяет, какому тенанту принадлежит запрос:
remote_write:
- url: "http://mimir:9009/api/v1/push"
headers:
X-Scope-OrgID: "team-backend"
Без авторизующего reverse-proxy перед Mimir этот заголовок можно подставить напрямую в конфиг, как в примере выше — но тогда любой, кто может писать в этот URL, может писать под любым X-Scope-OrgID, который сам укажет. В проде обычно ставят reverse-proxy, который сам простaвляет заголовок на основе аутентификации, а не доверяет клиенту.
Для одного тенанта на всю инсталляцию (самый частый сценарий небольших команд) заголовок всё равно обязателен — просто фиксированное одно значение на все запросы.
На этом — конец серии про LGTM-стек: от node_exporter, снимающего метрики хоста, через postgres_exporter/встроенный плагин RabbitMQ, единый коллектор Alloy, три бэкенда для логов/трейсов/метрик (Loki/Tempo/Mimir) и сам Prometheus как точку сбора. Дальше — уже частности конкретного дашборда и алертов под свою инфраструктуру.
#prometheus #grafana #lgtm
