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.
Table of Contents
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í.
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.
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.
- 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?