Last active
December 12, 2025 14:12
-
-
Save hkboujrida/b7858223842f72aa8d0e95c64f42900c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Mimir Compactor - Paramètres Helm Chart | |
| ## Introduction | |
| Le **compactor** fusionne et optimise les blocs TSDB stockés dans l'object storage pour réduire les coûts et améliorer les performances de requêtes. | |
| --- | |
| ## Paramètres de déploiement Kubernetes | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `compactor.replicas` | `1` | Nombre d'instances du compactor | 2-3 pour haute disponibilité | | |
| | `compactor.resources.requests.cpu` | `100m` | CPU minimum garanti | 200m-500m | | |
| | `compactor.resources.requests.memory` | `512Mi` | Mémoire minimale garantie | 1Gi-2Gi | | |
| | `compactor.resources.limits.cpu` | `1` | Plafond CPU | 2-4 cores | | |
| | `compactor.resources.limits.memory` | `2Gi` | Plafond mémoire | 4Gi-8Gi | | |
| --- | |
| ## Paramètres du PersistentVolume | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `compactor.persistentVolume.enabled` | `false` | Active le stockage persistant local pour le travail de compaction | Toujours `true` | | |
| | `compactor.persistentVolume.size` | `20Gi` | Taille du volume (règle : 3x le plus gros bloc) | 50-100Gi | | |
| | `compactor.persistentVolume.storageClass` | `""` | Classe de stockage Kubernetes | SSD (`managed-premium`, `fast`) | | |
| --- | |
| ## Paramètres de compaction (extraArgs) | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `compactor.compaction-interval` | `1h` | Intervalle entre chaque cycle de scan/compaction | 30m-1h | | |
| | `compactor.compaction-concurrency` | `1` | Nombre de tenants compactés en parallèle par instance | 1-2 | | |
| | `compactor.blocks-retention-period` | `0` (désactivé) | Durée de rétention. Format : `30d`, `90d`, `1y` | Selon besoins métier | | |
| | `compactor.deletion-delay` | `12h` | Délai avant suppression effective des blocs marqués | 12-24h | | |
| | `compactor.sharding-enabled` | `false` | Active le partitionnement des tenants via hash ring | `true` si multi-réplicas | | |
| | `compactor.ring.store` | `memberlist` | Backend du hash ring : `memberlist`, `consul`, `etcd` | `memberlist` | | |
| --- | |
| ## Paramètres du sharding ring | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `compactor.sharding_ring.kvstore.store` | `memberlist` | Backend du ring de coordination | `memberlist` | | |
| | `compactor.sharding_ring.wait_stability_min_duration` | `1m` | Attente avant prise en charge après changement de topologie | 1m-2m | | |
| --- | |
| ## Paramètres de stratégie de compaction | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `compactor.data_dir` | `/data` | Répertoire local de travail | `/data` | | |
| | `compactor.block_ranges` | `[2h, 12h, 24h]` | Paliers de compaction temporels | `[2h, 12h, 24h]` | | |
| | `compactor.split_and_merge_shards` | `0` | Shards pour diviser les gros blocs (0 = désactivé) | 0 sauf gros tenants | | |
| | `compactor.split_groups` | `1` | Groupes traités en parallèle en mode split-and-merge | 1-2 | | |
| | `compactor.cleanup_interval` | `15m` | Fréquence de nettoyage des blocs partiels/expirés | 15m | | |
| | `compactor.max_compaction_time` | `1h` | Durée max d'une compaction avant timeout | 1h-2h | | |
| --- | |
| ## Paramètres d'affinité | |
| | Paramètre | Valeur exemple | Description | Recommandation production | | |
| |-----------|----------------|-------------|---------------------------| | |
| | `compactor.affinity.podAntiAffinity` | `preferredDuringScheduling...` | Règle de placement des pods | Activer pour HA | | |
| | `podAntiAffinity.weight` | `100` | Priorité de la règle (1-100) | 100 | | |
| | `podAntiAffinity.topologyKey` | `kubernetes.io/hostname` | Évite plusieurs compactors sur le même nœud | `kubernetes.io/hostname` | | |
| --- | |
| ## Paramètres de limites par tenant | |
| | Paramètre | Valeur défaut | Description | Recommandation production | | |
| |-----------|---------------|-------------|---------------------------| | |
| | `limits.compactor_blocks_retention_period` | `0` | Rétention globale ou par tenant via `runtime_config` | Selon SLA | | |
| --- | |
| ## Résumé des impacts | |
| | Catégorie | Paramètres clés | Impact | | |
| |-----------|-----------------|--------| | |
| | **Performance** | `compaction-concurrency`, `block_ranges`, `resources` | Vitesse de compaction | | |
| | **Coût stockage** | `blocks-retention-period`, `deletion-delay` | Volume conservé | | |
| | **Haute disponibilité** | `replicas`, `sharding-enabled`, `podAntiAffinity` | Résilience | | |
| | **Sécurité données** | `deletion-delay`, `cleanup_interval` | Protection pertes | | |
| | **Scaling** | `sharding-enabled`, `split_and_merge_shards` | Capacité multi-tenant | | |
| --- | |
| ## Métriques à surveiller | |
| | Métrique | Description | Seuil d'alerte | | |
| |----------|-------------|----------------| | |
| | `cortex_compactor_runs_completed_total` | Cycles de compaction terminés | Doit augmenter | | |
| | `cortex_compactor_runs_failed_total` | Cycles échoués | > 0 = investiguer | | |
| | `cortex_compactor_block_cleanup_failures_total` | Échecs de nettoyage | > 0 = investiguer | | |
| | `cortex_compactor_blocks_marked_for_deletion_total` | Blocs marqués pour suppression | Informatif | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment