English English French French Spanish Spanish German German
Geekflare wird von unserem Publikum unterstützt. Wir können Affiliate-Provisionen durch den Kauf von Links auf dieser Website verdienen.
Teilen:

Wie kann die Website-Leistung mit Blackbox Exporter und Grafana überwacht werden?

Blackbox Prometheus
Invicti Web Application Security Scanner – die einzige Lösung, die eine automatische Verifizierung von Schwachstellen mit Proof-Based Scanning™ bietet.

Lieben Sie Grafana für die Überwachung von Servermetriken? Sie werden Blackbox Exporter auch für die Website-Überwachung lieben!

In diesem Tutorial lernen Sie, wie Sie Blackbox Exporter unter CentOS / RHEL installieren und wie Sie es mit Prometheus und Grafana verwenden, um die Leistung der Website zu überwachen Betriebszeit.

Was ist Blackbox Exporter?

Blackbox-Exporteur von Prometheus wird verwendet, um Endpunkte wie HTTPS, HTTP, TCP, DNS und ICMP zu prüfen. Nachdem Sie den Endpunkt definiert haben, generiert der Blackbox-Exporter Hunderte von Metriken, die mit Grafana visualisiert werden können. Das Messen der Reaktionszeit ist das wichtigste Merkmal des Blackbox-Exporters.

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

Prerequisites

Prometheus und Grafana müssen vorinstalliert sein. Folgen Sie diesem Artikel zu Installieren Sie Prometheus und Grafana.

Blackbox Exporter Installation

Lassen Sie mich Ihnen zuerst zeigen, wie Sie den Blackbox-Exporter installieren.

Schritt 1: Laden Sie Blackbox Exporter herunter

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

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

Überprü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 NOTICE

Zwei Dateien blackbox_exporter und blackbox.yml sind hier wichtig.

  • blackbox_exporter: Dies ist eine ausführbare Datei zum Ausführen des Dienstes.
  • blackbox.yml: Eine YAML-Datei mit allen Backbox-Exporter-Konfigurationen, in denen 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 Show context-sensitive help (also try --help-long and --help-man).

--config.file="blackbox.yml"
Blackbox exporter configuration file.
--web.listen-address=":9115"
The address to listen on for HTTP requests.

--timeout-offset=0.5 Offset to subtract from timeout in seconds.

--config.check If true validate the config file and then exit.

--history.limit=100 The maximum amount of items to keep in the history.

--web.external-url=<url>
The URL under which Blackbox exporter is externally reachable (for example, if Blackbox exporter is served via a
reverse proxy). Used for generating relative and absolute links back to Blackbox exporter itself. If the URL has a
path portion, it will be used to prefix all HTTP endpoints served by Blackbox exporter. If omitted, relevant URL
components will be derived automatically.

--web.route-prefix=<path>
Prefix for the internal routes of web endpoints. Defaults to path of --web.external-url.

--log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]

--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--version Show application version.

Schritt 2: Benutzer für Blackbox erstellen

Dies ist optional.

Sie können entweder einen neuen Benutzer zum Ausführen von Blackbox erstellen oder vorhandene Prometheus-Benutzer zum Ausführen verwenden.

Stellen Sie Berechtigungen bereit und weisen Sie dem neuen Benutzer das Eigentum 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 Zeit, Blackbox Exporter als Dienst im Inneren zu konfigurieren systemd. 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

[Unit]
Description=Blackbox Exporter Service
Wants=network-online.target
After=network-online.target

[Service]
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 auf den tatsächlichen Pfad zu ändern, auf dem Sie ihn extrahiert haben.

Schritt 4: Starten Sie Blackbox Exporter

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
Loaded: loaded (/etc/systemd/system/blackbox.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2020-06-13 17:28:40 EDT; 1s ago
Main PID: 30427 (blackbox_export)
Tasks: 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]: Started Blackbox Exporter Service.
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ß!

Der Blackbox-Exporter wurde erfolgreich gestartet. Beim http://localhost:9115/ Sie können feststellen, dass Blackbox Exporter ausgeführt wird.

Blackbox-Exporteur - Geekflare

Integrating Blackbox with Prometheus

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

  • Hinzufügen blackbox Job mit den folgenden Konfigurationen innerhalb der prometheus.yml Datei. Ich werde die Leistung von überwachen https://www.telegraph.co.uk.
[centos@geekflare ~]$ sudo gedit /etc/prometheus/prometheus.yml

- job_name: 'blackbox'
metrics_path: /probe
params:
module: [http_2xx] # Look for a HTTP 200 response.
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 # The blackbox exporter's real hostname:port.
  • Starten Sie Prometheus neu.
