Skip to content

Mimir📜

Mimir is an open source, horizontally scalable, highly available, multi-tenant Time Series Database (TSDB) for long-term storage for Prometheus.

Architecture📜

While Mimir itself supports a number of deployment modes including monolith, simple-scalable, and microservice-based paradigms, the community supports only microservice-based via helm install, so that is the only deployment mode supported by Big Bang.

Write Path📜

flowchart TD
  subgraph "Mimir Components"
    Gateway
    Distributor[Distributor]
    subgraph "Ingesters"
      Ingester[Ingester]
      Ingester2[Ingester]
      Ingester3[Ingester]
    end
    Store-Gateway[Store Gateway<br/>Caches bucket index]
    Compactor[Compactor<br/>Optimizes storage]
  end
  Storage[("Object Storage (S3)")]

  Prom[Prometheus Scrapers] --> Gateway
  Gateway --> Distributor
  Distributor --> Ingesters
  Ingesters --> Store-Gateway
  Compactor --> Storage
  Store-Gateway --> Storage

Read Path📜

flowchart BT
Storage[("Object Storage (S3)")]
  subgraph "Mimir Components"
    subgraph Queriers
      Querier0[Querier]
      Querier1[Querier]
      Querier2[Querier]
    end
    subgraph Ingesters
      Ingester0[Ingester]
      Ingester1[Ingester]
      Ingester2[Ingester]
    end
    subgraph QueryScheduler[Optional]
      QS[Query Scheduler]
    end
    StoreGateway[Store Gateway]
    QueryFrontend[Query Frontend]
    Memcached["Memcached (optional)"]
    Gateway
  end

  Storage --> StoreGateway
  StoreGateway --> Queriers
  Ingesters --> Queriers
  Queriers --> QueryScheduler
  QueryScheduler --> QueryFrontend
  QueryFrontend --> Gateway
  Gateway --> Reader["Grafana, Kiali, etc."]

Multitenancy📜

While multitenancy is one of Mimir’s standout features compared to other long-term Prometheus storage options, no tenancy decisions are made by Big Bang. By default in Big Bang, all metrics consumed by Mimir belong to the ‘anonymous’ tenant.

Big Bang Touchpoints📜

Licensing📜

Grafana Mimir is open-source, licensed under AGPL v3.0.

UI📜

While Mimir is a Prometheus-compatible storage backend, it does not expose the Prometheus UI. It is expected that Mimir will be consumed entirely via its API. Mimir does have an administrative interface that is useful for debugging and diagnostics, but the Big Bang team does not expose this by default.

Storage📜

Mimir is designed to work with an external S3-compatible object storage service. It can function by writing metrics to disk directly. In Big Bang, it is configured to do so when Minio is not enabled and no other object storage configuration is provided.

Logging📜

Grafana Mimir writes its logs to stderr. These logs will be picked up by the logging collector configured within the cluster.

High Availability📜

Grafana Mimir is only community supported in a highly-scalable microservice-based deployment mode. The Big Bang team makes no assumptions about consumer scaling needs and leaves the exact configuration for a performant deployment up to the Big Bang consumer. By default, the components are deployed with at least n+1 availability.

Grafana publishes a guide for Mimir capacity planning that can be helpful when performing scaling configuration.

Health Checks📜

Grafana Mimir is configured with standard liveness and readiness probes. In addition to the health of Mimir itself, cluster administrators can port-forward the admin UI to get an overall view of cluster and gossip ring health.