Prometheus: Konfiguration des Prometheus Blackbox Exporters

Diese Dokumentation ist Teil des Blackbox Exporter-Leitfadens. Den vollständigen Leitfaden finden Sie hier: Wie man den Prometheus Blackbox Exporter verwendet, um HTTP- und ICMP (Ping)-Endpunkte zu prüfen.

👋 Willkommen in der Stackhero-Dokumentation!

Stackhero bietet eine vollständig verwaltete Prometheus Cloud Plattform, die auf Zuverlässigkeit und Einfachheit ausgelegt ist:

  • Alert Manager ist integriert, sodass Sie Warnmeldungen direkt an Slack, Mattermost, PagerDuty und andere gängige Ziele weiterleiten können.
  • Ein dedizierter E-Mail-Server ermöglicht das Versenden von unbegrenzten E-Mail-Benachrichtigungen ohne zusätzlichen Konfigurationsaufwand.
  • Blackbox ist enthalten und ermöglicht das Prüfen von HTTP, ICMP, TCP und weiteren Protokollen für ein umfassendes Monitoring.
  • Konfigurieren Sie Ihre Instanz schnell und einfach mit dem Online-Konfigurationseditor – manuelles Bearbeiten von YAML ist nicht erforderlich.
  • Updates lassen sich mit nur einem Klick anwenden. Stackhero übernimmt den gesamten Upgrade-Prozess für Sie und minimiert so Ausfallzeiten und manuellen Aufwand.
  • Hohe Performance und starke Sicherheit sind durch Ihre eigene private, dedizierte Infrastruktur gewährleistet.

In etwa 5 Minuten einsatzbereit. Stackhero übernimmt die Einrichtung, damit Sie sich auf das Monitoring konzentrieren können – nicht auf die Wartung. Testen Sie das Prometheus Cloud Hosting von Stackhero, um Ihre Monitoring- und Alerting-Prozesse zu optimieren.

Das Einrichten des Blackbox Exporters erfordert die Arbeit mit zwei wichtigen Dateien: blackbox-exporter.yml für die Grundeinstellungen und prometheus.yml, um zu definieren, wie Prometheus Daten vom Exporter abruft.

Die Kernkonfiguration, die in der Datei blackbox-exporter.yml zu finden ist, gibt an, welche Protokolle unterstützt werden sollen und wie sie überwacht werden sollen.

Auf Stackhero für Prometheus ist diese Datei vorkonfiguriert, um sowohl ICMP-Überwachung als auch HTTP/HTTPS-Überwachung (über GET- und POST-Anfragen) direkt zu unterstützen. Wenn Sie diese Datei für fortgeschrittenere Szenarien anpassen müssen, können Sie sich Konfigurationsbeispiele im Blackbox Exporter-Repository ansehen und die offizielle Dokumentation für weitere Anleitungen konsultieren.

Der Großteil Ihrer Konfiguration erfolgt in der Datei prometheus.yml, in der Sie Prometheus anweisen, Daten vom Blackbox Exporter wie von jedem anderen Exporter abzurufen.

Betrachten Sie zum Beispiel die folgende Konfiguration, die ICMP (Ping)-Antworten von prometheus.io und grafana.com alle 15 Sekunden überprüft (wie durch das scrape_interval definiert). Sie können diesen Block in Ihre prometheus.yml-Datei innerhalb des Abschnitts scrape_configs einfügen und das targets-Array mit den Domainnamen oder IP-Adressen aktualisieren, die Sie überwachen möchten:

  - 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" ]

Ähnlich überwacht die folgende Konfiguration HTTP-Server. In dieser Konfiguration wird das Ziel als fehlerhaft markiert, wenn der HTTP-Antwortstatus nicht im 2xx-Bereich liegt. Sie können diesen Block in Ihre prometheus.yml-Datei unter dem Abschnitt scrape_configs einfügen und das targets-Array mit den URLs aktualisieren, die Sie überwachen möchten:

  - 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/" ]

Sobald Ihre Scrape-Jobs konfiguriert sind, können Sie Debug-Protokolle in der Blackbox-UI überprüfen. Der Link zur UI ist auf Ihrem Stackhero-Dashboard verfügbar und bietet wertvolle Einblicke in die Prüfergebnisse.

Blackbox-UI zeigt die Ergebnisse der letzten ScrapesBlackbox-UI zeigt die Ergebnisse der letzten Scrapes