This is documentation for the next version of Grafana Mimir documentation. For the latest stable release, go to the latest version.
Grafana Mimir deployment modes
Grafana Mimir offers two deployment modes to accommodate different operational requirements and scale needs. Choose the deployment mode that best fits your use case:
- Monolithic mode: Run all components in a single process for simple deployments.
- Microservices mode: Deploy components separately for maximum scalability and flexibility.
Configure the deployment mode using the -target
parameter, which you can set via CLI flag or YAML configuration.
About monolithic mode
Monolithic mode runs all required components in a single process. This mode is ideal for getting started or running Grafana Mimir in a development environment.
To enable monolithic mode, set -target=all
.
To see the complete list of components that run in monolithic mode, use the -modules
flag:
./mimir -modules
This diagram shows how Mimir works in monolithic mode:
Scale monolithic mode
You can horizontally scale monolithic mode by deploying multiple Mimir binaries with -target=all
. This approach, shown in the following diagram, provides high availability and increased scale without the configuration complexity of microservices mode.
Note
Because monolithic mode requires scaling all Grafana Mimir components together, this deployment mode isn’t recommended for large-scale deployments.
About microservices mode
Microservices mode deploys each component in separate processes, enabling independent scaling and creating granular failure domains. Microservices mode is recommended for production environments.
The following diagrams show how Mimir works in microservices mode using ingest storage and classic architectures. For more information about the two supported architectures in Grafana Mimir, refer to Grafana Mimir architecture.
Ingest storage architecture:
Classic architecture:
In microservices mode, each Grafana Mimir process is invoked with its -target
parameter set to a specific Grafana Mimir component (for example, -target=ingester
or -target=distributor
). To get a working Grafana Mimir instance, you must deploy every required component. For more information about each of the Grafana Mimir components, refer to
Grafana Mimir advanced architecture.
To deploy Grafana Mimir in microservices mode, use Kubernetes and the mimir-distributed Helm chart.