Hur övervakar man webbplatsens prestanda med Blackbox Exporter och Grafana?

Älskar du Grafana för övervakning av servermått? Du kommer att älska Blackbox Exporter för webbplatsövervakning också!

I den här handledningen lär du dig att installera Blackbox Exporter på CentOS/RHEL och förstå hur du använder den med Prometheus och Grafana för att övervaka webbplatsens prestanda och drifttid.

Vad är Blackbox Exporter?

Blackbox exportör av Prometheus används för att undersöka slutpunkter som HTTPS, HTTP, TCP, DNS och ICMP. När du har definierat slutpunkten genererar Blackbox-exportören hundratals mätvärden som kan visualiseras med Grafana. Att mäta svarstid är den viktigaste egenskapen hos Blackbox-exportören.

Blackbox Exporter är en egen värd lösning. Om du letar efter något liknande, men som SaaS eller molnbaserat, kan du prova Grafana worldPing.

Förutsättningar

Prometheus och Grafana måste vara förinstallerade. Följ den här artikeln för att installera Prometheus och Grafana.

Blackbox Exporter Installation

Låt mig visa dig hur du installerar Blackbox exporter först.

Steg 1: Ladda ner Blackbox Exporter

Gå till Officiell sida för att ladda ner det senaste Linux AMD Blackbox-exportpaketet. Jag laddar ner filen blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Överför den nedladdade filen till servern
  • Extrahera filer från paketet.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Kontrollera alla filer i Blackbox exporter.

[[email protected] ~]$ cd blackbox_exporter-0.16.0.linux-amd64/
[[email protected] 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

Två filer blackbox_exporter och blackbox.yml är viktiga här.

  • blackbox_exporter: Detta är en körbar fil för att köra tjänsten.
  • blackbox.yml: En YAML-fil med alla backbox-exportörkonfigurationer som du definierar alla ändpunkter för att undersöka och moduler som ska köras.

Kommandot nedan ger dig alla flaggor du kan använda med Blackbox exporter.

[[email protected] 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.

Steg 2: Skapa användare för Blackbox

Detta är valfritt.

Du kan antingen skapa en ny användare för att köra Blackbox eller använda befintliga Prometheus-användare för att köra den.

Ge behörigheter och tilldela äganderätten till alla dess filer till den nya användaren.

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

Steg 3: Konfigurera Blackbox Service

Det är dags att konfigurera Blackbox Exporter som en tjänst i systemd. Skapa en fil blackbox.service och lägg de rader som nämns nedan i filen och spara den.

[[email protected] ~]$ 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

Glöm inte att ändra sökvägen till den faktiska där du har hämtat den.

Steg 4: Starta Blackbox Exporter

Kör kommandona nedan för att starta Blackbox-exportören som en tjänst.

[[email protected] ~]$ sudo systemctl daemon-reload
[[email protected] ~]$ sudo systemctl start blackbox.service
[[email protected] ~]$ 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 adminvista.com.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 adminvista.com.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 adminvista.com.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 adminvista.com.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 adminvista.com.linuxvmimages.com blackbox_exporter[30

Bra!

Blackbox-exportören har startat framgångsrikt. På http://localhost:9115/ kan du hitta Blackbox Exporter igång.

Integrering av Blackbox med Prometheus

Låt oss integrera Blackbox Exporter med Prometheus för att börja skrapa statistiken.

  • Lägg till ett blackbox-jobb med nedanstående konfigurationer i filen prometheus.yml. Jag kommer att övervaka prestandan för https://www.telegraph.co.uk.
[[email protected] ~]$ 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.
[[email protected] ~]$ sudo systemctl restart prometheus.service
  • När du kontrollerar målen på http://localhost:9090/targets igen, kommer du att hitta ett blackbox-jobb som körs med den slutpunkt jag definierade.

  • Klicka på grafen och kör frågan – probe_http_duration_seconds.

  • En visualisering kommer att skapas på data som övervakas av Prometheus.

Nu är det dags att visualisera Blackbox-jobbet på Grafana.

Det finns många sätt att komma igång, men ett av de snabbaste skulle vara att börja med en färdig instrumentpanel – Prometheus Blackbox Exporter.

  • Gå till Grafanas instrumentpanel, klicka på +-tecken och klicka på Importera.
  • I Importera via grafana.com, lägg in instrumentbrädan-id 7587 och klicka på Ladda.
  • Välj sedan Prometheus-datakällan och klicka på Importera.

  • Prometheus Blackbox Exporters instrumentpanel kommer att importeras.
  • Du kommer att kunna visualisera mätvärden som Global Probe Duration, Status, HTTP Duration, Average Probe Duration, Average DNS Lookup, SSL Expiry, och många fler.

  • Dessa är alla separata paneler på instrumentbrädan. Låt mig visa HTTP Duration-panelen i detalj. Den här panelen visar visualiseringen av hur lång tid det tar för anslutning, bearbetning, lösning, tls och överföringsförfrågningar.

Det finns många olika alternativ på instrumentbrädan som du kan leka med. Du kan ändra tidsintervallet för vilket du vill att visualiseringen ska visas. Du kan också ändra tidsintervallet vid datauppdatering; här kommer de nya uppgifterna i instrumentpanelen var 5:e sekund.

  • När du klickar på nedåtpilen HTTP Duration får du alternativen som visas nedan. Klicka på redigera.

  • Under visualiseringspanelen får du en frågeredigerare. För närvarande visualiseras frågan som visas i ögonblicksbilden nedan – probe_http_duration_seconds.

  • Det finns hundratals frågor som du enkelt kan visualisera och lägga till i din instrumentpanel enligt kravet.

  • Du har många alternativ för att ändra visualiseringstypen också. Den genomsnittliga sondlängden finns på instrumentpanelen i textformat. Från visualiseringspanelen till höger klickar du på alternativet Mät för genomsnittlig sondlängd.

  • Och det är så visualiseringen kommer att förändras.

Slutsats

Ovanstående är bara för att ge dig en uppfattning om hur enkelt det är att övervaka webbplatsen med Prometheus Blackbox och Grafana. Det finns gott om alternativ, och jag rekommenderar starkt att leka med det för att uppleva det. Om du är nyfiken på att lära dig Grafana, kolla in hans onlinekurs.

Gillade du att läsa artikeln? Vad sägs om att dela med världen?