Prometheus: Blackbox Exporter
Comment utiliser Prometheus Blackbox Exporter pour sonder les endpoints HTTP et ICMP (ping)
👋 Bienvenue dans la documentation Stackhero !
Stackhero vous propose une plateforme Prometheus cloud entièrement gérée, conçue pour la fiabilité et la simplicité :
Alert Managerest intégré, ce qui vous permet d’acheminer les alertes directement versSlack,Mattermost,PagerDutyet d’autres destinations populaires.- Un serveur email dédié vous permet d’envoyer un nombre illimité d’alertes par email sans configuration supplémentaire.
Blackboxest inclus, vous permettant de sonder les protocolesHTTP,ICMP,TCPet autres pour une surveillance complète.- Configurez votre instance rapidement grâce à l’éditeur de fichier de configuration en ligne. Plus besoin de gérer le YAML manuellement.
- Appliquez les mises à jour en un seul clic. Stackhero s’occupe du processus de mise à niveau pour vous, réduisant ainsi les interruptions et les interventions manuelles.
- Performance élevée et sécurité renforcée sont incluses grâce à votre propre infrastructure privée et dédiée.
Mettez votre instance en service en environ 5 minutes. Stackhero s’occupe de l’installation pour que vous puissiez vous concentrer sur la surveillance, pas sur la maintenance. Essayez l’hébergement Prometheus cloud sur Stackhero pour simplifier vos flux de travail de monitoring et d’alerting.
Introduction à Prometheus Blackbox Exporter
Le Prometheus Blackbox Exporter est un outil puissant qui vous permet de sonder des endpoints en utilisant divers protocoles, y compris HTTP, HTTPS, DNS, TCP et ICMP. Cette flexibilité permet une surveillance complète des différents aspects de votre infrastructure et de vos services.
Par exemple, lors du sondage des endpoints HTTP et HTTPS, vous pouvez :
- Vérifier la disponibilité d'un site web en contrôlant un code de statut HTTP 2xx.
- Assurer que du contenu spécifique est retourné, comme faire correspondre un titre de page web au texte attendu.
- Valider les certificats TLS en récupérant leurs dates d'expiration, vous aidant à prévenir des problèmes de renouvellement inattendus.
- Mesurer la performance en évaluant les temps de résolution DNS et la durée de la poignée de main TLS.
En utilisant ICMP, vous pouvez confirmer que les serveurs répondent aux requêtes ping et mesurer leurs temps de réponse. De plus, le sondage DNS fournit des informations sur les temps de réponse, tandis que le sondage TCP vous permet de vous connecter à un service pour vérifier le contenu et la version d'une bannière de serveur SSH.
Vue d'ensemble de Stackhero pour Prometheus
Configuration de Prometheus Blackbox Exporter
La mise en place du Blackbox Exporter implique de travailler avec deux fichiers clés : blackbox-exporter.yml pour les paramètres de base et prometheus.yml pour définir comment Prometheus extrait les données de l'exporter.
Configuration du cœur de Blackbox Exporter
La configuration de base, trouvée dans le fichier blackbox-exporter.yml, spécifie quels protocoles prendre en charge et comment ils doivent être surveillés.
Sur Stackhero pour Prometheus, ce fichier est préconfiguré pour prendre en charge à la fois la surveillance ICMP et la surveillance HTTP/HTTPS (via les requêtes GET et POST) dès le départ. Si vous avez besoin d'adapter ce fichier pour des scénarios plus avancés, vous pouvez consulter des exemples de configuration dans le répertoire Blackbox Exporter et consulter la documentation officielle pour plus de conseils.
Configuration de la cible de Prometheus Blackbox Exporter
La plupart de votre configuration se fera dans le fichier prometheus.yml, où vous instruisez Prometheus pour extraire des données de Blackbox Exporter comme tout autre exporter.
Par exemple, considérez la configuration ci-dessous qui vérifie les réponses ICMP (ping) de prometheus.io et grafana.com toutes les 15 secondes (comme défini par le scrape_interval). Vous pouvez ajouter ce bloc à votre fichier prometheus.yml dans la section scrape_configs et mettre à jour le tableau targets avec les noms de domaine ou adresses IP que vous souhaitez surveiller :
- job_name: "blackbox-icmp"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "icmp" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "prometheus.io", "grafana.com" ]
De même, la configuration ci-dessous surveille les serveurs HTTP. Dans cette configuration, si le statut de réponse HTTP n'est pas dans la plage 2xx, la cible est signalée comme erronée. Vous pouvez insérer ce bloc dans votre fichier prometheus.yml sous la section scrape_configs et mettre à jour le tableau targets avec les URLs que vous souhaitez surveiller :
- job_name: "blackbox-http"
metrics_path: "/blackbox-exporter/probe"
params:
module: [ "http_2xx" ]
relabel_configs:
- source_labels: [ "__address__" ]
target_label: "__param_target"
- source_labels: [ "__param_target" ]
target_label: "instance"
- target_label: "__address__"
replacement: "prometheus-blackbox-exporter:9115"
static_configs:
- targets: [ "https://prometheus.io/", "https://grafana.com/" ]
Une fois vos tâches de scraping configurées, vous pouvez consulter les journaux de débogage dans l'interface Blackbox. Le lien vers l'interface est disponible sur votre tableau de bord Stackhero, offrant des informations précieuses sur les résultats des sondages.
Interface Blackbox montrant les résultats des derniers sondages
Configuration de Grafana pour afficher les données Prometheus du Blackbox Exporter
Grafana facilite la création de tableaux de bord qui visualisent les métriques de performance et de disponibilité collectées par le Blackbox Exporter. En quelques clics, vous pouvez configurer des tableaux de bord dynamiques qui donnent vie à vos données Prometheus. Pour plus de détails sur l'intégration de Grafana avec Prometheus, vous pouvez explorer la documentation de Grafana.
Exemple de tableau de bord généré par Grafana, basé sur les données de Prometheus Blackbox Exporter