Kā pārraudzīt vietnes veiktspēju, izmantojot Blackbox Exporter un Grafana?

Vai jums patīk Grafana servera metrikas uzraudzībai? Jums patiks arī Blackbox Exporter vietņu uzraudzībai!

Šajā apmācībā jūs iemācīsities instalēt Blackbox Exporter operētājsistēmā CentOS/RHEL un sapratīsit, kā to izmantot kopā ar Prometheus un Grafana, lai pārraudzītu vietnes veiktspēju un darbspējas laiku.

Kas ir Blackbox eksportētājs?

Blackbox eksportētājs Prometheus izmanto, lai pārbaudītu galapunktus, piemēram, HTTPS, HTTP, TCP, DNS un ICMP. Pēc galapunkta definēšanas Blackbox eksportētājs ģenerē simtiem metrikas, ko var vizualizēt, izmantojot Grafana. Reakcijas laika mērīšana ir vissvarīgākā Blackbox eksportētāja funkcija.

Blackbox Exporter ir pašmitināts risinājums. Ja meklējat kaut ko līdzīgu, bet kā SaaS vai mākoņa bāzes, varat izmēģināt Grafana worldPing.

Priekšnoteikumi

Prometheus un Grafana jābūt iepriekš instalētiem. Izpildiet šo rakstu, lai instalētu Prometheus un Grafana.

Blackbox eksportētāja instalēšana

Ļaujiet man parādīt, kā vispirms instalēt Blackbox eksportētāju.

1. darbība. Lejupielādējiet programmu Blackbox Exporter

Dodieties uz oficiāla lapa lai lejupielādētu jaunāko Linux AMD Blackbox eksportētāja pakotni. Es lejupielādēju failu blackbox_exporter-0.16.0.linux-amd64.tar.gz.

  • Pārsūtiet lejupielādēto failu uz serveri
  • Izvelciet failus no pakotnes.
[[email protected] ~]$ tar -xzf blackbox_exporter-0.16.0.linux-amd64.tar.gz

Pārbaudiet visus Blackbox eksportētāja failus.

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

Šeit svarīgi ir divi faili blackbox_exporter un blackbox.yml.

  • blackbox_exporter: šis ir izpildāms fails pakalpojuma palaišanai.
  • blackbox.yml: YAML fails ar visām backbox eksportētāja konfigurācijām, kuras jūs definējat visus galapunktus, lai pārbaudītu, un moduļus, kas jāpalaiž.
  8 labākās čeku skenera lietotnes/rīki, lai sekotu līdzi izdevumiem

Zemāk esošā komanda sniegs jums visus karogus, kurus varat izmantot ar Blackbox eksportētāju.

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

2. darbība. Izveidojiet Blackbox lietotāju

Tas nav obligāti.

Varat izveidot jaunu lietotāju, lai palaistu Blackbox, vai izmantot esošos Prometheus lietotājus, lai to palaistu.

Sniedziet atļaujas un piešķiriet īpašumtiesības uz visiem tā failiem jaunajam lietotājam.

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

3. darbība: konfigurējiet Blackbox pakalpojumu

Ir pienācis laiks konfigurēt Blackbox Exporter kā pakalpojumu sistēmād. Izveidojiet failu blackbox.service un ievietojiet tālāk minētās rindiņas failā un saglabājiet to.

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

Neaizmirstiet mainīt ceļu uz faktisko, kur esat to ieguvis.

  Lingua.ly māca angļu, franču, spāņu, arābu un ebreju valodu

4. darbība. Startējiet programmu Blackbox Exporter

Palaidiet tālāk norādītās komandas, lai palaistu Blackbox eksportētāju kā pakalpojumu.

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

Lieliski!

Blackbox eksportētājs ir veiksmīgi startējis. Vietnē http://localhost:9115/ varat atrast Blackbox Exporter, kas darbojas.

Blackbox integrēšana ar Prometheus

Integrēsim Blackbox Exporter ar Prometheus, lai sāktu skrāpēt metriku.

  • Pievienojiet melnās kastes darbu ar tālāk norādītajām konfigurācijām failā prometheus.yml. Es uzraudzīšu vietnes https://www.telegraph.co.uk darbību.
[[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
  • Atkārtoti pārbaudot mērķus vietnē http://localhost:9090/targets, jūs atradīsit melnās kastes darbu, kas darbojas ar manis definēto galapunktu.

  • Noklikšķiniet uz diagrammas un palaidiet vaicājumu – probe_http_duration_seconds.

  • Tiks izveidota vizualizācija par datiem, ko uzrauga Prometheus.

Tagad ir pienācis laiks vizualizēt Blackbox darbu Grafana.

Ir daudzi veidi, kā to sākt, taču viens no ātrākajiem būtu sākt ar gatavu informācijas paneli. Prometheus Blackbox eksportētājs.

  • Dodieties uz Grafana informācijas paneli, noklikšķiniet uz + zīmes un noklikšķiniet uz Importēt.
  • Importēt, izmantojot vietni grafana.com, ievadiet informācijas paneļa ID 7587 un noklikšķiniet uz Ielādēt.
  • Pēc tam atlasiet Prometheus datu avotu un noklikšķiniet uz Importēt.
  Kā bez maksas izsekot teksta lietotnes numuru

  • Tiks importēts Prometheus Blackbox Exporter informācijas panelis.
  • Jūs varēsiet vizualizēt tādus rādītājus kā globālās pārbaudes ilgums, statuss, HTTP ilgums, vidējais pārbaudes ilgums, vidējais DNS uzmeklēšana, SSL derīguma termiņš un daudz ko citu.

  • Tie visi ir atsevišķi paneļi informācijas panelī. Ļaujiet man detalizēti parādīt HTTP ilguma paneli. Šis panelis parāda laika vizualizāciju, kas nepieciešams savienojuma izveidei, apstrādei, atrisināšanai, tls un pārsūtīšanas pieprasījumiem.

Informācijas panelī ir daudz iespēju, ar kurām varat spēlēties. Varat mainīt laika diapazonu, kurā vēlaties parādīt vizualizāciju. Varat arī mainīt laika intervālu datu atsvaidzināšanā; šeit jaunie dati tiek parādīti informācijas panelī ik pēc 5 sekundēm.

  • Noklikšķinot uz lejupvērstās bultiņas HTTP ilgums, tiks parādītas tālāk norādītās opcijas. Noklikšķiniet uz rediģēt.

  • Zem vizualizācijas paneļa jūs saņemsit vaicājumu redaktoru. Pašlaik tiek vizualizēts tālāk redzamajā momentuzņēmumā redzamais vaicājums – probe_http_duration_seconds.

  • Ir simtiem vaicājumu, kurus varat viegli vizualizēt un pievienot informācijas panelim atbilstoši prasībām.

  • Jums ir daudz iespēju mainīt arī vizualizācijas veidu. Vidējais zondes ilgums ir redzams informācijas panelī teksta formātā. Labajā pusē esošajā vizualizācijas panelī noklikšķiniet uz opcijas Guage, lai iegūtu vidējo zondes ilgumu.

  • Un tā vizualizācija mainīsies.

Secinājums

Iepriekš minētais ir paredzēts, lai sniegtu jums priekšstatu par to, cik viegli ir pārraudzīt vietni, izmantojot Prometheus Blackbox un Grafana. Ir daudz iespēju, un es ļoti ieteiktu to izspēlēt, lai to pieredzētu. Ja vēlaties mācīties Grafana, pārbaudiet viņu tiešsaistes kurss.

Vai jums patika lasīt rakstu? Kā būtu ar dalīšanos ar pasauli?