Analyser des métriques complexes dans Prometheus peut être un défi constant.
Sans outils adéquats, cela peut ralentir les performances et rendre la surveillance inefficace.
L’article explore comment les Recording Rules de Prometheus simplifient ce processus en créant des métriques calculées prêtes à l’emploi.
Devenez expert dans la supervision d'infrastructures avec Prometheus.
Les Recording Rules dans Prometheus permettent de créer de nouvelles séries temporelles dérivées de calculs ou d’agrégations complexes. Contrairement aux Alerting Rules, elles n’incluent pas d’annotations ou de seuils pour des alertes, mais se concentrent uniquement sur le calcul et l’enregistrement de métriques.
Recording Rules vs Alerting Rules
Les Recording Rules se distinguent des Alerting Rules par leur objectif et leur utilisation. Elles sont principalement destinées à créer et enregistrer de nouvelles métriques dérivées pour simplifier les analyses complexes.
- Pas d’annotations :Les Recording Rules ne comportent pas d’annotations ou d’attributs pour signaler une alerte, elles servent uniquement à créer des métriques.
- Bonnes pratiques de nommage :Il est essentiel de nommer les règles de manière explicite et descriptive pour éviter toute confusion dans les tableaux de bord ou les requêtes. Par exemple, le nom instance:node_filesystem_used_percent:ratio indique clairement qu’il s’agit d’une métrique représentant le pourcentage d’utilisation du système de fichiers pour chaque instance.
Nous commençons par calculer le pourcentage d’utilisation du système de fichiers avec l’expression PromQL suivante :
100 - (100 * (node_filesystem_free_bytes / node_filesystem_size_bytes))
Résultat initial (sans enregistrement) : Cette expression permet de visualiser le pourcentage en temps réel.
Pour l’expression et pour le résultat :
Ensuite, pour enregistrer cette règle, nous suivons les étapes ci-dessous :
Créer un fichier recording.yml Prometheus
Ouvrir un terminal et exécuter la commande :
sudo vi /etc/prometheus/recording.yml
Puis y insérer la configuration suivante :
groups:
- name: system # Nom du groupe de règles d'enregistrement
rules:
- record: instance:node_filesystem_used_percent:ratio # Nom de la règle enregistrée
expr: 100 - (100 * (node_filesystem_free_bytes / node_filesystem_size_bytes)) # Calcul du pourcentage d’utilisation
- Ajout de la règle dans le fichier prometheus.yml
Ouvrir le fichier de configuration principal de Prometheus :
sudo vi /etc/prometheus/prometheus.yml
Ajouter le fichier recording.yml à la section rule_files comme suit :
rule_files:
- ./alerting.yml
- ./recording.yml
- Redémarrer Prometheus
Enregistrer les modifications, puis redémarrer Prometheus pour appliquer les nouvelles règles :
sudo systemctl restart prometheus
Validation des Recording Rules Prometheus
Une fois redémarré, nous pouvons vérifier que la règle est bien chargée dans Prometheus. Vérifier que la règle apparaît dans l’interface de Prometheus.
Conclusion sur les métriques Prometheus
Les Recording Rules simplifient l’analyse de données en créant des métriques calculées prêtes à l’emploi. Elles optimisent les performances de Prometheus en réduisant le besoin de recalculs pour des expressions complexes, tout en permettant une intégration fluide dans les tableaux de bord et les alertes avancées.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Quelle est la différence entre Recording Rules et Alerting Rules dans Prometheus?
Comment créer une Recording Rule dans Prometheus?
Pourquoi est-il important de nommer correctement les Recording Rules?
Quels sont les avantages des Recording Rules pour l'analyse de données dans Prometheus?
Comment valider que les Recording Rules sont correctement chargées dans Prometheus?
Conclusion
Les Recording Rules sont un outil puissant pour optimiser l’analyse des données dans Prometheus. En les utilisant, vous pouvez améliorer l’efficacité de vos systèmes de surveillance. Quelle autre fonctionnalité de Prometheus pensez-vous explorer pour maximiser vos performances de surveillance?