[centos@geekflare ~]$ sudo systemctl restart prometheus.service
  • Wenn Sie die Ziele bei überprüfen http://localhost:9090/targets Wieder finden Sie einen Blackbox-Job, der mit dem von mir definierten Endpunkt ausgeführt wird.
Blackbox-Jobziel - Geekflare
  • Klicken Sie auf das Diagramm und führen Sie die Abfrage aus - probe_http_duration_seconds.
prometheus-Abfrage - geekflare
  • Zu den von Prometheus überwachten Daten wird eine Visualisierung erstellt.
Prometheus-Visualisierung - Geekflare

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

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

  • Gehen Sie zum Grafana-Dashboard, klicken Sie auf + signieren und dann auf Importieren.
  • Geben Sie unter Import über grafana.com die Dashboard-ID ein 7587 und klicken Sie auf Laden.
  • Wählen Sie dann die Prometheus-Datenquelle aus und klicken Sie auf Importieren.
Grafana-Import - geekflare
  • Das Prometheus Blackbox Exporter-Dashboard wird importiert.
  • Sie können Metriken wie globale Sondendauer, Status, HTTP-Dauer, durchschnittliche Sondendauer, durchschnittliche DNS-Suche, SSL-Ablauf und vieles mehr visualisieren.
Grafana Dashboard - Geekflare
Grafana-Dashboard 1 - geekflare
  • Dies sind alles separate Bedienfelder im Dashboard. Lassen Sie mich das HTTP-Dauerfenster im Detail zeigen. Dieses Fenster zeigt die Visualisierung der Zeitdauer, die für das Verbinden, Verarbeiten, Auflösen, TLS und Übertragen von Anforderungen benötigt wird.
HTTP-Dauer

Es gibt viele Optionen im Dashboard, mit denen Sie herumspielen können. Sie können den Zeitraum ändern, für den die Visualisierung angezeigt werden soll. Sie können auch das Zeitintervall bei der Datenaktualisierung ändern. Hier werden die neuen Daten alle 5 Sekunden im Dashboard angezeigt.

Zeitspanne
  • Wenn Sie auf den Abwärtspfeil HTTP-Dauer klicken, werden die unten gezeigten Optionen angezeigt. Klicken Sie auf Bearbeiten.
Panel bearbeiten
  • Unterhalb des Visualisierungsfensters erhalten Sie einen Abfrageeditor. Derzeit wird die im folgenden Schnappschuss gezeigte Abfrage visualisiert. probe_http_duration_seconds.
Abfrageeditor
  • Es gibt Hunderte von Abfragen, die Sie einfach visualisieren und je nach Anforderung zu Ihrem Dashboard hinzufügen können.
Metrik
  • Sie haben auch viele Möglichkeiten, den Visualisierungstyp zu ändern. Die durchschnittliche Sondendauer wird im Textformat im Dashboard angezeigt. Klicken Sie im Visualisierungsbereich rechts auf Guage Option für durchschnittliche Sondendauer.
durchschnittliche Sondendauer
  • Und so wird sich die Visualisierung ändern.
durchschnittliche Messdauer

Fazit

Das Obige soll Ihnen nur eine Vorstellung davon geben, wie einfach es ist, die Website mit Prometheus Blackbox und Grafana zu überwachen. Es gibt viele Möglichkeiten, und ich würde dringend empfehlen, damit herumzuspielen, um es zu erleben. Wenn Sie neugierig sind, Grafana zu lernen, dann schauen Sie sich seine an Online Kurs.

Danke an unsere Sponsoren
Weitere großartige Lektüre zum Thema Entwicklung
Macht Ihr Geschäft
Einige der Tools und Dienste, die Ihr Unternehmen beim Wachstum unterstützen.
  • Invicti verwendet das Proof-Based Scanning™, um die identifizierten Schwachstellen automatisch zu verifizieren und innerhalb weniger Stunden umsetzbare Ergebnisse zu generieren.
    Versuchen Sie es mit Invicti
  • Web-Scraping, Wohn-Proxy, Proxy-Manager, Web-Unlocker, Suchmaschinen-Crawler und alles, was Sie zum Sammeln von Webdaten benötigen.
    Versuchen Sie es mit Brightdata
  • Semrush ist eine All-in-One-Lösung für digitales Marketing mit mehr als 50 Tools in den Bereichen SEO, Social Media und Content-Marketing.
    Versuchen Sie es mit Semrush
  • Intruder ist ein Online-Schwachstellenscanner, der Cyber-Sicherheitslücken in Ihrer Infrastruktur findet, um kostspielige Datenschutzverletzungen zu vermeiden.
    MIT DER INTELLIGENTEN SCHADENKALKULATION VON Intruder