Geekflare wird von unserem Publikum unterstützt. Es kann sein, dass wir durch den Kauf von Links auf dieser Seite Affiliate-Provisionen verdienen.
Unter Entwicklung Zuletzt aktualisiert: September 24, 2023
Weitergeben:
Invicti Web Application Security Scanner - die einzige Lösung, die eine automatische Überprüfung von Schwachstellen mit Proof-Based Scanning™ ermöglicht.

Sie lieben Grafana für die Überwachung von Servermetriken? Dann werden Sie auch Blackbox Exporter für die Überwachung von Websites lieben!

In diesem Tutorial lernen Sie, Blackbox Exporter auf CentOS/RHEL zu installieren und zu verstehen, wie Sie es zusammen mit Prometheus und Grafana zur Überwachung der Website-Performance und -Uptime einsetzen können.

Was ist Blackbox Exporter?

Blackbox Ausführer von Prometheus wird verwendet, um Endpunkte wie HTTPS, HTTP, TCP, DNS und ICMP zu untersuchen. Nachdem Sie den Endpunkt definiert haben, generiert der Blackbox Exporter Hunderte von Metriken, die mit Grafana visualisiert werden können. Die Messung der Antwortzeit ist die wichtigste Funktion des Blackbox Exporters.

Blackbox Exporter ist eine selbst gehostete Lösung. Wenn Sie nach etwas Ähnlichem suchen, aber als SaaS oder Cloud-basiert, dann können Sie Grafana worldPing ausprobieren.

Voraussetzungen

Prometheus und Grafana müssen vorinstalliert sein. Folgen Sie diesem Artikel, um Prometheus und Grafana zu installieren.

Blackbox Exporter Installation

Lassen Sie mich Ihnen zunächst zeigen, wie Sie Blackbox Exporter installieren.

Schritt 1: Blackbox Exporter herunterladen

Rufen Sie die offizielle Seite auf, um das neueste Linux AMD Blackbox Exporter-Paket herunterzuladen. Ich lade die Datei blackbox_exporter-0.16.0.linux-amd64.tar.gz herunter.

  • Übertragen Sie die heruntergeladene Datei auf den Server
  • Entpacken Sie die Dateien aus dem Paket.
