Zum Hauptinhalt springen

Überwachung von Geth mit InfluxDB und Grafana

Anwendungen
Blockchain-Knoten
Fortgeschritten
Mario Havel
13. Januar 2021
5 Minuten Lesezeit

Dieses Tutorial hilft Ihnen bei der Einrichtung der Überwachung für Ihren Geth-Blockchain-Knoten, damit Sie dessen Leistung besser verstehen und potenzielle Probleme identifizieren können.

Voraussetzungen

Überwachungs-Stack

Eine Ethereum-Anwendung sammelt viele 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 stehen mehrere Optionen zur Verfügung:

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

In diesem Tutorial richten wir Ihre Geth-Anwendung so ein, dass sie Daten an InfluxDB sendet, um eine Datenbank zu erstellen, und an Grafana, um eine grafische Visualisierung der Daten zu erstellen. Wenn Sie dies manuell tun, können Sie den Prozess besser verstehen, ihn ändern und in verschiedenen Umgebungen bereitstellen.

InfluxDB einrichten

Laden wir zunächst InfluxDB herunter und installieren es. Verschiedene Download-Optionen finden Sie auf der Influxdata-Release-Seite (opens in a new tab). Wählen Sie diejenige aus, die zu Ihrer Umgebung passt. 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

Stellen Sie nach der erfolgreichen Installation von InfluxDB sicher, dass es im Hintergrund ausgeführt wird. Standardmäßig ist es unter localhost:8086 erreichbar. Bevor Sie die influx-Anwendung 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 die Influx-Anwendung verwenden, um mit diesem Benutzer in die InfluxDB-Shell (opens in a new tab) zu gelangen.

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

Durch die direkte Kommunikation mit InfluxDB in seiner Shell 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 so konfiguriert, dass Metriken von Geth gespeichert werden.

Geth vorbereiten

Nach der Einrichtung der Datenbank 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 grundlegende Einrichtung gibt den Endpunkt an, an dem InfluxDB erreichbar ist, sowie 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 angehängt werden, der die Anwendung startet, oder in der Konfigurationsdatei gespeichert werden.

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

1use geth
2show measurements

Grafana einrichten

Der nächste Schritt ist die Installation von Grafana, das die Daten grafisch interpretiert. Befolgen Sie den Installationsprozess für Ihre Umgebung in der Grafana-Dokumentation. Stellen Sie sicher, dass Sie die OSS-Version installieren, sofern Sie nichts anderes wünschen. 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 Standardanmeldeinformationen an (Benutzer: admin und Passwort: admin). Wenn Sie dazu aufgefordert werden, ändern Sie das Standardpasswort und speichern Sie es.

Grafana-Dashboard-Screenshot 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 „Data sources“ (Datenquellen).

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

Es wurden noch keine Datenquellen erstellt. Klicken Sie auf „Add data source“ (Datenquelle hinzufügen), um eine zu definieren.

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

Wählen Sie für diese Einrichtung „InfluxDB“ und fahren Sie fort.

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

Die Konfiguration der Datenquelle ist ziemlich einfach, wenn Sie Tools auf derselben Maschine ausführen. Sie müssen die InfluxDB-Adresse und die Details für den Zugriff auf die Datenbank festlegen. Beziehen Sie sich auf das Bild unten.

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

Wenn alles abgeschlossen ist und InfluxDB erreichbar ist, klicken Sie auf „Save and test“ (Speichern und testen) und warten Sie, bis die Bestätigung angezeigt wird.

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

Grafana ist nun so eingerichtet, dass es Daten aus InfluxDB liest. Jetzt müssen Sie ein Dashboard erstellen, das diese interpretiert und anzeigt. Dashboard-Eigenschaften sind in JSON-Dateien codiert, die von jedem erstellt und einfach importiert werden können. Klicken Sie in der linken Leiste auf „Create and Import“ (Erstellen und Importieren).

Grafana-Dashboard-Screenshot 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 „Import page“ (Importseite) in Grafana ein. Nach dem Speichern des Dashboards sollte es so aussehen:

Grafana-Dashboard-Screenshot 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 Grafana-Dokumentation (opens in a new tab). Vielleicht interessieren Sie sich auch für Alerting (opens in a new tab) (Benachrichtigungen). Damit können Sie Benachrichtigungen einrichten, wenn Metriken bestimmte Werte erreichen. Es werden verschiedene Kommunikationskanäle unterstützt.

Letzte Aktualisierung der Seite: 3. März 2026

War dieses Tutorial hilfreich?