Hvordan overvåke nettstedets ytelse med Blackbox Exporter og Grafana?

Elsker Grafana for overvåking av servermålinger? Du vil også elske Blackbox Exporter for nettstedovervåking!

I denne opplæringen vil du lære å installere Blackbox Exporter på CentOS/RHEL og forstå hvordan du bruker den med Prometheus og Grafana for å overvåke nettstedets ytelse og oppetid.

Hva er Blackbox Exporter?

Blackbox eksportør av Prometheus brukes til å undersøke endepunkter som HTTPS, HTTP, TCP, DNS og ICMP. Etter at du har definert endepunktet, genererer Blackbox-eksportøren hundrevis av beregninger som kan visualiseres ved hjelp av Grafana. Måling av responstid er den viktigste funksjonen til Blackbox-eksportøren.

Blackbox Exporter er en selvhostet løsning. Hvis du ser etter noe lignende, men som SaaS eller skybasert, kan du prøve Grafana worldPing.

Forutsetninger

Prometheus og Grafana må forhåndsinstalleres. Følg denne artikkelen for å installere Prometheus og Grafana.

Blackbox Exporter Installasjon

La meg vise deg hvordan du installerer Blackbox Exporter først.

Trinn 1: Last ned Blackbox Exporter

Gå til offisiell side for å laste ned den nyeste Linux AMD Blackbox-eksportpakken. Jeg laster ned filen blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Overfør den nedlastede filen til serveren
  • Pakk ut filer fra pakken.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Sjekk alle filene 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 viktige her.

  • blackbox_exporter: Dette er en kjørbar fil for å kjøre tjenesten.
  • blackbox.yml: En YAML-fil med alle backbox-eksportørkonfigurasjonene som du definerer alle endepunktene til probe og moduler som skal kjøres.
  Er BeamNG Drive på Xbox?

Kommandoen nedenfor vil gi deg alle flaggene du kan bruke 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.

Trinn 2: Opprett bruker for Blackbox

Dette er valgfritt.

Du kan enten opprette en ny bruker for å kjøre Blackbox eller bruke eksisterende Prometheus-brukere til å kjøre den.

Gi tillatelser og tildel eierskap av alle filene til den nye brukeren.

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

Trinn 3: Konfigurer Blackbox Service

Det er på tide å konfigurere Blackbox Exporter som en tjeneste i systemd. Lag en fil blackbox.service og legg linjene nevnt nedenfor i filen og lagre 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

Ikke glem å endre banen til den faktiske hvor du har hentet den.

  Hva er GitLab og hvor skal jeg være vert for det?

Trinn 4: Start Blackbox Exporter

Kjør kommandoene nedenfor for å 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 tipsbilk.net.linuxvmimages.com systemd[1]: Started Blackbox Exporter Service.
Jun 13 17:28:40 tipsbilk.net.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 tipsbilk.net.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 tipsbilk.net.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 tipsbilk.net.linuxvmimages.com blackbox_exporter[30

Flott!

Blackbox-eksportøren har startet. På http://localhost:9115/ kan du finne Blackbox Exporter som kjører.

Integrering av Blackbox med Prometheus

La oss integrere Blackbox Exporter med Prometheus for å begynne å skrape beregningene.

  • Legg til en blackbox-jobb med konfigurasjonene nedenfor i prometheus.yml-filen. Jeg skal overvåke ytelsen til 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 sjekker målene på http://localhost:9090/targets igjen, vil du finne en blackbox-jobb som kjører med endepunktet jeg definerte.

  • Klikk på grafen og kjør spørringen – probe_http_duration_seconds.

  • En visualisering vil bli opprettet på dataene som overvåkes av Prometheus.

Nå er det på tide å visualisere Blackbox-jobben på Grafana.

  Slik planlegger du en tekstmelding som skal sendes senere

Det er mange måter å komme i gang på, men en av de raskeste ville være å starte med et ferdig dashbord – Prometheus Blackbox-eksportør.

  • Gå til Grafana-dashbordet, klikk på +-tegn og klikk på Importer.
  • I Importer via grafana.com legger du inn dashbord-ID 7587 og klikker på Last inn.
  • Velg deretter Prometheus-datakilden og klikk på Importer.

  • Prometheus Blackbox Exporter-dashbordet blir importert.
  • Du vil kunne visualisere beregninger som Global Probe Duration, Status, HTTP Duration, Average Probe Duration, Average DNS Lookup, SSL Expiry, og mange flere.

  • Disse er alle separate paneler på dashbordet. La meg vise HTTP-varighet-panelet i detalj. Dette panelet viser visualiseringen av tiden det tar for tilkobling, behandling, løsning, tls og overføringsforespørsler.

Det er mange alternativer på dashbordet som du kan leke deg med. Du kan endre tidsrommet du vil at visualiseringen skal vises for. Du kan også endre tidsintervallet i dataoppdatering; her kommer de nye dataene i dashbordet hvert 5. sekund.

  • Når du klikker på nedoverpilen HTTP-varighet, får du alternativene vist nedenfor. Klikk på rediger.

  • Under visualiseringspanelet får du en spørringsredigerer. For øyeblikket blir spørringen vist i øyeblikksbildet nedenfor visualisert – probe_http_duration_seconds.

  • Det er hundrevis av spørringer som du enkelt kan visualisere og legge det til på dashbordet i henhold til kravet.

  • Du har mange alternativer for å endre visualiseringstypen også. Den gjennomsnittlige sondevarigheten er tilstede på dashbordet i tekstformatet. Fra visualiseringspanelet til høyre klikker du på Målealternativet for gjennomsnittlig probevarighet.

  • Og dette er hvordan visualiseringen vil endre seg.

Konklusjon

Ovennevnte er bare for å gi deg en ide om hvor enkelt det er å overvåke nettsiden med Prometheus Blackbox og Grafana. Det er mange alternativer, og jeg vil sterkt anbefale å leke med det for å oppleve det. Hvis du er nysgjerrig på å lære Grafana, så sjekk ut hans nettkurs.

Likte du å lese artikkelen? Hva med å dele med verden?