[centos@geekflare ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Prüfen Sie alle Dateien im Blackbox-Exporter.

[centos@geekflare ~]$ cd blackbox_exporter-0.16.0.linux-amd64/
[centos@geekflare blackbox_exporter-0.16.0.linux-amd64]$ ls -l
total 16672
-rwxr-xr-x. 1 centos centos 17050332 Nov 11 2019 blackbox_exporter
-rw-r--r--. 1 centos centos 629 Nov 11 2019 blackbox.yml
-rw-r--r--. 1 centos centos 11357 Nov 11 2019 LICENSE
-rw-r--r--. 1 centos centos 94 Nov 11 2019 HINWEIS

Die beiden Dateien blackbox_exporter und blackbox.yml sind hier wichtig.

  • blackbox_exporter: Dies ist eine ausführbare Datei für die Ausführung des Dienstes.
  • blackbox.yml: Eine YAML-Datei mit allen Konfigurationen des Backbox-Exporters, in der Sie alle zu prüfenden Endpunkte und auszuführenden Module definieren.

Mit dem folgenden Befehl erhalten Sie alle Flags, die Sie mit dem Blackbox-Exporter verwenden können.

[centos@geekflare blackbox_exporter-0.16.0.linux-amd64]$ ./blackbox_exporter -h
usage: blackbox_exporter [<flags>]

Flags:
-h, --help Zeigt eine kontextabhängige Hilfe an (versuchen Sie auch --help-long und --help-man).

--config.file="blackbox.yml"
Blackbox-Exporter-Konfigurationsdatei.
--web.listen-address=":9115"
Die Adresse, an der auf HTTP-Anfragen gelauscht werden soll.

--timeout-offset=0.5 Offset, der von der Zeitüberschreitung in Sekunden abgezogen wird.

--config.check Wenn true, validieren Sie die Konfigurationsdatei und beenden Sie sie dann.

--history.limit=100 Die maximale Anzahl der Elemente, die in der Historie gespeichert werden sollen.

--web.external-url=<url>
Die URL, unter der Blackbox exporter extern erreichbar ist (z.B. wenn Blackbox exporter über einen
Reverse Proxy bereitgestellt wird). Wird verwendet, um relative und absolute Links zurück zum Blackbox exporter selbst zu erzeugen. Wenn die URL einen
Pfadteil enthält, wird dieser als Präfix für alle HTTP-Endpunkte verwendet, die von Blackbox exporter bedient werden. Wenn Sie ihn weglassen, werden die entsprechenden Komponenten der URL
automatisch abgeleitet.

--web.route-prefix=<Pfad>
Präfix für die internen Routen der Web-Endpunkte. Standardmäßig wird der Pfad von --web.external-url verwendet.

--log.level=info Nur Protokollmeldungen mit dem angegebenen Schweregrad oder höher. Einer der folgenden Werte: [debug, info, warn, error]

--log.format=logfmt Ausgabeformat der Protokollmeldungen. Eines von: [logfmt, json]
--version Zeigt die Anwendungsversion an.

Schritt 2: Benutzer für Blackbox erstellen

Dieser Schritt ist optional.

Sie können entweder einen neuen Benutzer erstellen, um Blackbox auszuführen, oder bestehende Prometheus-Benutzer verwenden.

Erteilen Sie dem neuen Benutzer Berechtigungen und weisen Sie ihm die Rechte an allen Dateien zu.

[centos@geekflare ~]$ sudo useradd -rs /bin/false blackbox
[centos@geekflare ~]$ sudo chmod -R 777 /home/centos/blackbox_exporter-0.16.0.linux-amd64
[centos@geekflare ~]$ sudo chown -R blackbox:blackbox /home/centos/blackbox_exporter-0.16.0.linux-amd64

Schritt 3: Konfigurieren Sie den Blackbox-Dienst

Es ist an der Zeit, Blackbox Exporter als Dienst innerhalb von systemd zu konfigurieren. Erstellen Sie eine Datei blackbox.service und fügen Sie die unten genannten Zeilen in die Datei ein und speichern Sie sie.

[centos@geekflare ~]$ sudo gedit /etc/systemd/system/blackbox.service

[Einheit]
Beschreibung=Blackbox Exporter Service
Wants=network-online.target
After=network-online.target

[Dienst]
Type=simple
User=blackbox
Group=blackbox
ExecStart=/home/centos/blackbox_exporter-0.16.0.linux-amd64/blackbox_exporter --config.file==/home/centos/blackbox_exporter-0.16.0.linux-amd64/blackbox.yml

[Install]
WantedBy=multi-user.target

Vergessen Sie nicht, den Pfad in den tatsächlichen Pfad zu ändern, in den Sie die Datei extrahiert haben.

Schritt 4: Blackbox Exporter starten

Führen Sie die folgenden Befehle aus, um den Blackbox Exporter als Dienst zu starten.

[centos@geekflare ~]$ sudo systemctl daemon-reload
[centos@geekflare ~]$ sudo systemctl start blackbox.service
[centos@geekflare ~]$ sudo systemctl status blackbox.service
● blackbox.service - Blackbox Exporter Service
Geladen: geladen (/etc/systemd/system/blackbox.service; aktiviert; Hersteller-Voreinstellung: deaktiviert)
Aktiv: aktiv (läuft) seit Sat 2020-06-13 17:28:40 EDT; vor 1s
Haupt-PID: 30427 (blackbox_export)
Aufgaben: 5
CGroup: /system.slice/blackbox.service
└─30427 /usr/local/bin/blackbox_exporter --config.file=/etc/blackbox.yml

Jun 13 17:28:40 geekflare.linuxvmimages.com systemd[1]: Blackbox Exporter Service gestartet.
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:212 msg="Starting b...b9a9)"
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:213 msg="Build cont...SSING)
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30427]: level=info ts=2020-06-13T21:28:40.283Z caller=main.go:225 msg="Loaded config file"
Jun 13 17:28:40 geekflare.linuxvmimages.com blackbox_exporter[30

Großartig!

Der Blackbox-Exporter wurde erfolgreich gestartet. Unter http://localhost:9115/ können Sie sehen, dass Blackbox Exporter läuft.

Blackbox-Ausführer - geekflare

Integration von Blackbox in Prometheus

Lassen Sie uns Blackbox Exporter mit Prometheus integrieren, um mit dem Scraping der Metriken zu beginnen.

  • Fügen Sie einen Blackbox-Job mit den unten aufgeführten Konfigurationen in die Datei prometheus.yml ein. Ich werde die Leistung von https://www.telegraph.co.uk überwachen .
[centos@geekflare ~]$ sudo gedit /etc/prometheus/prometheus.yml

- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx] # Suche nach einer HTTP 200 Antwort.
static_configs:
- targets:
- https://www.telegraph.co.uk
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115 # Der echte Hostname:Port des Blackbox-Exporters.
  • Starten Sie Prometheus neu.
[centos@geekflare ~]$ sudo systemctl restart prometheus.service
  • Wenn Sie die Ziele unter http://localhost:9090/targets erneut überprüfen, finden Sie einen Blackbox-Job, der mit dem von mir definierten Endpunkt läuft.
