Zum Hauptinhalt springen

Geth mit InfluxDB und Grafana überwachen

Clients
Knoten
Fortgeschritten
Mario Havel
13. Januar 2021
4 Minuten Lesezeit

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

Voraussetzungen

Überwachungs-Stack

Ein Ethereum-Client 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 Ihren Geth-Client so ein, dass er 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 anpassen 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:

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 den influx-Client verwenden, müssen Sie einen neuen Benutzer mit Administratorrechten erstellen. Dieser Benutzer dient der übergeordneten Verwaltung, dem Erstellen von Datenbanken und Benutzern.

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

Durch die direkte Kommunikation mit InfluxDB in seiner Shell können Sie eine Datenbank und einen Benutzer für Geth-Metriken erstellen.

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

Verlassen Sie die InfluxDB-Shell.

InfluxDB läuft und ist so konfiguriert, dass es Metriken von Geth speichert.

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 an InfluxDB sendet. Die grundlegende Einrichtung gibt den Endpunkt an, an dem InfluxDB erreichbar ist, sowie die Authentifizierung für die Datenbank.

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 sendet, indem Sie beispielsweise die Metriken in der Datenbank auflisten. In der InfluxDB-Shell:

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 über das Repository:

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 for Geth monitoring (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 for Geth monitoring (panel 2)

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

Grafana dashboard screenshot for Geth monitoring (panel 3)

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

Grafana dashboard screenshot for Geth monitoring (panel 4)

Die Konfiguration der Datenquelle ist ziemlich unkompliziert, wenn Sie die 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 for Geth monitoring (panel 5)

Wenn alles vollständig 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 for Geth monitoring (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 for Geth monitoring (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 Seite „Import“ in Grafana ein. Nach dem Speichern des Dashboards sollte es so aussehen:

Grafana dashboard screenshot for Geth monitoring (panel 8)

Sie können Ihre Dashboards anpassen. 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 Warnmeldungen einrichten, wenn Metriken bestimmte Werte erreichen. Es werden verschiedene Kommunikationskanäle unterstützt.