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 fichierssmall.yamletlarge.yamldimensionnés pour environ 1 million et 10 millions de séries actives : partez de l'un d'eux.
Ordres de grandeur #
| Composant | Dimensionné selon |
|---|---|
| distributor | Échantillons/s reçus (CPU) |
| ingester | Séries actives × facteur de réplication (mémoire, ~2,5 Ko/série en ordre de grandeur) |
| querier | Nombre et complexité des requêtes (CPU, mémoire) |
| store-gateway | Nombre de blocs et taille des index (disque, mémoire) |
| compactor | Volume 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).
| Dashboard | Ce qu'on y lit |
|---|---|
| Mimir / Writes | Débit, latence et erreurs par composant du chemin d'écriture |
| Mimir / Reads | Latence des requêtes, taux de cache, store-gateways |
| Mimir / Tenants | Séries actives et échantillons rejetés par tenant |
| Mimir / Compactor | Dernière exécution, blocs en attente |
3. Dépanner #
Les erreurs que tout le monde rencontre.
Diagnostic rapide #
| Symptôme | Cause probable | Action |
|---|---|---|
429 ... per_user_series_limit | Limite de séries du tenant atteinte | Relever 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 required | Trop d'ingesters indisponibles | Vérifier /ingester/ring, oublier les instances mortes (« Forget ») |
| Trous dans les graphes après 12 h | Store-gateway ne voit pas les blocs | Vérifier le compactor et le bucket index |
| Requêtes lentes | Caches absents ou trop petits | Dé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 discardedMon suivi
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.
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...