blackbox job target - geekflare
  • Klicken Sie auf den Graph und führen Sie die Abfrage probe_http_duration_seconds aus .
prometheus abfrage - geekflare
  • Es wird eine Visualisierung der Daten erstellt, die von Prometheus überwacht werden.
prometheus-Visualisierung - geekflare

Jetzt ist es an der Zeit, den Blackbox-Job auf Grafana zu visualisieren.

Es gibt viele Möglichkeiten, damit zu beginnen, aber eine der schnellsten wäre, mit einem vorgefertigten Dashboard zu beginnen - dem Prometheus Blackbox Ausführer.

  • Gehen Sie zum Grafana Dashboard, klicken Sie auf Zeichen und dann auf Importieren.
  • Geben Sie in Import via grafana.com die Dashboard-ID ein. 7587 ein und klicken Sie auf Laden.
  • Wählen Sie dann die Prometheus-Datenquelle und klicken Sie auf Importieren.
grafana importieren - geekflare
  • Das Prometheus Blackbox Exporter Dashboard wird importiert.
  • Sie können Metriken wie Global Probe Duration, Status, HTTP Duration, Average Probe Duration, Average DNS Lookup, SSL Expiry und viele mehr anzeigen lassen.
grafana dashboard - geekflare
grafana dashboard 1 - geekflare
  • Dies sind alle separaten Bereiche auf dem Dashboard. Lassen Sie sich das Panel HTTP-Dauer im Detail zeigen. Dieses Panel zeigt die Zeit an, die für die Verbindung, die Verarbeitung, die Auflösung, die tls und die Übertragung von Anfragen benötigt wird.
HTTP Dauer

Auf dem Dashboard gibt es viele Optionen, mit denen Sie herumspielen können. Sie können den Zeitbereich ändern, für den die Visualisierung angezeigt werden soll. Sie können auch das Zeitintervall für die Datenaktualisierung ändern; hier werden die neuen Daten alle 5 Sekunden im Dashboard angezeigt.

Zeitspanne
  • Wenn Sie auf den Abwärtspfeil HTTP Dauer klicken, erhalten Sie die unten gezeigten Optionen. Klicken Sie auf Bearbeiten.
Panel bearbeiten
  • Unterhalb des Visualisierungspanels erhalten Sie einen Abfrage-Editor. Derzeit wird die Abfrage aus dem folgenden Schnappschuss visualisiert - probe_http_duration_seconds.
Abfrage-Editor
  • Es gibt Hunderte von Abfragen, die Sie ganz einfach visualisieren und je nach Bedarf zu Ihrem Dashboard hinzufügen können.
Metriken
  • Sie haben auch zahlreiche Optionen, um die Art der Visualisierung zu ändern. Die durchschnittliche Prüfdauer wird auf dem Dashboard im Textformat angezeigt. Klicken Sie im Visualisierungsbereich auf der rechten Seite auf die Option Leitfaden für die durchschnittliche Messdauer.
durchschnittliche Sondierungsdauer
  • Und so ändert sich die Darstellung.
Durchschnittliche Messdauer

Fazit

Die obigen Ausführungen sollen Ihnen nur einen Eindruck davon vermitteln, wie einfach es ist, die Website mit Prometheus Blackbox und Grafana zu überwachen. Es gibt eine Fülle von Optionen, und ich empfehle Ihnen dringend, damit herumzuspielen, um es auszuprobieren. Wenn Sie neugierig sind, Grafana zu erlernen, dann schauen Sie sich seine Online-Kurs an.

  • Avi
    Autor
    Avi ist ein Technik-Enthusiast mit Fachkenntnissen in Trendtechnologien wie DevOps, Cloud Computing, Big Data und vielen mehr. Seine Leidenschaft ist es, Spitzentechnologien zu lernen und sein Wissen mit anderen zu teilen, indem er... mehr lesen
Dank an unsere Sponsoren
Weitere gute Lektüre zum Thema Entwicklung
Energie für Ihr Unternehmen
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti nutzt das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu überprüfen und innerhalb weniger Stunden verwertbare Ergebnisse zu erzielen.
    Versuchen Sie Invicti
  • Web Scraping, Residential Proxy, Proxy Manager, Web Unlocker, Search Engine Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie Brightdata
  • Monday.com ist ein All-in-One-Betriebssystem, mit dem Sie Projekte, Aufgaben, Arbeit, Vertrieb, CRM, Arbeitsabläufe und vieles mehr verwalten können.
    Versuch Montag
  • Intruder ist ein Online-Schwachstellen-Scanner, der Schwachstellen in Ihrer Infrastruktur aufspürt, um kostspielige Datenschutzverletzungen zu vermeiden.
    Versuchen Sie Intruder