Prometheus: Blackbox Exporter
Comment utiliser Prometheus Blackbox Exporter pour sonder des endpoints HTTP et ICMP (ping)
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution Prometheus cloud prête à l'emploi qui offre de nombreux avantages, notamment :
Alert Managerinclus pour envoyer des alertes versSlack,Mattermost,PagerDuty, etc.- Serveur email dédié pour envoyer un nombre illimité d'alertes par e-mail.
Blackboxpour sonderHTTP,ICMP,TCPet bien plus.- Configuration simple grâce à l'éditeur de fichier de configuration en ligne.
- Mises à jour faciles en un clic.
- Performance optimale et sécurité renforcée grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il suffit de 5 minutes pour essayer la solution Prometheus cloud hosting de Stackhero !
Introduction à Prometheus Blackbox Exporter
Le Prometheus Blackbox Exporter est un outil puissant qui vous permet de sonder des endpoints via différents protocoles, notamment HTTP, HTTPS, DNS, TCP et ICMP. Cette flexibilité offre une surveillance complète de divers aspects de votre infrastructure et de vos services.
Par exemple, lors du sondage de endpoints HTTP et HTTPS, vous pouvez :
- Vérifier la disponibilité d'un site web en contrôlant le code HTTP 2xx.
- S'assurer que du contenu spécifique est retourné, comme la correspondance du titre d'une page avec le texte attendu.
- Valider les certificats TLS en récupérant leur date d'expiration, ce qui vous aide à anticiper les renouvellements.
- Mesurer les performances en évaluant le temps de résolution DNS et la durée du handshake TLS.
Avec ICMP, vous pouvez vérifier que les serveurs répondent aux requêtes ping et mesurer leur temps de réponse. De plus, le sondage DNS fournit des informations sur les temps de réponse, tandis que le sondage TCP permet de se connecter à un service pour vérifier le contenu et la version de la bannière d'un serveur SSH.
Vue d'ensemble de Stackhero for Prometheus
Configuration de Prometheus Blackbox Exporter
La mise en place du Blackbox Exporter nécessite de travailler avec deux fichiers principaux : blackbox-exporter.yml pour les paramètres de base et prometheus.yml pour définir comment Prometheus collecte les données auprès de l'exporter.
Configuration du cœur de Blackbox Exporter
La configuration principale, située dans le fichier blackbox-exporter.yml, précise quels protocoles sont pris en charge et comment ils doivent être surveillés.
Sur Stackhero for Prometheus, ce fichier est préconfiguré pour prendre en charge la surveillance ICMP ainsi que la surveillance HTTP/HTTPS (via les requêtes GET et POST) dès le départ. Si vous souhaitez adapter ce fichier à des scénarios plus avancés, vous pouvez consulter des exemples de configuration dans le dépôt Blackbox Exporter et vous référer à la documentation officielle pour plus d'informations.
Configuration de la cible Prometheus Blackbox Exporter
L'essentiel de votre configuration se fera dans le fichier prometheus.yml, où vous indiquez à Prometheus de collecter les données du Blackbox Exporter comme pour tout autre exporter.
Par exemple, la configuration ci-dessous vérifie les réponses ICMP (ping) de prometheus.io et grafana.com toutes les 15 secondes (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 la même façon, la configuration suivante permet de surveiller des serveurs HTTP. Dans ce cas, si le code de réponse HTTP n'est pas dans la plage 2xx, la cible est considérée comme en erreur. 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 à 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 jobs de collecte configurés, vous pouvez consulter les logs de debug dans la Blackbox UI. Le lien vers l'interface est disponible sur votre tableau de bord Stackhero et vous donne un aperçu détaillé des résultats des sondes.
Blackbox UI affichant les résultats des derniers scrapes
Configuration de Grafana pour afficher les données Prometheus issues du Blackbox Exporter
Grafana facilite la création de dashboards pour visualiser les métriques de performance et de disponibilité collectées par le Blackbox Exporter. En quelques clics, vous pouvez mettre en place des dashboards dynamiques qui valorisent vos données Prometheus. Pour plus d'informations sur l'intégration de Grafana avec Prometheus, vous pouvez consulter la documentation de Grafana.
Exemple de dashboard généré par Grafana, basé sur les données de Prometheus Blackbox Exporter