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 einsatzbereite Prometheus Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:

  • Alert Manager inklusive, um Warnungen an Slack, Mattermost, PagerDuty usw. zu senden.
  • Dedizierter E-Mail-Server zum Versenden von unbegrenzten E-Mail-Warnungen.
  • Blackbox zur Überprüfung von HTTP, ICMP, TCP und mehr.
  • Einfache Konfiguration mit Online-Konfigurationsdatei-Editor.
  • Mühelose Updates mit nur einem Klick.
  • Optimale Leistung und robuste Sicherheit durch eine private und dedizierte VM.

Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Prometheus Cloud Hosting-Lösung von Stackhero auszuprobieren!

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