Hvordan overvåger man hjemmesidens ydeevne med Blackbox Exporter og Grafana?

Elsker du Grafana til overvågning af servermetrik? Du vil også elske Blackbox Exporter til webstedsovervågning!

I denne vejledning lærer du at installere Blackbox Exporter på CentOS/RHEL og forstå, hvordan du bruger den med Prometheus og Grafana til at overvåge webstedets ydeevne og oppetid.

Hvad er Blackbox Exporter?

Blackbox eksportør af Prometheus bruges til at sondere endepunkter som HTTPS, HTTP, TCP, DNS og ICMP. Når du har defineret slutpunktet, genererer Blackbox-eksportøren hundredvis af metrics, der kan visualiseres ved hjælp af Grafana. Måling af responstid er den vigtigste funktion hos Blackbox-eksportøren.

Blackbox Exporter er en selvhostet løsning. Hvis du leder efter noget lignende, men som SaaS eller cloud-baseret, så kan du prøve Grafana worldPing.

Forudsætninger

Prometheus og Grafana skal være forudinstalleret. Følg denne artikel for at installere Prometheus og Grafana.

Blackbox eksportør installation

Lad mig først vise dig, hvordan du installerer Blackbox exporter.

Trin 1: Download Blackbox Exporter

Gå til Officielle side for at downloade den seneste Linux AMD Blackbox-eksportpakke. Jeg downloader filen blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Overfør den downloadede fil til serveren
  • Udpak filer fra pakken.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Tjek alle filerne i Blackbox-eksportøren.

[[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

To filer blackbox_exporter og blackbox.yml er vigtige her.

  • blackbox_exporter: Dette er en eksekverbar fil til at køre tjenesten.
  • blackbox.yml: En YAML-fil med alle backbox-eksportør-konfigurationer, som du definerer alle endepunkter til probe og moduler til at køre.
  25 fantastiske efterårsbaggrunde til dit skrivebord

Nedenstående kommando vil give dig alle de flag, du kan bruge med Blackbox-eksportør.

[[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.

Trin 2: Opret bruger til Blackbox

Dette er valgfrit.

Du kan enten oprette en ny bruger til at køre Blackbox eller bruge eksisterende Prometheus-brugere til at køre den.

Giv tilladelser og tildel ejerskab af alle dets filer til den nye bruger.

[[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

Trin 3: Konfigurer Blackbox Service

Det er tid til at konfigurere Blackbox Exporter som en service inde i systemd. Opret en fil blackbox.service og læg linjerne nævnt nedenfor i filen og gem 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

Glem ikke at ændre stien til det faktiske sted, hvor du har udtrukket det.

  12 bedste elektriske skateboards, du bør få lige nu

Trin 4: Start Blackbox Exporter

Kør kommandoerne nedenfor for at starte Blackbox-eksportøren som en tjeneste.

[[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 toadmin.dk.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 toadmin.dk.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 toadmin.dk.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 toadmin.dk.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 toadmin.dk.linuxvmimages.com blackbox_exporter[30

Store!

Blackbox-eksportøren er startet med succes. På http://localhost:9115/ kan du finde Blackbox Exporter kørende.

Integrering af Blackbox med Prometheus

Lad os integrere Blackbox Exporter med Prometheus for at begynde at skrabe metrikken.

  • Tilføj et blackbox-job med nedenstående konfigurationer inde i filen prometheus.yml. Jeg vil overvåge ydeevnen på 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 tjekker målene på http://localhost:9090/targets igen, vil du finde et blackbox-job, der kører med det endepunkt, jeg har defineret.

  • Klik på grafen og kør forespørgslen – probe_http_duration_seconds.

  • En visualisering vil blive oprettet på de data, der overvåges af Prometheus.

Nu er det tid til at visualisere Blackbox-jobbet på Grafana.

Der er mange måder at få det i gang, men en af ​​de hurtigste ville være at starte med et færdiglavet dashboard – Prometheus Blackbox-eksportør.

  • Gå til Grafana-dashboardet, klik på +-tegn og klik på Importer.
  • Indsæt dashboard-id 7587 i Import via grafana.com og klik på Indlæs.
  • Vælg derefter Prometheus-datakilden og klik på Importer.
  Hvad er MagSafe til iPhone 12, og hvad kan det gøre?

  • Prometheus Blackbox Exporter-dashboardet bliver importeret.
  • Du vil være i stand til at visualisere metrics som Global Probe Duration, Status, HTTP Duration, Average Probe Duration, Average DNS Lookup, SSL Expiry, og mange flere.

  • Disse er alle separate paneler på instrumentbrættet. Lad mig vise HTTP-varighedspanelet i detaljer. Dette panel viser visualiseringen af ​​den tid, det tager for forbindelse, behandling, løsning, tls og overførselsanmodninger.

Der er rigtig mange muligheder på instrumentbrættet, som du kan lege med. Du kan ændre det tidsinterval, som du ønsker, at visualiseringen skal vises for. Du kan også ændre tidsintervallet i dataopdatering; her kommer de nye data i dashboardet hvert 5. sekund.

  • Når du klikker på HTTP-varighed ned-pilen, får du de muligheder, der er vist nedenfor. Klik på rediger.

  • Under visualiseringspanelet får du en forespørgselseditor. I øjeblikket bliver forespørgslen vist i nedenstående snapshot visualiseret – probe_http_duration_seconds.

  • Der er hundredvis af forespørgsler, som du nemt kan visualisere og tilføje til dit dashboard i henhold til kravet.

  • Du har også masser af muligheder for at ændre visualiseringstypen. Den gennemsnitlige probevarighed er til stede på dashboardet i tekstformatet. Fra visualiseringspanelet til højre skal du klikke på indstillingen Mål for gennemsnitlig probevarighed.

  • Og sådan vil visualiseringen ændre sig.

Konklusion

Ovenstående er blot for at give dig en idé om, hvor nemt det er at overvåge hjemmesiden med Prometheus Blackbox og Grafana. Der er masser af muligheder, og jeg vil stærkt anbefale at lege med det for at opleve det. Hvis du er nysgerrig efter at lære Grafana, så tjek hans online kursus.

Nydt at læse artiklen? Hvad med at dele med verden?