Passer au contenu principal

Surveillance de Geth avec InfluxDB et Grafana

clients
nœuds
Intermédiaire
Mario Havel
13 janvier 2021
6 minutes de lecture

Ce tutoriel vous aidera à mettre en place une surveillance de votre nœud Geth afin de mieux comprendre ses performances et d'identifier les problèmes potentiels.

Prérequis

Pile de surveillance

Un client Ethereum collecte de nombreuses données qui peuvent être lues sous la forme d'une base de données chronologique. Pour faciliter la surveillance, vous pouvez intégrer ces données dans un logiciel de visualisation. Plusieurs options sont disponibles :

Il existe également Geth Prometheus Exporter (opens in a new tab), une option préconfigurée avec InfluxDB et Grafana.

Dans ce tutoriel, nous allons configurer votre client Geth pour pousser des données sur InfluxDB afin de créer une base de données, et sur Grafana pour créer une visualisation graphique des données. Le faire manuellement vous aidera à mieux comprendre le processus, à le modifier et à le déployer dans différents environnements.

Configuration d'InfluxDB

Tout d'abord, téléchargeons et installons InfluxDB. Vous trouverez plusieurs options de téléchargement sur la page des versions d'Influxdata (opens in a new tab). Choisissez celle qui convient à votre environnement. Vous pouvez également l'installer depuis un dépôt (opens in a new tab). Par exemple, pour une distribution basée sur 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

Après avoir installé InfluxDB avec succès, assurez-vous qu'il fonctionne en arrière-plan. Par défaut, il est accessible à l'adresse localhost:8086. Avant d'utiliser le client influx, vous devez créer un nouvel utilisateur avec des privilèges d'administrateur. Cet utilisateur servira à la gestion de haut niveau, à la création de bases de données et d'utilisateurs.

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

Vous pouvez maintenant utiliser le client influx pour entrer dans le shell InfluxDB (opens in a new tab) avec cet utilisateur.

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

En communiquant directement avec InfluxDB dans son shell, vous pouvez créer une base de données et un utilisateur pour les métriques de Geth.

1create database geth
2create user geth with password choosepassword

Vérifiez les entrées créées avec :

1show databases
2show users

Quittez le shell InfluxDB.

1exit

InfluxDB est en cours d'exécution et configuré pour stocker les métriques de Geth.

Préparation de Geth

Après avoir configuré la base de données, nous devons activer la collecte de métriques dans Geth. Faites attention aux METRICS AND STATS OPTIONS dans geth --help. Vous y trouverez plusieurs options ; dans notre cas, nous voulons que Geth pousse les données vers InfluxDB. La configuration de base spécifie le point de terminaison où InfluxDB est joignable et l'authentification pour la base de données.

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

Ces options peuvent être ajoutées à une commande qui lance le client ou être enregistrées dans le fichier de configuration.

Vous pouvez vérifier que Geth pousse bien les données, par exemple en listant les métriques dans la base de données. Dans le shell InfluxDB :

1use geth
2show measurements

Configuration de Grafana

L'étape suivante consiste à installer Grafana, qui interprétera les données graphiquement. Suivez le processus d'installation pour votre environnement dans la documentation de Grafana. Assurez-vous d'installer la version OSS si vous n'avez pas besoin d'une autre version. Exemple d'étapes d'installation pour les distributions Debian à l'aide du dépôt :

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

Lorsque Grafana est en cours d'exécution, il devrait être accessible à l'adresse localhost:3000. Utilisez votre navigateur préféré pour accéder à ce chemin, puis connectez-vous avec les identifiants par défaut (utilisateur : admin et mot de passe : admin). Lorsque vous y êtes invité, changez le mot de passe par défaut et enregistrez.

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 1)

Vous serez redirigé vers la page d'accueil de Grafana. Tout d'abord, configurez vos données sources. Cliquez sur l'icône de configuration dans la barre de gauche et sélectionnez "Sources de données".

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 2)

Aucune source de données n'a encore été créée, cliquez sur "Ajouter une source de données" pour en définir une.

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 3)

Pour cette configuration, sélectionnez "InfluxDB" et continuez.

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 4)

La configuration de la source de données est assez simple si vous exécutez les outils sur la même machine. Vous devez définir l'adresse d'InfluxDB et les informations d'accès à la base de données. Reportez-vous à l'image ci-dessous.

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 5)

Si tout est complet et qu'InfluxDB est accessible, cliquez sur "Enregistrer et tester" et attendez que la confirmation apparaisse.

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 6)

Grafana est maintenant configuré pour lire les données depuis InfluxDB. Vous devez maintenant créer un tableau de bord qui interprétera et affichera ces données. Les propriétés des tableaux de bord sont encodées dans des fichiers JSON qui peuvent être créés par n'importe qui et importés facilement. Dans la barre de gauche, cliquez sur "Créer et Importer".

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 7)

Pour un tableau de bord de surveillance Geth, copiez l'ID de ce tableau de bord (opens in a new tab) et collez-le dans la "Page d'importation" dans Grafana. Après avoir enregistré le tableau de bord, il devrait ressembler à ceci :

Capture d'écran du tableau de bord Grafana pour la surveillance Geth (panneau 8)

Vous pouvez modifier vos tableaux de bord. Chaque panneau peut être modifié, déplacé, supprimé ou ajouté. Vous pouvez modifier vos configurations. À vous de jouer ! Pour en savoir plus sur le fonctionnement des tableaux de bord, consultez la documentation de Grafana (opens in a new tab). Les alertes (opens in a new tab) pourraient également vous intéresser. Cela vous permet de configurer des notifications d'alerte pour les cas où les métriques atteignent certaines valeurs. Divers canaux de communication sont pris en charge.

Dernière mise à jour de la page : 26 février 2026

Ce tutoriel vous a été utile ?