Prometheus: Configuration de Prometheus Blackbox Exporter

Cette documentation fait partie du guide Blackbox Exporter. Consultez le guide complet ici : 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 Manager inclus pour envoyer des alertes vers Slack, Mattermost, PagerDuty, etc.
  • Serveur email dédié pour envoyer un nombre illimité d'alertes par e-mail.
  • Blackbox pour sonder HTTP, ICMP, TCP et 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 !

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.

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.

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 scrapesBlackbox UI affichant les résultats des derniers scrapes