RousselTMLEARNING

Article · Grafana Mimir : de la découverte à l'expertise

Déployer et exploiter Mimir sur Kubernetes

1. Le chart Helm mimir-distributed #

Un déploiement microservices clé en main.

Installation #

helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
kubectl create namespace mimir
helm install mimir grafana/mimir-distributed -n mimir -f values.yaml
# values.yaml (extrait)
mimir:
  structuredConfig:
    common:
      storage:
        backend: s3
        s3:
          endpoint: s3.eu-west-3.amazonaws.com
          region: eu-west-3
    blocks_storage:
      s3: { bucket_name: acme-mimir-blocks }
    ruler_storage:
      s3: { bucket_name: acme-mimir-ruler }
    alertmanager_storage:
      s3: { bucket_name: acme-mimir-alertmanager }
    limits:
      max_global_series_per_user: 3000000
      compactor_blocks_retention_period: 400d

minio:
  enabled: false        # MinIO intégré : pour les tests seulement

ingester:
  replicas: 3
  zoneAwareReplication: { enabled: true }
  persistentVolume: { size: 50Gi }
store_gateway:
  zoneAwareReplication: { enabled: true }
querier:
  replicas: 3
À savoir : Le chart fournit aussi un gateway nginx unique (écriture et lecture) : c'est l'URL à donner à Prometheus, Alloy et Grafana.
Bonne Pratique : Le dépôt du chart contient des fichiers small.yaml et large.yaml dimensionnés pour environ 1 million et 10 millions de séries actives : partez de l'un d'eux.

Ordres de grandeur #

ComposantDimensionné selon
distributorÉchantillons/s reçus (CPU)
ingesterSéries actives × facteur de réplication (mémoire, ~2,5 Ko/série en ordre de grandeur)
querierNombre et complexité des requêtes (CPU, mémoire)
store-gatewayNombre de blocs et taille des index (disque, mémoire)
compactorVolume ingéré par jour (disque temporaire)

2. Superviser Mimir #

Mimir surveille Mimir.

Le mixin officiel #

Le mimir-mixin fournit des dashboards Grafana (Writes, Reads, Queries, Compactor, Tenants, Overrides...), des règles d'enregistrement et des alertes avec runbooks. Le chart Helm peut les installer (metaMonitoring).

DashboardCe qu'on y lit
Mimir / WritesDébit, latence et erreurs par composant du chemin d'écriture
Mimir / ReadsLatence des requêtes, taux de cache, store-gateways
Mimir / TenantsSéries actives et échantillons rejetés par tenant
Mimir / CompactorDernière exécution, blocs en attente

3. Dépanner #

Les erreurs que tout le monde rencontre.

Diagnostic rapide #

SymptômeCause probableAction
429 ... per_user_series_limitLimite de séries du tenant atteinteRelever max_global_series_per_user ou réduire la cardinalité
400 ... out of order sampleÉchantillons en retard ou deux sources sans __replica__Vérifier les labels HA, ouvrir out_of_order_time_window
at least 2 live replicas requiredTrop d'ingesters indisponiblesVérifier /ingester/ring, oublier les instances mortes (« Forget »)
Trous dans les graphes après 12 hStore-gateway ne voit pas les blocsVérifier le compactor et le bucket index
Requêtes lentesCaches absents ou trop petitsDéployer memcached, vérifier max_query_parallelism
# Pages d'état utiles
curl -s http://mimir:8080/ready
curl -s http://mimir:8080/ingester/ring | head
curl -s http://mimir:8080/config | grep -A3 limits
kubectl -n mimir logs deploy/mimir-distributor | grep -i discarded

📄 Déployer et exploiter Mimir sur Kubernetes →

Mon suivi

  • ⏱ Durée estimée : ≈ 8 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Questions sur cette leçon

Aucune question pour l'instant : soyez le premier à demander de l'aide ou à partager votre configuration.

Poser une question sur cette leçon →

Articles recommandés

Déployer et exploiter Pyroscope sur Kubernetes

Installer Pyroscope avec Helm, collecter les profils du cluster avec Alloy (annotations et eBPF),...

Exploiter Thanos : supervision, performances, dépannage et alternatives

Bonnes pratiques d'exploitation Thanos : métriques et alertes clés, mixin, caches, limites, erreu...

Pourquoi Grafana Mimir ? Architecture et modes de déploiement

Les limites de Prometheus seul, ce qu'apporte Mimir (stockage long terme, haute disponibilité, mu...

Bonnes pratiques Grafana Mimir : architecture, limites, coûts et exploitation

Check-list de production pour Grafana Mimir : architecture, réplication par zone, limites par ten...

La stack LGTM (Loki, Grafana, Tempo, Mimir) : architecture et mise en place

Comprendre la stack LGTM de Grafana Labs : Loki pour les logs, Grafana pour la visualisation, Tem...

Mimir : le chemin d'écriture (distributor, ingesters, réplication et déduplication HA)

Comment Mimir ingère les métriques : remote_write, validation et limites du distributor, hash rin...

Mimir : ruler, Alertmanager et mimirtool

Évaluer des règles d'enregistrement et d'alerte dans Mimir, configurer l'Alertmanager multi-tenan...

Déployer Thanos sur Kubernetes (kube-prometheus-stack, Helm et Operator)

Installer Thanos sur Kubernetes : sidecar via kube-prometheus-stack, secret objstore, Bitnami/kub...

Exploiter VictoriaMetrics : vmalert, sauvegardes, Kubernetes et supervision

Évaluer règles et alertes avec vmalert, sauvegarder avec vmbackup, déployer sur Kubernetes avec l...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !