Jak monitorovat výkon webových stránek pomocí Blackbox Exporter a Grafana?

Líbí se vám Grafana pro sledování metrik serveru? Blackbox Exporter pro monitorování webových stránek si zamilujete také!

V tomto tutoriálu se naučíte nainstalovat Blackbox Exporter na CentOS/RHEL a pochopíte, jak jej používat s Prometheus a Grafana ke sledování výkonu a provozu webu.

Co je Blackbox Exporter?

Blackbox exportér od Prometheus se používá k testování koncových bodů, jako jsou HTTPS, HTTP, TCP, DNS a ICMP. Po definování koncového bodu vygeneruje exportér Blackbox stovky metrik, které lze vizualizovat pomocí Grafany. Měření doby odezvy je nejdůležitější funkcí exportéru Blackbox.

Blackbox Exporter je řešení s vlastním hostitelem. Pokud hledáte něco podobného, ​​ale jako SaaS nebo cloud, můžete zkusit Grafana worldPing.

Předpoklady

Prometheus a Grafana musí být předem nainstalovány. Podle tohoto článku nainstalujte Prometheus a Grafana.

Instalace Blackbox Exporter

Nejprve vám ukážu, jak nainstalovat Blackbox exporter.

Krok 1: Stáhněte si Blackbox Exporter

Přejít na oficiální stránka ke stažení nejnovějšího exportního balíčku Linux AMD Blackbox. Stahuji soubor blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Přeneste stažený soubor na server
  • Extrahujte soubory z balíčku.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Zkontrolujte všechny soubory v exportéru Blackbox.

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

Důležité jsou zde dva soubory blackbox_exporter a blackbox.yml.

  • blackbox_exporter: Toto je spustitelný soubor pro spuštění služby.
  • blackbox.yml: Soubor YAML se všemi konfiguracemi exportéru backboxu, ve kterém definujete všechny koncové body pro testování a moduly ke spuštění.
  Exportujte dokumenty z Disku Google do MS Word na vašem iPhone

Níže uvedený příkaz vám poskytne všechny příznaky, které můžete použít s exportérem Blackbox.

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

Krok 2: Vytvořte uživatele pro Blackbox

Toto je nepovinné.

Pro spuštění Blackboxu můžete buď vytvořit nového uživatele, nebo k jeho spuštění použít stávající uživatele Prometheus.

Poskytněte oprávnění a přiřaďte vlastnictví všech jeho souborů novému uživateli.

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

Krok 3: Nakonfigurujte službu Blackbox

Je čas nakonfigurovat Blackbox Exporter jako službu uvnitř systemd. Vytvořte soubor blackbox.service a vložte do něj řádky uvedené níže a uložte jej.

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

Nezapomeňte změnit cestu na skutečnou, kde jste ji extrahovali.

  Jak získat ověření v Discordu

Krok 4: Spusťte Blackbox Exporter

Spusťte níže uvedené příkazy a spusťte exportér Blackbox jako službu.

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

Skvělý!

Exportér Blackbox byl úspěšně spuštěn. Na http://localhost:9115/ najdete spuštěný Blackbox Exporter.

Integrace Blackboxu s Prometheem

Pojďme integrovat Blackbox Exporter s Prometheus a začít škrábat metriky.

  • Přidejte úlohu blackbox s níže uvedenými konfiguracemi do souboru prometheus.yml. Chystám se sledovat výkon 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
  • Když znovu zkontrolujete cíle na http://localhost:9090/targets, najdete úlohu blackbox spuštěnou s koncovým bodem, který jsem definoval.

  • Klikněte na graf a spusťte dotaz – probe_http_duration_seconds.

  • Na datech monitorovaných Prometheem se vytvoří vizualizace.

Nyní je čas představit si práci Blackbox na Grafaně.

Existuje mnoho způsobů, jak to začít, ale jedním z nejrychlejších by bylo začít s hotovým dashboardem – Prometheus Blackbox Exporter.

  • Přejděte na řídicí panel Grafana, klikněte na znaménko + a klikněte na Importovat.
  • Do Importovat přes grafana.com vložte ID panelu 7587 a klikněte na Načíst.
  • Poté vyberte zdroj dat Prometheus a klikněte na Importovat.
  Jak spouštět aplikace pro iPhone a iPad na Macu

  • Dojde k importu řídicího panelu Prometheus Blackbox Exporter.
  • Budete moci vizualizovat metriky jako globální trvání sondy, stav, trvání HTTP, průměrné trvání sondy, průměrné vyhledávání DNS, vypršení platnosti SSL a mnoho dalších.

  • To vše jsou samostatné panely na palubní desce. Dovolte mi podrobně ukázat panel Trvání HTTP. Tento panel zobrazuje vizualizaci doby trvání připojení, zpracování, vyřešení, tls a požadavků na přenos.

Na palubní desce je spousta možností, se kterými si můžete pohrát. Můžete změnit časový rozsah, ve kterém se má vizualizace zobrazovat. Můžete také změnit časový interval obnovy dat; zde nová data přicházejí na palubní desku každých 5 sekund.

  • Když kliknete na šipku dolů HTTP Duration, zobrazí se níže uvedené možnosti. Klikněte na upravit.

  • Pod panelem vizualizace získáte editor dotazů. V současné době se vizualizuje dotaz zobrazený na níže uvedeném snímku – probe_http_duration_seconds.

  • Existují stovky dotazů, které si můžete snadno vizualizovat a přidat je na svůj řídicí panel podle požadavku.

  • Máte také spoustu možností, jak změnit typ vizualizace. Průměrná doba trvání sondy je uvedena na řídicím panelu v textovém formátu. Na panelu vizualizace vpravo klikněte na možnost Měření průměrné doby trvání sondy.

  • A takto se změní i vizualizace.

Závěr

Výše uvedené je jen pro představu, jak snadné je sledovat web pomocí Prometheus Blackbox a Grafana. Možností je spousta a důrazně doporučuji si s tím pohrát, abyste to zažili. Pokud jste zvědaví, jak se naučit Grafana, podívejte se na jeho online kurz.

Užili jste si čtení článku? Co takhle sdílet se světem?