03/19/2024

Cum se monitorizează performanța site-ului cu Blackbox Exporter și Grafana?

Îți place Grafana pentru monitorizarea valorilor serverului? Îți va plăcea și Blackbox Exporter pentru monitorizarea site-urilor web!

În acest tutorial, veți învăța să instalați Blackbox Exporter pe CentOS/RHEL și să înțelegeți cum să îl utilizați cu Prometheus și Grafana pentru a monitoriza performanța site-ului și timpul de funcționare.

Ce este Blackbox Exporter?

Exportator Blackbox de Prometheus este folosit pentru a sonda puncte finale precum HTTPS, HTTP, TCP, DNS și ICMP. După ce definiți punctul final, exportatorul Blackbox generează sute de valori care pot fi vizualizate folosind Grafana. Măsurarea timpului de răspuns este cea mai importantă caracteristică a exportatorului Blackbox.

Blackbox Exporter este o soluție auto-găzduită. Dacă căutați ceva similar, dar ca SaaS sau bazat pe cloud, atunci puteți încerca Grafana worldPing.

Cerințe preliminare

Prometheus și Grafana trebuie să fie preinstalate. Urmați acest articol pentru a instala Prometheus și Grafana.

Instalarea Blackbox Exporter

Permiteți-mi să vă arăt mai întâi cum să instalați Blackbox exporter.

Pasul 1: Descărcați Blackbox Exporter

Du-te la Pagina Oficială pentru a descărca cel mai recent pachet de export Linux AMD Blackbox. Descarc fișierul blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Transferați fișierul descărcat pe server
  • Extrageți fișierele din pachet.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Verificați toate fișierele din 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

Două fișiere blackbox_exporter și blackbox.yml sunt importante aici.

  • blackbox_exporter: Acesta este un fișier executabil pentru rularea serviciului.
  • blackbox.yml: Un fișier YAML cu toate configurațiile exportatorului backbox pe care le definiți toate punctele finale de testat și modulele de rulat.
  Găsește-ți muzica preferată fredonând cu aceste 6 platforme online

Comanda de mai jos vă va oferi toate steagurile pe care le puteți utiliza cu exportatorul 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.

Pasul 2: Creați utilizator pentru Blackbox

Acest lucru este opțional.

Puteți fie să creați un utilizator nou pentru a rula Blackbox, fie să utilizați utilizatorii Prometheus existenți pentru al rula.

Furnizați permisiuni și atribuiți proprietarul tuturor fișierelor sale noului utilizator.

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

Pasul 3: Configurați serviciul Blackbox

Este timpul să configurați Blackbox Exporter ca serviciu în interiorul systemd. Creați un fișier blackbox.service și puneți liniile menționate mai jos în fișier și salvați-l.

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

Nu uitați să schimbați calea către cea de unde ați extras-o.

  Cum anulez abonamentul Starz pe Amazon

Pasul 4: Porniți Blackbox Exporter

Rulați comenzile de mai jos pentru a porni exportatorul Blackbox ca serviciu.

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

Grozav!

Exportatorul Blackbox a pornit cu succes. La http://localhost:9115/ puteți găsi Blackbox Exporter rulând.

Integrarea Blackbox cu Prometheus

Să integrăm Blackbox Exporter cu Prometheus pentru a începe să analizăm valorile.

  • Adăugați un job de tip blackbox cu configurațiile de mai jos în interiorul fișierului prometheus.yml. Voi monitoriza performanța 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
  • Când verificați din nou țintele la http://localhost:9090/targets, veți găsi o lucrare blackbox care rulează cu punctul final pe care l-am definit.

  • Faceți clic pe Grafic și rulați interogarea – probe_http_duration_seconds.

  • Va fi creată o vizualizare a datelor monitorizate de Prometheus.

Acum este timpul să vizualizați jobul Blackbox pe Grafana.

Există multe modalități de a începe, dar una dintre cele mai rapide ar fi să începeți cu un tablou de bord gata făcut – Exportator Prometheus Blackbox.

  • Accesați tabloul de bord Grafana, faceți clic pe + semn și faceți clic pe Import.
  • În Import prin grafana.com, puneți ID-ul tabloului de bord 7587 și faceți clic pe Încărcare.
  • Apoi selectați sursa de date Prometheus și faceți clic pe Import.
  7 cursuri online de top pentru a urmări datele sportive

  • Tabloul de bord Prometheus Blackbox Exporter va fi importat.
  • Veți putea vizualiza valori precum durata globală a sondei, starea, durata HTTP, durata medie a sondei, căutarea medie DNS, expirarea SSL și multe altele.

  • Toate acestea sunt panouri separate pe tabloul de bord. Permiteți-mi să arăt panoul Durata HTTP în detaliu. Acest panou arată vizualizarea duratei de timp luate pentru conectare, procesare, rezolvare, tls și cereri de transfer.

Există o mulțime de opțiuni pe tabloul de bord cu care vă puteți juca. Puteți modifica intervalul de timp pentru care doriți să apară vizualizarea. De asemenea, puteți modifica intervalul de timp în reîmprospătarea datelor; aici, noile date vin în tabloul de bord la fiecare 5 secunde.

  • Când faceți clic pe săgeata în jos Durata HTTP, veți obține opțiunile prezentate mai jos. Faceți clic pe editați.

  • Sub panoul de vizualizare, veți obține un editor de interogări. În prezent, interogarea afișată în instantaneul de mai jos este vizualizată – probe_http_duration_seconds.

  • Există sute de interogări pe care le puteți vizualiza cu ușurință și le puteți adăuga la tabloul de bord conform cerințelor.

  • Aveți o mulțime de opțiuni pentru a schimba și tipul de vizualizare. Durata medie a probei este prezentă pe tabloul de bord în format text. Din panoul de vizualizare din dreapta, faceți clic pe opțiunea Evaluare pentru durata medie a sondei.

  • Și așa se va schimba vizualizarea.

Concluzie

Cele de mai sus sunt doar pentru a vă oferi o idee despre cât de ușor este să monitorizați site-ul web cu Prometheus Blackbox și Grafana. Există o mulțime de opțiuni și aș sugera cu tărie să te joci cu el pentru a experimenta. Dacă ești curios să înveți Grafana, atunci verifică-l pe el curs online.

Ți-a plăcut să citești articolul? Ce zici de împărtășirea cu lumea?

x