Comprendre et analyser efficacement les métriques collectées par Prometheus peut être complexe.
Sans les bons outils, il est difficile d’optimiser la surveillance et d’assurer la disponibilité des services.
PromQL offre une solution flexible et puissante pour interroger et analyser les métriques dans Prometheus, facilitant ainsi une gestion optimale.
Devenez expert dans la supervision d'infrastructures avec Prometheus.
PromQL est un langage de requête développé pour Prometheus qui permet d’extraire et d’analyser des métriques de manière flexible et puissante. Avec PromQL, vous pouvez interroger les données de séries temporelles stockées par Prometheus, calculer des agrégations, extraire des données spécifiques pour chaque exporter, et bien plus encore.
Accéder à l'Interface PromQL dans Prometheus
Pour exécuter des requêtes dans Prometheus :
Ouvrir l’interface de Prometheus :
Dans votre navigateur, accédez à l’URL où Prometheus est hébergé. Par défaut, cette URL est
http://localhost:9090 .
Naviguer vers la Console de Requête :
Dans le menu principal de Prometheus, sélectionnez l’onglet “Graph” . C’est dans cet espace que vous pourrez écrire, exécuter, et visualiser les requêtes PromQL.
L’interface est divisée en deux zones :
1 : Zone pour entrer les requêtes PromQL.
2 : Bouton permettant d’afficher les résultats sous forme de tableau ou de graphique, facilitant ainsi l’exploration et la visualisation des métriques.
Exécution de Requêtes PromQL de Base
Voici quelques exemples de requêtes de base qui peuvent vous aider à mieux comprendre l’état de votre infrastructure :
Vérifier les Exporters avec Prometheus
Une métrique essentielle à surveiller est la disponibilité des exporters, car ils jouent un rôle crucial en fournissant les données que Prometheus collecte.
- Requête :up
- Description :Cette requête simple retourne l’état de chaque exporter. Un résultat de 1 signifie que l’exporter est actif et fonctionne, tandis qu’un 0 indique qu’il est inactif ou inaccessible.
Afficher Séries Temporelles Collectées
Cette métrique vous permet de connaître le nombre total de séries de temps, ou « time series, » récupérées par Prometheus.
- Requête :count({__name__!= » »})
- Description :Cette requête calcule le nombre total de métriques uniques que Prometheus collecte à un moment donné, en filtrant celles qui ne sont pas vides. C’est une mesure utile pour voir l’étendue des données récupérées.
Comptage Total des Requêtes HTTP
Supposons que vous surveillez une application web. Pour vérifier le nombre total de requêtes HTTP sur un serveur web (via un exporter comme Node Exporter), vous pouvez utiliser une requête de compteur.
- Requête :http_requests_total
- Description :Cette requête renvoie le nombre de requêtes HTTP totales reçues. Pour une analyse plus poussée, vous pouvez filtrer par des étiquettes telles que le chemin d’URL ou le code de statut de la requête.
Exploration et Démos PromQL
Les requêtes PromQL peuvent être affinées selon les besoins spécifiques de l’analyse :
Requête de Filtrage par Exporter:
Pour interroger un exporter spécifique, ajoutez un filtre basé sur une étiquette (label). Par exemple, pour interroger les métriques du Node Exporter sur un serveur spécifique, utilisez :
node_cpu_seconds_total{instance="localhost:9100"}
Requête d’Agrégation:
PromQL propose des fonctions d’agrégation telles que sum, avg, max, etc., permettant de résumer des métriques à travers plusieurs dimensions. Par exemple, pour obtenir l’utilisation moyenne du CPU, vous pourriez utiliser :
avg(node_cpu_seconds_total) by (instance)
Cette requête calcule l’utilisation moyenne du CPU pour chaque instance.
Analyser les Données de Métriques PromQL
Pour approfondir l’exploration des métriques :
Liste des Métriques Disponibles : En cliquant sur le bouton Execute, vous pouvez afficher toutes les métriques disponibles. Il est également possible de taper partiellement le nom d’une métrique et d’utiliser l’auto-complétion pour explorer rapidement les options disponibles.
Visualisation des Données :
Mode Tableau : Affiche les données sous forme de table, utile pour visualiser les valeurs brutes.
Mode Graphique : Visualisation des données sous forme de graphique, ce qui permet de voir facilement les tendances et les variations des données dans le temps.
Scénarios Pratiques avec PromQL
- Surveillance de l’État d’un Service :
probe_success{instance="http://example.com"}
Cette requête vous indique si un service est opérationnel (1) ou non (0). Idéal pour les applications web et les serveurs HTTP surveillés via Blackbox Exporter.
- Temps Moyen d’Utilisation de la Mémoire :
avg_over_time(node_memory_MemAvailable_bytes[5m])
Cette requête retourne l’utilisation moyenne de la mémoire disponible sur une période de 5 minutes, donnant une idée de l’évolution de la consommation de mémoire sur une fenêtre temporelle.
Importance et Conclusion de PromQL
L’utilisation de PromQL dans Prometheus permet de transformer de simples métriques en insights pratiques pour la gestion d’infrastructures et d’applications. En maîtrisant PromQL, vous pouvez ajuster les requêtes pour des analyses complexes, surveiller les performances de vos services, et garantir la disponibilité et la réactivité de vos systèmes.
Dans cet ebook noius allons voir Exécuter des requêtes PromQL dans Prometheus,
Démonstration Exécution de requêtes de base Disponibilité des exporters Nombre de métriques récupérées
Vous entrer les requetes sur 1 et pour 2 vous cliquer si vouv vlouklez lister oubuien explorer les metics :
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
Comment accéder à l'interface de requête PromQL ?
Comment vérifier la disponibilité des exporters avec PromQL ?
Comment afficher le nombre de séries de temps collectées ?
Comment exécuter des requêtes de filtrage par exporter ?
Comment utiliser les fonctions d'agrégation dans PromQL ?
Conclusion
En maîtrisant PromQL, vous transformez les métriques en insights précieux pour la gestion de vos infrastructures. Quelle autre fonctionnalité de Prometheus vous intrigue le plus ?