Vai al contenuto principale

Monitorare Geth con InfluxDB e Grafana

client
nodi
Intermedio
Mario Havel
13 gennaio 2021
5 minuti di lettura

Questo tutorial ti aiuterà a configurare il monitoraggio per il tuo nodo Geth, in modo da poterne comprendere meglio le prestazioni e identificare potenziali problemi.

Prerequisiti

Stack di monitoraggio

Un client di Ethereum raccoglie molti dati che possono essere letti sotto forma di database cronologico. Per semplificare il monitoraggio, puoi inserire questi dati in un software di visualizzazione dei dati. Ci sono diverse opzioni disponibili:

C'è anche Geth Prometheus Exporter (opens in a new tab), un'opzione preconfigurata con InfluxDB e Grafana.

In questo tutorial, configureremo il tuo client Geth per inviare i dati a InfluxDB per creare un database e a Grafana per creare una visualizzazione grafica dei dati. Farlo manualmente ti aiuterà a comprendere meglio il processo, a modificarlo e a distribuirlo in ambienti diversi.

Configurare InfluxDB

Per prima cosa, scarichiamo e installiamo InfluxDB. Varie opzioni di download possono essere trovate nella pagina delle versioni di Influxdata (opens in a new tab). Scegli quella più adatta al tuo ambiente. Puoi anche installarlo da un repository (opens in a new tab). Ad esempio, in una distribuzione basata su 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

Dopo aver installato con successo InfluxDB, assicurati che sia in esecuzione in background. Per impostazione predefinita, è raggiungibile su localhost:8086. Prima di utilizzare il client influx, devi creare un nuovo utente con privilegi di amministratore. Questo utente servirà per la gestione di alto livello, la creazione di database e utenti.

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

Ora puoi usare il client influx per accedere alla shell di InfluxDB (opens in a new tab) con questo utente.

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

Comunicando direttamente con InfluxDB nella sua shell, puoi creare il database e l'utente per le metriche di Geth.

1create database geth
2create user geth with password choosepassword

Verifica le voci create con:

1show databases
2show users

Esci dalla shell di InfluxDB.

1exit

InfluxDB è in esecuzione e configurato per archiviare le metriche da Geth.

Preparare Geth

Dopo aver configurato il database, dobbiamo abilitare la raccolta delle metriche in Geth. Presta attenzione a METRICS AND STATS OPTIONS in geth --help. Lì si possono trovare diverse opzioni, in questo caso vogliamo che Geth invii i dati a InfluxDB. La configurazione di base specifica l'endpoint in cui InfluxDB è raggiungibile e l'autenticazione per il database.

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

Questi flag possono essere aggiunti a un comando che avvia il client o salvati nel file di configurazione.

Puoi verificare che Geth stia inviando i dati con successo, ad esempio elencando le metriche nel database. Nella shell di InfluxDB:

1use geth
2show measurements

Configurare Grafana

Il passaggio successivo è l'installazione di Grafana, che interpreterà i dati graficamente. Segui il processo di installazione per il tuo ambiente nella documentazione di Grafana. Assicurati di installare la versione OSS se non desideri diversamente. Esempio di passaggi di installazione per distribuzioni Debian utilizzando il repository:

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

Quando Grafana è in esecuzione, dovrebbe essere raggiungibile su localhost:3000. Usa il tuo browser preferito per accedere a questo percorso, quindi accedi con le credenziali predefinite (utente: admin e password: admin). Quando richiesto, cambia la password predefinita e salva.

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 1)

Verrai reindirizzato alla home page di Grafana. Per prima cosa, configura i tuoi dati di origine. Clicca sull'icona di configurazione nella barra di sinistra e seleziona "Data sources" (Origini dati).

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 2)

Non ci sono ancora origini dati create, clicca su "Add data source" (Aggiungi origine dati) per definirne una.

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 3)

Per questa configurazione, seleziona "InfluxDB" e procedi.

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 4)

La configurazione dell'origine dati è piuttosto semplice se stai eseguendo gli strumenti sulla stessa macchina. Devi impostare l'indirizzo di InfluxDB e i dettagli per accedere al database. Fai riferimento all'immagine sottostante.

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 5)

Se tutto è completo e InfluxDB è raggiungibile, clicca su "Save and test" (Salva e testa) e attendi che appaia la conferma.

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 6)

Grafana è ora configurato per leggere i dati da InfluxDB. Ora devi creare una dashboard che li interpreterà e li visualizzerà. Le proprietà delle dashboard sono codificate in file JSON che possono essere creati da chiunque e facilmente importati. Sulla barra di sinistra, clicca su "Create and Import" (Crea e importa).

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 7)

Per una dashboard di monitoraggio di Geth, copia l'ID di questa dashboard (opens in a new tab) e incollalo nella "Import page" (Pagina di importazione) in Grafana. Dopo aver salvato la dashboard, dovrebbe apparire così:

Screenshot della dashboard di Grafana per il monitoraggio di Geth (pannello 8)

Puoi modificare le tue dashboard. Ogni pannello può essere modificato, spostato, rimosso o aggiunto. Puoi cambiare le tue configurazioni. Dipende da te! Per saperne di più su come funzionano le dashboard, fai riferimento alla documentazione di Grafana (opens in a new tab). Potresti anche essere interessato agli Avvisi (opens in a new tab). Questo ti permette di configurare notifiche di avviso per quando le metriche raggiungono determinati valori. Sono supportati vari canali di comunicazione.

Ultimo aggiornamento della pagina: 26 febbraio 2026

Questo tutorial è stato utile?