Antworten>Erfahren Sie mehr über Überwachung und Observability>Überwachung der Blockchain-Infrastruktur
Überwachung der Blockchain-Infrastruktur
// Tags
Blockchain-ÜberwachungKnotenüberwachung
TL;DR: Die Überwachung der Blockchain-Infrastruktur bedeutet, den Zustand, die Leistung und die Genauigkeit der Knoten, RPC-Endpunkte und Datenpipelines, auf die Ihre Anwendung angewiesen ist, kontinuierlich zu verfolgen. Im Gegensatz zur Überwachung eines herkömmlichen Webservers muss die Blockchain-Überwachung ketten-spezifische Verhaltensweisen wie Blockerzeugungsraten, Synchronisationsstatus, Finalitäts-Checkpoints, Mempool-Überlastung und die Dynamik der Gaspreise berücksichtigen. Die wichtigsten zu überwachenden Kennzahlen sind die Blockhöhe (ist Ihr Knoten auf dem neuesten Stand?), die RPC-Latenz (werden Anfragen schnell bearbeitet?), die Fehlerraten (sind die Anfragen erfolgreich?) und die Datenaktualität (erhält Ihre Anwendung den aktuellsten Status?). Eine effektive Überwachung kombiniert automatisierte Warnmeldungen bei akuten Problemen mit Dashboards zur Trendanalyse und Kapazitätsplanung.
Die einfache Erklärung
Wenn Ihre Anwendung auf einer Blockchain basiert, ist sie nur so stabil wie die Infrastruktur, die sie mit dieser Blockchain verbindet. Ein perfekt programmierter Smart Contract und ein hervorragend gestaltetes Frontend sind wertlos, wenn der endpoint Ihre Daten endpoint , ausfällt, in Verzug gerät oder Fehler zurückgibt. Durch Überwachung erkennen Sie, wann Probleme auftreten, noch bevor Ihre Nutzer davon merken.
Bei der herkömmlichen Überwachung von Webanwendungen liegt der Schwerpunkt auf Server-CPU, Arbeitsspeicher, Festplatte und Netzwerk. Die Überwachung der Blockchain-Infrastruktur umfasst all dies sowie eine Reihe von ketten-spezifischen Metriken, die in herkömmlichen Systemen nicht vorhanden sind. Ist der Knoten mit dem neuesten Block synchronisiert? Befindet sich der Knoten auf der kanonischen Kette oder ist er in einer Abzweigung hängen geblieben? Liefern die RPC-Antworten Daten aus der richtigen Blockhöhe zurück? Ist der Mempool so überlastet, dass dies die Bestätigungszeiten von Transaktionen beeinträchtigt? Diese Blockchain-spezifischen Signale sind es, die eine robuste Überwachungslösung von einer solchen unterscheiden, die kritische Fehlermodi übersieht.
Was ist zu überwachen?
Knotenstatus
Die grundlegendste Kennzahl ist die Blockhöhe: Welchen Block hat Ihr Knoten zuletzt verarbeitet, und wie sieht der Abstand zur aktuellen Spitze der Blockchain aus? Ein Knoten, der hinter der Spitze zurückbleibt (selbst wenn es nur wenige Blöcke sind), liefert veraltete Daten. Ihre Anwendung zeigt möglicherweise veraltete Guthaben an, übersieht aktuelle Transaktionen oder erkennt bestätigte Ereignisse nicht. Bei schnellen Blockchains wie Solana 400 ms Blockzeiten) bedeutet selbst eine geringe Synchronisationsverzögerung, dass Ihre Anwendung mehrere Blöcke hinter der Realität zurückliegt.
Beobachten Sie die Differenz zwischen der Blockhöhe Ihres Knotens und der Spitze der Blockchain. Ein einwandfrei funktionierender Knoten sollte sich jederzeit innerhalb von 0 bis 1 Blöcken von der Spitze befinden. Eine Differenz von 2 oder mehr Blöcken ist ein Warnsignal. Eine Differenz von 10 oder mehr Blöcken bedeutet, dass Ihr Knoten ein Synchronisationsproblem aufweist, das unverzüglich untersucht werden muss.
Der Synchronisierungsstatus gibt an, ob Ihr Knoten gerade aktiv synchronisiert, vollständig synchronisiert oder blockiert ist. Ein Knoten, der sich im Status „Synchronisierung“ befindet, aber stetig Fortschritte macht, ist in Ordnung. Ein Knoten, der den Status „Synchronisierung“ anzeigt, dessen Blockhöhe sich jedoch seit Minuten nicht erhöht hat, ist blockiert und muss überprüft werden.
Die Peer-Anzahl gibt an, mit wie vielen anderen Knoten Ihr Knoten verbunden ist. Ein einwandfrei funktionierender Knoten unterhält Verbindungen zu mehreren Peers, um Daten weiterzugeben und am Konsensverfahren teilzunehmen. Eine sinkende Peer-Anzahl kann auf Probleme mit der Netzwerkverbindung oder auf Konfigurationsfehler hindeuten.
RPC-Leistung
Die Antwortlatenz ist die Zeit zwischen dem Senden einer RPC-Anfrage und dem Empfang der Antwort. Erfassen Sie diese als Perzentile (p50, p95, p99) statt als Durchschnittswerte, da Durchschnittswerte die schlechteste Leistung verschleiern, die Ihre Nutzer erleben. Eine p50-Latenz von 50 ms bei einem p99-Wert von 2.000 ms bedeutet, dass die meisten Anfragen schnell bearbeitet werden, aber eine von 100 dauert volle 2 Sekunden. Genau diese langsamen Anfragen frustrieren die Nutzer.
Die Fehlerquote ist der prozentuale Anteil der RPC-Anfragen, die Fehler zurückgeben (HTTP-Statuscodes ungleich 200, JSON-RPC-Fehlerantworten oder Timeouts). Ein einwandfreier endpoint eine Fehlerquote von unter 0,1 % aufweisen. Quoten über 1 % deuten auf ein Problem hin, das unverzüglich untersucht werden muss. Zu den häufigen Fehlertypen gehören 429 (Ratenbegrenzung), 502/503 (Knoten nicht verfügbar) sowie JSON-RPC-Fehler wie „missing trie node“ (Archivdaten nicht verfügbar) oder „nonce too low“ (Konflikt bei der Transaktionsübermittlung).
Bei der Aufschlüsselung auf Methodenebene werden die Kennzahlen nach RPC-Methoden (eth_call, eth_getBalance, eth_sendRawTransaction usw.) unterteilt, da verschiedene Methoden unterschiedliche Leistungsprofile und Fehlermuster aufweisen. Ein sprunghafter Anstieg der Latenz bei eth_getLogs könnte darauf hindeuten, dass ein Knoten Probleme mit der Protokollfilterung hat, während ein sprunghafter Anstieg der Fehler bei eth_sendRawTransaction auf eine Überlastung des Mempools hindeuten könnte.
Kettenbedingungen
Die Beobachtung der Gaspreise ist für jede Anwendung, die Transaktionen sendet, unerlässlich. Durch die Beobachtung der Entwicklung der Basisgebühr und der Prioritätsgebühr kann Ihre Anwendung angemessene Gaspreise abschätzen, überhöhte Zahlungen in ruhigen Phasen vermeiden und Nutzer warnen, wenn Transaktionen aufgrund von Netzwerküberlastung teuer werden.
Die Mempool-Tiefe gibt an, wie viele ausstehende Transaktionen auf ihre Aufnahme warten. Ein wachsender Mempool deutet auf zunehmende Überlastung hin, was höhere Gebühren und längere Bestätigungszeiten zur Folge hat. Anwendungen, die auf eine vorhersehbare Transaktionsbestätigung angewiesen sind, sollten die Mempool-Tiefe überwachen und ihr Verhalten entsprechend anpassen.
Die Blockerzeugungsrate variiert je nach Blockchain und kann bei Netzwerkproblemen Schwankungen unterliegen. Durch die Überwachung der Blockerzeugungsintervalle lassen sich Verlangsamungen oder Unterbrechungen der Blockchain erkennen, bevor sie die Funktionalität Ihrer Anwendung beeinträchtigen.
Einrichtung der Überwachung
Ein typischer Überwachungsstack für Blockchain-Infrastrukturen besteht aus einer Erfassungsschicht, einer Speicherschicht, einer Visualisierungsschicht und einer Alarmierungsschicht.
Die Erfassungsschicht sammelt Metriken aus Ihrer Infrastruktur. Bei selbst gehosteten Knoten erfassen Tools wie Prometheus Node Exporter und benutzerdefinierte Metrik-Exporter system- und blockchainspezifische Metriken. Bei verwalteten Endpunkten bieten die meisten Anbieter einen API- oder Webhook-basierten Zugriff auf Metriken an. Metriken auf Anwendungsebene können mithilfe von OpenTelemetry, StatsD oder anbieterspezifischen SDKs erfasst werden.
Die Speicherschicht ist eine für Metrikdaten optimierte Zeitreihendatenbank. Prometheus, InfluxDB und Datadog sind die gängigsten Optionen. Zeitreihendatenbanken sind auf die hohe Schreibfrequenz und die zeitliche Reihenfolge von Metrikdaten ausgelegt und bieten integrierte Unterstützung für Aggregation, Downsampling und Aufbewahrungsrichtlinien.
Die Visualisierungsebene wandelt Rohdaten in aussagekräftige Dashboards um. Grafana ist der Branchenstandard für die Visualisierung von Open-Source-Überwachungsdaten und bietet native Unterstützung für Prometheus, InfluxDB und Dutzende weiterer Datenquellen. Datadog, New Relic und AWS CloudWatch bieten integrierte Visualisierungsfunktionen als Teil ihrer Überwachungsplattformen an.
Die Alarmierungsschicht vergleicht Metriken mit Schwellenwerten und benachrichtigt die zuständigen Personen, wenn etwas Aufmerksamkeit erfordert. Effektive Warnmeldungen sollten umsetzbar sein (jede Warnmeldung sollte ein entsprechendes Runbook haben), fein abgestimmt sein (nicht so empfindlich, dass sie ständig ausgelöst werden, und nicht so locker, dass echte Probleme übersehen werden), weitergeleitet werden (über PagerDuty, Slack oder ähnliche Dienste an die diensthabende Person gesendet) und kontextbezogen sein (genügend Informationen enthalten, um mit der Diagnose des Problems zu beginnen, ohne ein Dashboard öffnen zu müssen).
Blockchain-spezifische Herausforderungen bei der Überwachung
Umgebungen mit mehreren Blockchains erhöhen die Komplexität der Überwachung erheblich. Wenn Ihre Anwendung 10 Blockchains unterstützt, müssen Sie für jede einzelne den Zustand der Knoten, die RPC-Leistung und den Status der Blockchain überwachen. Jede Blockchain weist unterschiedliche Blockzeiten, unterschiedliche Finalitätsmodelle und unterschiedliche Ausfallmodi auf. Eine Überwachungskonfiguration, die für Ethereum perfekt funktioniert, Ethereum kritische Signale auf Solana übersehen – und umgekehrt.
Variable Blockzeiten erschweren die Festlegung statischer Schwellenwerte für Warnmeldungen. Eine Lücke von 15 Sekunden zwischen Ethereum ist normal. Eine Lücke von 15 Sekunden bei Solana wo Blöcke alle 400 ms erscheinen sollten) ist hingegen ein ernstes Problem. Warnmeldungen müssen für jede Blockchain individuell angepasst werden und dürfen nicht pauschal festgelegt werden.
Das Bewusstsein für die Finalität ist wichtig für die Überwachung von Datenpipelines. Bei der Überwachung sollte nicht nur der aktuellste Block erfasst werden, den Ihr Knoten gesehen hat, sondern der aktuellste finalisierte Block. Daten aus Blöcken, die noch keine Finalität erreicht haben, können durch eine Reorganisation rückgängig gemacht werden. Daher benötigen Anwendungen, die auf finalisierten Daten basieren, eine Überwachung, die zwischen der aktuellen und der finalisierten Blockhöhe unterscheidet.
Was sind die wichtigsten Kennzahlen zur Blockchain-Überwachung, die es zu verfolgen gilt?
Mit einigen wenigen Kennzahlen mit hohem Signalanteil lassen sich die meisten Probleme der Blockchain-Infrastruktur erkennen. Die folgende Tabelle fasst zusammen, welche Informationen die einzelnen Kennzahlen liefern, in welchem Bereich ein einwandfreier Betrieb vorliegt und ab welchem Punkt Sie einen Bereitschaftstechniker benachrichtigen sollten.
Metrisch
Was damit gemessen wird
Gesunder Bereich
Wann ist eine Meldung erforderlich?
Blockhöhen-Delta
Abstand zur Kettenspitze
Innerhalb von 0 bis 1 Block
10 oder mehr Blöcke Rückstand
RPC-Latenz (p99)
Das langsamste 1 % der Antworten
Unter 500 ms
Mehr als 2 Sekunden
Fehlerquote
Anteil der fehlgeschlagenen Anfragen
unter 0,1 %
Über 1 %
Anzahl der Peers
Verbundene Netzwerkpartner
Stabil, über dem Mindestwert des Kunden
Plötzlicher oder anhaltender Rückgang
Mempool-Tiefe
Ausstehende Transaktionen
Stabil für die Kette
Schnelles, nachhaltiges Wachstum
Aktualität der Daten
Alter des zuletzt bereitgestellten Zustands
Erst vor wenigen Sekunden
Nur wenige Minuten nach dem Anpfiff
Verfolgen Sie diese Werte als Zeitreihen statt als Einzelmesswerte, damit Sie Trends erkennen können, bevor sie zu Ausfällen führen. Insbesondere die Latenz sollte in Perzentilen gemessen werden: Erfahren Sie mehr darüber, welche Faktoren die RPC-Latenz beeinflussen und wie sie sich in die allgemeine Beobachtbarkeit der Blockchain einfügt.
Inwiefern unterscheidet sich die Blockchain-Überwachung von der herkömmlichen Infrastrukturüberwachung?
Bei der herkömmlichen Serverüberwachung erfahren Sie lediglich, ob ein Rechner läuft, doch ein Blockchain-Knoten kann alle Infrastrukturprüfungen bestehen und dabei unbemerkt veraltete oder neu organisierte Daten ausgeben. Bei der Blockchain-Überwachung werden die üblichen Host-Metriken um blockchain-spezifische Signale ergänzt.
Aspekt
Herkömmliche Infrastrukturüberwachung
Überwachung der Blockchain-Infrastruktur
Primäres Gesundheitssignal
CPU, Arbeitsspeicher, Festplatte, Netzwerk
Blockhöhe, Synchronisationsstatus, Finalität
Häufige mode
Server ausgefallen oder überlastet
Knoten ist online, liefert jedoch veraltete oder neu organisierte Daten
Korrektheitsrisiko
Niedrig, sobald der Server antwortet
Gültige Daten können durch eine Reorganisation rückgängig gemacht werden
Latenz-Basiswert
Festpreis pro Dienstleistung
Variiert je nach Kette und RPC-Methode
Geltungsbereich
Ein Stapel
Eine Konfiguration pro Kette über viele Ketten hinweg
Der größte Unterschied liegt in der Korrektheit im Zeitverlauf. Eine Antwort kann zum Zeitpunkt der Rückgabe korrekt sein und wenige Sekunden später bereits ungültig werden. Aus diesem Grund sollte bei der Überwachung zwischen dem aktuellsten Block und dem finalisierten Block unterschieden werden. Warum diese Unterscheidung für Datenpipelines von Bedeutung ist, erfahren Sie unter „Blockchain-Finalität “.
Kann man die Blockchain-Infrastruktur überwachen, ohne einen eigenen Knoten zu betreiben?
Ja. Managed-RPC-Anbieter stellen Dashboards und Kennzahlen zu Anfragemenge, Latenz und Fehlerraten bereit, ohne dass Sie dafür eigene Messinstrumente einrichten müssen. Dadurch entfällt der größte Teil des Betriebsaufwands, der bei einer selbst gehosteten Überwachung anfällt. Dies ist oft der schnellste Weg zu hoher Verfügbarkeit, da der Anbieter die Überwachung des Knotenzustands, die Skalierung und die Redundanz für Sie übernimmt. Die Core-API Quicknode bietet standardmäßigendpoint , sodass Sie bereits ab der ersten Anfrage Einblick in Ihre Infrastruktur erhalten.
Wie überwacht man eine Multi-Chain-Blockchain-Infrastruktur?
Multi-Chain-Überwachung bedeutet, Schwellenwerte für jede einzelne Chain zu kalibrieren, da eine Verzögerung, die auf Ethereum normal ist, auf einer Sub-Sekunden-Chain bereits einen schwerwiegenden Vorfall darstellen Ethereum . Führen Sie die Metriken aller Chains in einem Dashboard zusammen und lösen Sie Warnmeldungen auf Basis der jeweiligen Chain-spezifischen Referenzwerte aus. Für Datenpipelines: Quicknode Streams die erfolgreiche Zustellung und die Verarbeitungslatenz pro Kette, sodass Sie sofort erkennen, wenn ein Netzwerk in Verzug gerät.
Häufig gestellte Fragen
Wie oft sollte man die Blockchain-Infrastruktur überwachen?
Kontinuierlich. Erfassen Sie alle paar Sekunden die Blockhöhe und die Latenz und werten Sie die Alarmregeln near in near aus. Schnelle Blockketten erzeugen mehrere Blöcke pro Sekunde, sodass ein Abfrageintervall von einer Minute einen Knoten verbergen kann, der bereits weit zurückgefallen ist. Kombinieren Sie kurze Erfassungsintervalle mit den drei Säulen Metriken, Protokolle und Traces, um eine lückenlose Abdeckung zu gewährleisten.
Was ist eine gute RPC-Fehlerquote?
Ein gesunder endpoint unter 0,1 % Fehlern. Ein Wert über 1 % deutet auf ein echtes Problem hin, wie z. B. eine Ratenbegrenzung, einen nicht verfügbaren Knoten oder fehlende Archivdaten. Schlüsselt Fehler stets nach Methoden auf, damit ihr erkennen könnt, welche Aufrufe fehlschlagen und warum.
Was ist der Unterschied zwischen der Überwachung des neuesten Blocks und der Überwachung des finalisierten Blocks?
Der aktuellste Block ist der neueste, den Ihr Knoten bisher gesehen hat, während der finalisierte Block einen Punkt erreicht hat, an dem er nicht mehr rückgängig gemacht werden kann. Anwendungen, die auf endgültig festgestellte Daten angewiesen sind, sollten bei Erreichen der finalisierten Höhe eine Warnung ausgeben, da Daten aus nicht finalisierten Blöcken bei einer Reorganisation verloren gehen können.
Wie überwacht man Ausfallzeiten von Blockchain-Knoten?
Verfolgen Sie die Veränderungen der Blockhöhe, die Anzahl der Peers und die Fehlerrate gemeinsam und leiten Sie Warnmeldungen an einen Bereitschaftskanal weiter. Durch die Kombination von Überwachung mit bewährten Verfahren zur Gewährleistung der Knotenzuverlässigkeit und automatischem Failover wird der Datenverkehr sofort auf einen funktionsfähigen Knoten umgeleitet, sobald ein Knoten ausfällt.
Welche Tools werden zur Überwachung der Blockchain-Infrastruktur eingesetzt?
Der gängige Open-Source-Stack besteht aus Prometheus für die Erfassung und Speicherung, Grafana für Dashboards und Alertmanager für das Routing. Managed-Anbieter bieten integrierte Analysefunktionen, und dedizierte Clusters Metriken auf Knotenebene direkt in eine bestehende Prometheus- oder Datadog-Umgebung exportieren.
So Quicknode die Überwachung
Quicknode integrierte Überwachungs- und Analysefunktionen für jeden endpoint. Das Quicknode zeigt Echtzeit- und historische Kennzahlen an, darunter das Anfragemengenaufkommen, die Antwortlatenz, Fehlerraten sowie Aufschlüsselungen auf Methodenebene. Diese Kennzahlen sind ohne zusätzliche Instrumentierung verfügbar und bieten Entwicklern einen sofortigen Überblick über den Zustand ihrer Blockchain-Infrastruktur.
Für Teams mit bestehender Überwachungsinfrastruktur Clusters Dedicated Clusters Quicknode die Integration des Prometheus-Exporters. Auf diese Weise können Sie Metriken auf Knoten- und endpoint direkt in Ihre Prometheus-Instanz, Ihre Grafana-Dashboards oder Datadog einbinden und so eine einheitliche Überwachung Ihres gesamten Anwendungsstacks und Ihrer Blockchain-Infrastruktur auf einer einzigen Plattform ermöglichen. Clusters Dedicated Clusters bieten Clusters eine 14-tägige Protokollspeicherung für detaillierte Analysen auf Anfrageebene.
Quicknode Streams Überwachungsfunktionen für den Betriebszustand von Datenpipelines, darunter Übertragungserfolgsraten, Verarbeitungslatenz und Fehlerprotokolle. Für Teams, die Multi-Chain-Datenpipelines betreiben, stellt Streams sicher, dass Sie sofort erfahren, wenn eine Pipeline in Verzug gerät oder Übertragungsprobleme auftreten, noch bevor fehlende Daten Auswirkungen auf Ihre Anwendung haben.