Where Does Grafana Mimir Store Metrics?
Mimir stores TSDB data, blocks, and rules under configured dirs locally, with object storage for production.
Last updated
Mimir spreads state across several directories. Ingesters keep TSDBs including WAL under the tsdb dir, which must persist across restarts. The compactor works in its own data dir. Ruler and Alertmanager keep rules and state in theirs. Demo configs point all of these at /tmp, which is fine for an afternoon and fatal for a week.
Production replaces local dirs with object backends per store: blocks, ruler, and alertmanager each get a bucket or prefix. Filesystem backends exist for single node testing, with the same separation rules as object ones.
Where Grafana Mimir stores this, by platform
/tmp/mimir/tsdb
Ingester TSDB home including WAL. Must persist between restarts. Demo default under /tmp must move to real disk for any lasting install.
/tmp/mimir/compactor
Compactor working dir plus ruler and alertmanager state in sibling dirs. Split each store to its own bucket or prefix in production.
Frequently asked questions
How do I configure Mimir object storage?
Set blocks_storage plus alertmanager and ruler stores to separate buckets or prefixes. Sharing one path makes the server refuse to start.
How do I migrate Mimir data to new nodes?
Use the snapshot workflow between clusters. Copying raw dirs across nodes breaks, since node identity and shard ownership live inside the data.
Can I run the demo config in production?
No. Demo files use /tmp paths that vanish on reboot. Point tsdb dir, compactor data dir, and ruler storage at persistent mounts before ingesting anything real.
Notice an outdated path? Let us know.