Salt la conținutul principal

Monitorizarea Geth cu InfluxDB și Grafana

clienținoduri
Intermediar
Mario Havel
13 ianuarie 2021
5 minute de citit minute read

Acest tutorial vă va ajuta să configurați monitorizarea nodului dvs. Geth ca să-i înțelegeți performanțele și să identificați posibilele probleme.

Condiții prealabile

Stiva de monitorizare

Un client Ethereum colectează numeroase date care se pot citi sub forma unei baze de date cronologice. Pentru a face monitorizarea mai ușoară, puteți introduce aceste date într-un software de vizualizare a datelor. Sunt disponibile mai multe opțiuni:

De asemenea, există Geth Prometheus Exporter(opens in a new tab), o opțiune preconfigurată cu InfluxDB și Grafana. Se poate configura cu ușurință folosind docker și Ethbian OS(opens in a new tab) pentru RPi 4.

În acest tutorial vă vom configura clientul Geth pentru a împinge date către InfluxDB, care va crea cu ele o bază de date, apoi Grafana pentru a crea o vizualizare grafică a acestora. Dacă executați manual acest proces, vă va ajuta să îl înțelegeți mai bine, să îl modificați și să îl implementați în diferite medii.

Configurarea InfluxDB

Întâi și-ntâi să descărcăm și să instalăm InfluxDB. Pe pagina de lansare a InfluxDB(opens in a new tab) găsim mai multe opțiuni de instalare. Alegeți-o pe cea potrivită mediului dumneavoastră. O puteți instala și dintr-un repository(opens in a new tab) (depozitar). De exemplu, pentru distribuția bazată pe Debian:

1curl -tlsv1.3 --proto =https -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add
2source /etc/lsb-release
3echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
4sudo apt update
5sudo apt install influxdb -y
6sudo systemctl enable influxdb
7sudo systemctl start influxdb
8sudo apt install influxdb-client

După ce ați terminat instalarea cu succes a InfluxDB, asigurați-vă că acesta funcționează în fundal. În mod implicit, poate fi accesat la adresa localhost:8086. Înaintea folosirii clientului influx, va trebui să creați un nou client cu privilegii administrative. Acesta va fi responsabil cu managementul la nivel înalt, crearea de baze de date și utilizatori.

1curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'password' WITH ALL PRIVILEGES"

Abia acum veți putea folosi clientul „influx” pentru a intra in shell-ul InfluxDB(opens in a new tab) cu acest utilizator.

1influx -username 'username' -password 'password'

Prin comunicarea directă cu InfluxDB, vă puteți crea baze de date și utilizatori pentru metricile geth.

1create database geth
2create user geth with password choosepassword

Verificați datele de intrare create cu:

1show databases
2show users

Părăsiți shell-ul InfluxDB.

1exit

Acum InfluxDB funcționează și este configurat să stocheze metricile Geth.

Pregătirea Geth

După configurarea unei baze de date, trebuie să activăm colectarea metricilor în Geth. Mare atenție la METRICS AND STATS OPTIONS din geth --help. Acolo vom găsi mai multe opțiuni, iar în cazul nostru vrem ca Geth să împingă („push”) date în InfluxDB. Configurarea de bază specifică atât punctul final unde InfluxDB este accesibil, cât și autentificarea pentru bazele de date.

1geth --metrics --metrics.influxdb --metrics.influxdb.endpoint "http://0.0.0.0:8086" --metrics.influxdb.username "geth" --metrics.influxdb.password "chosenpassword"

Aceste flaguri pot fi adăugate la o comandă care pornește clientul sau pot fi salvate în fișierul de configurare.

Puteți verifica dacă Geth împinge cu succes date, de exemplu, prin listarea metricilor din baza de date. În shell-ul InfluxDB:

1use geth
2show measurements

Configurarea Grafana

În următoarea etapă vom instala Grafana, care va interpreta grafic datele. Urmați procesul de instalare pentru mediul dvs. din documentația Grafana. Aveți grijă să instalați versiunea OSS, dacă nu doriți altfel. Exemple de etape de instalare pentru distribuțiile Debian care utilizează depozitarul:

1curl -tlsv1.3 --proto =https -sL https://packages.grafana.com/gpg.key | sudo apt-key add -
2echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
3sudo apt update
4sudo apt install grafana
5sudo systemctl enable grafana-server
6sudo systemctl start grafana-server

Când ați reușit să rulați Grafana, poate fi accesat la localhost:3000. Utilizați browserul preferat pentru a accesa această cale, apoi conectați-vă cu datele de autentificare implicite (utilizator: admin și parolă: admin). Atunci când vi se solicită, schimbați parola implicită și salvați-o.

Veți fi redirecționat către pagina de pornire Grafana. Mai întâi configurați datele sursă. Faceți clic pe pictograma din bara din stânga și selecționați „Data sources” (Surse de date).

Încă nu a fost creată nicio sursă de date, deci ca să definiți una faceți clic pe „Add data source” (Adăugați o sursă de date).

Pentru această configurare selectați „InfluxDB” și continuați.

Configurarea sursei de date este destul de simplă dacă instrumentele folosite sunt pe aceeași mașină. Pentru accesarea bazei de date, trebuie să configurați adresa InfluxDB și detaliile. Consultați imaginea de mai jos.

Dacă totul este complet și InfluxDB este accesibil, faceți clic pe „Save and test” (Salvați și testați) și așteptați să apară confirmarea.

Grafana este acum configurat să citească date din InfluxDB. Iar acum va trebui să creați un tablou de bord care să le interpreteze și să le afișeze. Proprietățile tablourilor de bord sunt codificate în fișiere JSON care pot fi create de oricine și pot fi importate cu ușurință. În bara din stânga, faceți clic pe „Create and Import” (Creați și importați).

Pentru un tablou de bord de monitorizare Geth, copiați ID-ul acestui tablou de bord(opens in a new tab) și inserați-l în „Import page” (Pagina de import) din Grafana. După salvarea tabloului de bord, acesta ar trebui să arate astfel:

Vă puteți modifica tabloul de bord. Fiecare panou poate fi editat, mutat, eliminat sau adăugat. Vă puteți schimba configurațiile. Dvs. hotărâți! Pentru a afla mai multe despre cum funcționează tablourile de bord, consultați documentația Grafana(opens in a new tab). S-ar putea să vă intereseze și Alerting(opens in a new tab) (Alertarea). Aceasta vă permite să configurați notificări de alertă atunci când metricile ating anumite valori. Sunt acceptate diverse canale de comunicare.

Ultima modificare: @nhsz(opens in a new tab), 15 august 2023

A fost util acest tutorial?