Weiter zum Hauptinhalt

Überwachung von Geth mit InfluxDB und Grafana

clients
nodes
Fortgeschritten
Mario Havel
13. Januar 2021
5 Minuten Lesedauer

Dieses Tutorial hilft Ihnen dabei, die Überwachung für Ihren Geth-Node einzurichten, damit Sie dessen Leistung besser verstehen und potenzielle Probleme erkennen können.

Voraussetzungen

Überwachungs-Stack

Ein Ethereum-Client sammelt eine Menge Daten, die in Form einer chronologischen Datenbank gelesen werden können. Um die Überwachung zu erleichtern, können Sie diese in eine Datenvisualisierungssoftware einspeisen. Es gibt mehrere verfügbare Optionen:

Es gibt auch Geth Prometheus Exporter (opens in a new tab), eine mit InfluxDB und Grafana vorkonfigurierte Option.

In diesem Tutorial richten wir Ihren Geth-Client ein, um Daten an InfluxDB zur Erstellung einer Datenbank zu senden und mit Grafana eine Diagrammvisualisierung der Daten zu erstellen. Die manuelle Durchführung wird Ihnen helfen, den Prozess besser zu verstehen, ihn zu ändern und in verschiedenen Umgebungen bereitzustellen.

Einrichten von InfluxDB

Lassen Sie uns zunächst InfluxDB herunterladen und installieren. Verschiedene Download-Optionen finden Sie auf der Influxdata-Release-Seite (opens in a new tab). Wählen Sie die für Ihre Umgebung passende aus. Sie können es auch aus einem Repository (opens in a new tab) installieren. Zum Beispiel in einer Debian-basierten Distribution:

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

Nach der erfolgreichen Installation von InfluxDB, stellen Sie sicher, dass es im Hintergrund läuft. Standardmäßig ist es unter localhost:8086 erreichbar. Bevor Sie den Influx-Client verwenden, müssen Sie einen neuen Benutzer mit Administratorrechten erstellen. Dieser Benutzer dient der übergeordneten Verwaltung, der Erstellung von Datenbanken und Benutzern.

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

Jetzt können Sie den Influx-Client verwenden, um mit diesem Benutzer die InfluxDB-Shell (opens in a new tab) zu betreten.

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

Indem Sie direkt mit InfluxDB in seiner Shell kommunizieren, können Sie eine Datenbank und einen Benutzer für Geth-Metriken erstellen.

1create database geth
2create user geth with password choosepassword

Überprüfen Sie die erstellten Einträge mit:

1show databases
2show users

Verlassen Sie die InfluxDB-Shell.

1exit

InfluxDB läuft und ist konfiguriert, um Metriken von Geth zu speichern.

Geth vorbereiten

Nachdem die Datenbank eingerichtet ist, müssen wir die Metrikerfassung in Geth aktivieren. Achten Sie auf METRICS AND STATS OPTIONS in geth --help. Dort finden Sie mehrere Optionen, in diesem Fall möchten wir, dass Geth Daten in InfluxDB pusht. Die Grundeinrichtung gibt den Endpunkt an, an dem InfluxDB erreichbar ist, und die Authentifizierung für die Datenbank.

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

Diese Flags können an einen Befehl zum Starten des Clients angehängt oder in der Konfigurationsdatei gespeichert werden.

Sie können überprüfen, ob Geth erfolgreich Daten pusht, indem Sie zum Beispiel die Metriken in der Datenbank auflisten. In der InfluxDB-Shell:

1use geth
2show measurements

Einrichten von Grafana

Der nächste Schritt ist die Installation von Grafana, das die Daten grafisch interpretieren wird. Folgen Sie dem Installationsprozess für Ihre Umgebung in der Grafana-Dokumentation. Stellen Sie sicher, dass Sie die OSS-Version installieren, wenn nicht anders gewünscht. Beispielhafte Installationsschritte für Debian-Distributionen unter Verwendung des Repositorys:

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

Wenn Grafana läuft, sollte es unter localhost:3000 erreichbar sein. Verwenden Sie Ihren bevorzugten Browser, um auf diesen Pfad zuzugreifen, und melden Sie sich dann mit den Standard-Anmeldeinformationen an (Benutzer: admin und Passwort: admin). Wenn Sie dazu aufgefordert werden, ändern Sie das Standardpasswort und speichern Sie es.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 1)

Sie werden zur Grafana-Startseite weitergeleitet. Richten Sie zunächst Ihre Quelldaten ein. Klicken Sie auf das Konfigurationssymbol in der linken Leiste und wählen Sie "Datenquellen" aus.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 2)

Es sind noch keine Datenquellen erstellt worden. Klicken Sie auf "Datenquelle hinzufügen", um eine zu definieren.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 3)

Wählen Sie für dieses Setup "InfluxDB" aus und fahren Sie fort.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 4)

Die Konfiguration der Datenquelle ist ziemlich einfach, wenn Sie die Tools auf demselben Rechner ausführen. Sie müssen die InfluxDB-Adresse und die Details für den Zugriff auf die Datenbank festlegen. Beachten Sie die Abbildung unten.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 5)

Wenn alles vollständig ist und InfluxDB erreichbar ist, klicken Sie auf "Speichern und testen" und warten Sie, bis die Bestätigung erscheint.

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 6)

Grafana ist jetzt so eingerichtet, dass es Daten aus InfluxDB lesen kann. Jetzt müssen Sie ein Dashboard erstellen, das sie interpretiert und anzeigt. Dashboard-Eigenschaften sind in JSON-Dateien kodiert, die von jedermann erstellt und einfach importiert werden können. Klicken Sie in der linken Leiste auf "Erstellen und Importieren".

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 7)

Für ein Geth-Überwachungs-Dashboard kopieren Sie die ID von diesem Dashboard (opens in a new tab) und fügen Sie sie auf der "Importseite" in Grafana ein. Nach dem Speichern des Dashboards sollte es so aussehen:

Screenshot des Grafana-Dashboards für die Geth-Überwachung (Panel 8)

Sie können Ihre Dashboards ändern. Jedes Panel kann bearbeitet, verschoben, entfernt oder hinzugefügt werden. Sie können Ihre Konfigurationen ändern. Es liegt ganz bei Ihnen! Um mehr darüber zu erfahren, wie Dashboards funktionieren, lesen Sie die Dokumentation von Grafana (opens in a new tab). Sie könnten auch an Alerting (opens in a new tab) interessiert sein. Damit können Sie Warnmeldungen für den Fall einrichten, dass Metriken bestimmte Werte erreichen. Verschiedene Kommunikationskanäle werden unterstützt.

Seite zuletzt aktualisiert: 26. Februar 2026

War dieses Tutorial hilfreich?