← Blog
10 Min. Lesezeit
|
Veröffentlicht

Best Practices für Webhook-Logging: Was protokollieren, was verbergen

Best Practices für Webhook-Logging für Empfänger: welche Felder aufgezeichnet werden sollen, welche Geheimnisse außen vor bleiben, wie Wiederholungen und Duplikate nachverfolgt werden und wie Alarme Ausfälle frühzeitig erkennen.

Kapitel
C
Chaingateway Team
Blockchain-Experten

Geprüft von Maurice Sobiera

Isometrische Ereigniskacheln, die sich durch Protokollierungsphasen bewegen

Gutes Webhook-Logging beruht auf einer Regel: Zeichnen Sie genügend Metadaten auf, um zu rekonstruieren, was mit jeder Zustellung passiert ist, und halten Sie Payloads, Geheimnisse und Signaturwerte aus Ihren Logs fern. Verwenden Sie strukturierte Einträge, die mit einer Zustellungs- oder Ereignis-ID versehen sind. Erfassen Sie das Verifikationsergebnis, die Versuchsnummer, den von Ihnen zurückgegebenen HTTP-Status und das finale Verarbeitungsergebnis. Alarmieren Sie dann bei den Mustern, die zählen: Ausfallspitzen, Duplikatfluten, Warteschlangenrückstände und Stille.

Dieser Leitfaden zeigt die Felder, die Schwärzungsregeln, die Wiederholungs- und Duplikatmuster sowie die Alarm-Schwellenwerte. Er richtet sich an Entwickler, die Webhooks empfangen, einschließlich On-Chain-Zahlungs- und Einzahlungsereignissen.

TL;DR

  • Protokollieren Sie einen strukturierten Eintrag pro Zustellung: Ereignis-ID, Zeitstempel, Endpunkt, Ereignistyp, Signaturergebnis, Versuchsnummer, Antwortstatus, Latenz und Verarbeitungsergebnis.
  • Protokollieren Sie niemals Signaturgeheimnisse, Signatur-Header-Werte, Authorization-Header oder vollständige Anfragekörper. Protokollieren Sie stattdessen einen Hash und sichere Identifikatoren.
  • Behandeln Sie Duplikate als normal. Basieren Sie Idempotenz auf der Zustellungs- oder Ereignis-ID des Anbieters und protokollieren Sie einen „duplicate“-Status, anstatt das Ereignis stillschweigend zu verwerfen.
  • Verifizieren, in die Warteschlange stellen, bestätigen: Protokollieren Sie jede Phase separat, damit Sie einen Empfangsfehler von einem Verarbeitungsfehler unterscheiden können.
  • Alarmieren Sie bei Ausfallrate, Signaturfehlern, Warteschlangentiefe, Wachstum der Dead-Letter-Queue und unerwarteter Stille, nicht bei einzelnen Fehlern.

Inhaltsverzeichnis

Was ein Webhook-Log beantworten muss

Ein nützliches Log beantwortet drei Fragen für jede Zustellung: Was ist angekommen, was hat Ihr System damit gemacht und wie endete die Verarbeitung. Wenn ein Kunde fragt, warum eine Zahlung nie angezeigt wurde, sollten Sie in einer Minute antworten können: Hat das Event uns erreicht, haben wir es akzeptiert, haben wir es verarbeitet und was haben wir zurückgegeben?

Drei Fragen, die ein nützliches Webhook-Log beantwortet

Diese Rahmung bestimmt die Felder. Alles, was Sie protokollieren, sollte helfen, eine dieser drei Fragen zu beantworten. Alles, was dies nicht tut, wie ein vollständiger Body-Dump „für alle Fälle“, ist Kosten und Risiko ohne Nutzen.

Die Felder, die für jede Zustellung protokolliert werden müssen

Empfehlungen verschiedener Quellen laufen auf eine kurze Kernliste hinaus. Das OWASP Webhook Security Cheat Sheet empfiehlt die Protokollierung von Zeitstempel, Quell-IP, HTTP-Methode, Antwortstatus, Ereignis-ID, Ereignistyp und Verarbeitungslatenz. Die Dokumentation von Mambu ergänzt den Endpunkt-Pfad, den Idempotenz-Key-Header, ein hochauflösendes Ergebnis (akzeptiert, abgelehnt oder fehlgeschlagen) sowie eine Korrelations- oder Trace-ID. Der Delivery-Log von Formspring zeigt, wie ein Datensatz pro Zustellversuch aussehen kann: Versuchsnummer, HTTP-Status, ein kurzer Fehlercode, wenn die Anfrage nie abgeschlossen wurde, Latenz, Versandzeit und der Zeitpunkt des nächsten Wiederholungsversuchs.

Kombiniert ergibt sich ein praktischer Datensatz auf Empfängerseite wie folgt:

FeldWarum es seinen Platz verdient
Ereignis- oder Zustell-IDDer eine Schlüssel, der alles verbindet; er beantwortet „Haben wir das schon gesehen?“
Empfangszeitstempel (UTC)Ordnet Ereignisse und misst Verzögerung gegenüber dem Zeitstempel des Anbieters
Endpunkt, Methode, EreignistypErmöglicht Gruppierung von Fehlern nach Route und Typ
Quell-IPHilft, Zustellungen von unerwarteten Adressen zu erkennen
Signaturergebnis und FehlergrundTrennt gefälschte oder fehlerhaft konfigurierte Anfragen von echten Fehlern
VersuchsnummerZeigt, ob es sich um eine Erstzustellung oder einen Wiederholungsversuch handelt
Zurückgegebener HTTP-StatusWas der Anbieter von Ihnen gesehen hat
VerarbeitungszustandEmpfangen, in Warteschlange gestellt, verarbeitet, fehlgeschlagen oder Duplikat
LatenzLangsame Bestätigungen verursachen Wiederholungsversuche und damit Duplikate
Payload-HashBeweist, was angekommen ist, ohne den Inhalt zu speichern
Korrelations- oder Trace-IDVerfolgt das Ereignis in Ihre Warteschlange, Worker und nachgelagerte Aufrufe

Verwenden Sie eine feste Liste kurzer Fehlergründe (beispielsweise bad_signature, malformed_body, downstream_timeout) anstelle von Freitextnachrichten. Ein fester Satz lässt sich leicht filtern, zählen und in Diagrammen darstellen.

Die Log-Struktur einmal definieren

Entwerfen Sie den Eintrag in einer Hilfsfunktion und rufen Sie diese überall auf. Ad-hoc console.log(request)-Aufrufe sind der Weg, wie Geheimnisse und personenbezogene Daten in Log-Speicher gelangen. Eine zentrale Funktion mit einer expliziten Allowlist von Feldern macht die sichere Struktur zur einzigen Struktur.

{
"ts": "2026-11-04T14:03:22.481Z",
"event_id": "evt_8f31c2",
"event_type": "deposit.confirmed",
"endpoint": "/hooks/payments",
"signature": "valid",
"attempt": 1,
"status": 202,
"latency_ms": 41,
"state": "queued",
"payload_sha256": "9b74c9...",
"trace_id": "4bf92f3577b34da6"
}

Wenn der Anbieter keine Zustellkennung sendet, generieren Sie eine UUID oder ULID an Ihrem Load Balancer oder Proxy, übergeben Sie diese an nachgelagerte Aufrufe und geben Sie sie in Fehlerantworten zurück. Ihre eigene ID übernimmt dann die Aufgabe, die eine Anbieter-ID erfüllen würde.

Was Sie aus Ihren Logs fernhalten sollten

Hier geht beim Logging am meisten schief. OWASP ist explizit: Protokollieren Sie keine vollständigen Anfragekörper, Signaturgeheimnisse oder die Werte von Authorization- und Signatur-Headern, und schwärzen Sie diese in Logs und Fehlerantworten. Die Webhook-Sicherheitsrichtlinie von Twilio besagt ebenfalls, dass vollständige Anfragekörper nicht in Anwendungslogs gehören, wobei sensible Felder geschwärzt oder ausgeschlossen werden sollten.

Ein Signatur-Header-Wert sind keine harmlosen Metadaten. In Kombination mit einem geleakten Body kann er jemandem dabei helfen, Ihr Verifikationsschema zu analysieren, und viele Log-Speicher sind für weit mehr Personen lesbar als Ihr Secrets Manager. Behandeln Sie Logs als ein System mit geringerem Vertrauen als Ihre Anwendung.

Allowlist, keine Blocklist

Erstellen Sie jeden Log-Eintrag aus den Feldern, die Sie benannt haben, anstatt die gesamte Anfrage zu serialisieren und anschließend gefährliche Schlüssel zu entfernen. Eine Blocklist versagt beim ersten Mal, wenn ein Anbieter ein neues sensibles Feld hinzufügt. Eine Allowlist versagt sicher: Ein neues Feld erscheint einfach nicht.

Für Ebenen jenseits der Allowlist beschreibt die Anleitung von GitGuardian, wie Geheimnisse aus Logs ferngehalten werden, einen mehrstufigen Ansatz: Minimieren Sie die Daten, die Sie verarbeiten, schwärzen, tokenisieren oder hashen Sie das, was übrig bleibt, verpacken Sie sensible Strings in Typen, die eine versehentliche Serialisierung verweigern, und fügen Sie Tests hinzu, die fehlschlagen, wenn sensible Muster in erfassten Ausgaben auftauchen.

Referenzen loggen, keine Inhalte

Wenn Sie auf die Payload verweisen müssen, tun Sie dies indirekt:

  • Einen SHA-256-Hash des rohen Bodys, damit Sie beweisen können, dass zwei Zustellungen identisch waren, oder erkennen, dass dieselbe Event-ID mit unterschiedlichem Inhalt zurückkam.
  • Die Event-ID des Anbieters und Ressourcen-IDs, wie eine Bestell-, Rechnungs- oder Transaktionskennung.
  • Die letzten vier Zeichen einer Kennung, wo ein Mensch sie wiedererkennen muss.

Falls Sie die rohe signierte Anfrage für Replays aufbewahren müssen, legen Sie diese in einen separaten, zugriffskontrollierten Speicher, wie eine verschlüsselte Queue oder einen eingeschränkten Object Store, mit eigener kurzer Aufbewahrungsfrist, und rufen Sie sie bei autorisierten Untersuchungen über die Delivery-ID ab. Halten Sie die Metadaten-Aufbewahrung unabhängig von der Payload-Aufbewahrung: Metadaten sind günstig und monatelang nützlich, während Payloads ab dem Moment, in dem sie nicht mehr benötigt werden, eine Haftung darstellen.

Falls Ihre Endpunkt-URL ein Geheimnis enthält, schwärzen Sie den Pfad, bevor er Load Balancer, Reverse Proxy oder APM-Logs erreicht. Diese Ebenen loggen URLs standardmäßig.

Signaturverifikation als eigenen Schritt loggen

Die Verifikation verdient eine eigene Log-Zeile, getrennt von der Verarbeitung. Die OWASP-Empfehlung lautet, die gepflegte Verifikationsbibliothek des Publishers zu verwenden, ihr den rohen Request-Body vor jedem Framework-Parsing zu übergeben, den HMAC neu zu berechnen, in konstanter Zeit zu vergleichen und nur das erwartete Signaturschema zu akzeptieren. Wenn die Signatur fehlt oder falsch ist, geben Sie 401 zurück, ohne zu erklären, warum.

Was Sie hier loggen, ist das Urteil, nicht der Beweis: Bestanden oder fehlgeschlagen, das Schema und ein kurzer Grundcode. Niemals die berechnete oder empfangene Signatur. Eine steigende Anzahl an Fehlschlägen ist eines Ihrer besten Frühwarnsignale, da dies auf ein rotiertes Secret, einen Proxy, der den Body verändert, oder Probing-Versuche hindeuten kann.

Eine gültige Signatur beweist, wer die Payload gesendet hat, nicht, dass deren Inhalte sicher sind. Validieren Sie Schema und Werte, bevor Sie handeln, und loggen Sie Validierungsfehler getrennt von Signaturfehlern, damit die beiden Ursachen nicht miteinander verschwimmen.

Auf unserer Seite haben wir mehr Kontrolle über diese Ebene hinzugefügt; unser Beitrag zu einem neuen Feature zur Erhöhung der Webhook-Sicherheit behandelt, wie signierte Zustellungen funktionieren.

Signaturverifikation als eigenen Schritt loggen

Verifizieren, enqueuen, bestätigen: Jede Phase loggen

Das zuverlässigste Receiver-Design ist kurz: Signatur prüfen, Event in eine Queue legen, schnell einen 2xx-Status zurückgeben und die eigentliche Arbeit asynchron erledigen. Anbieter erwarten schnelle Antworten, und ein langsamer Handler wird wiederholt, was Duplikate erzeugt.

Dieses Design liefert natürliche Log-Punkte:

  1. Ingest: Anfrage empfangen, Größe, Quell-IP, Event-ID.
  2. Validation: Urteil zu Signatur und Schema, mit Fehlercode bei Misserfolg.
  3. Queue: Event angenommen, Queue-Name, geplante Zeit.
  4. Processing: Worker-Start, Ergebnis, Dauer, Fehlercode falls vorhanden.
  5. Retry oder Dead Letter: Nächster Versuchszeitpunkt oder Grund, warum das Event geparkt wurde.

Führen Sie dieselbe Event-ID und Trace-ID durch alle fünf Schritte. Dann liefert ein Filter auf die Event-ID die komplette Geschichte, und Sie sehen genau, wo eine Zustellung stoppte. Wenn Sie einen tieferen Einblick in dieses Muster wünschen, geht unser Artikel zu Webhooks vs. WebSockets und dem Ingest-, Queue-, Fan-out-Muster darauf ein.

Logging von Retries, Duplikaten und Fehlern

Duplikate sind normal

Anbieter, die At-least-once-Zustellung garantieren, senden dasselbe Event mehr als einmal, besonders nach einem Timeout auf Ihrer Seite. Duplikate sind also keine Anomalie, die man verstecken muss. Loggen Sie sie als Zustand.

Nutzen Sie die unveränderliche Delivery- oder Event-ID des Anbieters als Idempotenzschlüssel. Falls IDs nur pro Account eindeutig sind, grenzen Sie den Schlüssel nach Anbieter und Account ein. Wenn ein Event erneut eintrifft, protokollieren Sie duplicate, überspringen die Arbeit und geben trotzdem 2xx zurück, damit der Anbieter aufhört zu wiederholen. Sollte dieselbe ID jemals mit einem anderen Payload-Hash eintreffen, verarbeiten Sie es nicht: quarantänieren Sie es und alarmieren Sie jemanden.

Statuscodes so lesen wie die Anbieter

Wie ein Anbieter Ihre Antwort behandelt, bestimmt Ihren Retry-Traffic. Ein dokumentiertes Schema wertet einen 2xx innerhalb weniger Sekunden als Erfolg, behandelt 408, 429, 5xx und Timeouts als wiederholbar mit Backoff und stuft andere 4xx-Antworten als permanente Fehler ein, die ohne weitere Versuche in einen Dead State übergehen (ObjectOS Webhook-Dokumentation). Anbieter unterscheiden sich, also prüfen Sie Ihren, aber die Lektion bleibt: Der von Ihnen zurückgegebene Status ist eine Entscheidung darüber, ob das Event zurückkommt.

Deshalb ist es so nützlich, den zurückgegebenen Status und die Versuchsnummer gemeinsam zu loggen. Ein Schwall von 500ern, gefolgt von Einträgen für Versuch 2 und 3, zeigt Ihnen, dass die Ursache auf Ihrer Seite liegt und Retries bereits unterwegs sind.

Log-Level nutzen, die der Dringlichkeit entsprechen

Ordnen Sie Ergebnisse Leveln zu, damit On-Call-Ingenieure filtern können: Erfolg auf Info, 4xx-Antworten auf Warn, 5xx, Timeouts und Netzwerkfehler auf Error. Halten Sie Debug-Logging in der Produktion standardmäßig aus, weil Debug-Ausgaben dort sind, wo Payloads und Header auftauchen.

Eigene Retries von denen des Anbieters trennen

Zwei Retry-Schleifen stapeln sich schnell. Der Anbieter wiederholt die Zustellung an Sie; Ihre eigenen Worker wiederholen möglicherweise einen fehlgeschlagenen Downstream-Call. Loggen Sie, wem ein Versuch gehört, wiederholen Sie nur transient Fehler wie Timeouts und 429, 502, 503 und 504, nutzen Sie exponentiellen Backoff mit Jitter und verschieben Sie ausgeschöpfte Events in eine Dead-Letter-Queue, wo eine Person sie prüfen kann.

Bei hohem Volumen nur Erfolgsfälle sampeln

Bei sehr hohem Volumen wird das Loggen jedes erfolgreichen ersten Versuchs teuer. Ein gängiger Kompromiss ist, nur einen kleinen Bruchteil sauberer Erfolge zu sampeln, während jeder Retry, Fehler, Dead-Letter-Event und Signaturfehler beibehalten wird. Halten Sie Metrik-Zähler exakt, auch wenn Log-Zeilen gesampelt werden, damit Dashboards ehrlich bleiben.

Metriken und Alerts auf Basis der Logs

Logs erklären eine einzelne Zustellung; Metriken zeigen, ob das System gesund ist. Leiten Sie beide aus denselben strukturierten Feldern ab. Der Leitfaden von Field Nation zur Webhook-Überwachung bietet einen konkreten Startkatalog an Zielwerten:

MetrikStartziel
Zustell-ErfolgsrateÜber 99 %
Zustell-LatenzUnter 5 Sekunden bei p95
WiederholungsrateUnter 5 %
Timeout-RateUnter 1 %
VerarbeitungsdauerUnter 2 Sekunden bei p95
WarteschlangentiefeUnter 100
Dead-Letter-Queue-Größe0

Behandeln Sie diese als Basis, um sie an Ihren eigenen Datenverkehr anzupassen, nicht als universelle Schwellenwerte. Eine Zahlungswarteschlange und eine Newsletter-Warteschlange verdienen unterschiedliche Zahlen.

Die Alerting-Empfehlungen von OWASP beziehen sich mehr auf Muster als auf konkrete Zahlen: alarmieren Sie bei Spitzen bei Signaturfehlern, bei anhaltenden 4xx- oder 5xx-Antworten und bei Zustellungen von unerwarteten Quelladressen. Fügen Sie drei weitere hinzu, die wenig Aufwand bedeuten:

  • Stille: über einen längeren Zeitraum als dem normalen Abstand keine Ereignisse empfangen. Ein ruhiger Endpunkt ist oft ein defektes Abonnement oder eine geänderte URL.
  • Dead-Letter-Wachstum: jeder anhaltende Anstieg bedeutet, dass Ereignisse dauerhaft fehlschlagen.
  • Duplikatrate: eine gewisse Duplizierung ist zu erwarten, aber eine hohe Rate bedeutet meist, dass Ihr Endpunkt zu langsam bestätigt.

Alarmieren Sie einen Menschen bei Bedingungen, die Handlungsbedarf erfordern (Fehlerrate über ein Zeitfenster, wachsende Warteschlange, sich füllende DLQ), und leiten Sie den Rest an ein Dashboard weiter. Alarme bei einzelnen Fehlschlägen trainieren Menschen darin, den Kanal zu ignorieren.

Protokolle zur Fehlerbehebung in der Produktion nutzen

Wenn etwas kaputtgeht, arbeiten Sie von der Zustellungs-ID ausgehend nach außen:

  1. Den Eintrag finden. Nach Ereignis-ID suchen. Kein Eintrag bedeutet, dass das Ereignis Sie nie erreicht hat: Prüfen Sie das Abonnement, die URL und die eigene Zustellhistorie des Anbieters.
  2. Die Validierung prüfen. Eine fehlgeschlagene Signatur deutet auf einen Secret-Mismatch, einen durch einen Proxy veränderten Body oder einen Parsing-Schritt hin, der vor der Verifikation läuft.
  3. Die Antwort prüfen. Welchen Status haben Sie zurückgegeben und wie lange hat es gedauert? Langsame Antworten und 5xx führen direkt zu Wiederholungen.
  4. Den Zustand prüfen. Wurde es in die Warteschlange gelegt, aber nie verarbeitet? Zweimal verarbeitet? Als Duplikat markiert?
  5. Die Payload nur bei Bedarf abrufen. Nutzen Sie die ID, um die Rohanfrage aus dem geschützten Speicher zu ziehen, und spielen Sie sie über den kontrollierten Replay-Pfad Ihres Handlers erneut ab, nicht indem Sie sie manuell an die Produktion posten.

Testen Sie dies vor einem Vorfall. Senden Sie gesäte Testereignisse mit gefälschten Secrets und sensibel aussehenden Feldern und stellen Sie dann fest, dass keines davon in den erfassten Protokollen auftaucht. Feuern Sie Duplikate, schlechte Signaturen und fehlerhafte Bodys ab und bestätigen Sie, dass jedes davon den erwarteten Protokolleintrag und Zustand erzeugt. Eine Redaktionsregel, die Sie nie getestet haben, ist eine Annahme.

Webhook-Protokollierung für Blockchain-Ereignisse

On-Chain-Benachrichtigungen bringen einige Besonderheiten mit sich. Dieselbe Transaktion kann gemeldet werden, sobald sie gesehen wird, und erneut, sobald sie bestätigt ist. Protokollieren Sie daher den Transaktions-Hash und den Bestätigungsstatus des Ereignisses zusammen mit der Ereignis-ID. Behalten Sie Chain, Adresse und Transaktionskennungen im Log, da diese öffentlich sind und Ihnen präzise Suchschlüssel liefern, während API-Anmeldedaten und Signatur-Geheimnisse außen vor bleiben. Einzahlungen sind der klassische Fall: Wenn Ihr Handler einen Kontostand gutschreibt, sind Idempotenz und klares Status-Logging das, was eine doppelte Gutschrift verhindert. Unser Leitfaden zur Verwendung von Webhooks zur automatischen Verarbeitung von Einzahlungen zeigt, wie dies zusammenpasst, und die Hinweise zur Adressüberwachung erläutern, wie Ereignisse überhaupt erzeugt werden.

Unsere Perspektive

Die meisten Webhook-Vorfälle, die wir diskutiert sehen, sind nicht exotisch. Ein Handler antwortet zu langsam, der Anbieter wiederholt den Versuch, ein Duplikat rutscht durch, und hinterher kann niemand sagen, was das System tatsächlich empfangen hat. Logging ist der Unterschied zwischen einer zehnminütigen Reparatur und einem Tag des Rätselratens.

Deshalb bauen wir Chaingateway um Payloads herum, die bereits decodiert ankommen, mit HMAC-signierten Anfragen, damit Ihr Empfänger zuerst verifizieren kann und seinen Aufwand in Ihre Geschäftslogik steckt, statt rohe Chain-Daten zu parsen. Weniger benutzerdefiniertes Decodieren bedeutet weniger Stellen, an denen eine Log-Zeile etwas preisgeben könnte, was sie nicht sollte, und eine kleinere Angriffsfläche für Tests.

Unser Rat: Legen Sie Ihre Log-Struktur einmal fest, schlüsseln Sie alles auf die Ereignis-ID, und behandeln Sie Duplikate und Wiederholungsversuche als normale Zustände in Ihrer Pipeline. Tun Sie das, und ein einheitlicher Webhook-Feed über mehrere Chains bleibt genauso debugbar wie ein einzelner.

Bitblade

Decodierte, signierte Events erhalten, ohne Nodes zu betreiben

Wenn Sie Zahlungs- oder Wallet-Funktionen entwickeln, können Sie Ihre Zeit in den Empfänger und sein Logging investieren, statt in chain-spezifische Kleinarbeit. Chaingateway Webhooks liefert Echtzeit-Blockchain-Ereignisbenachrichtigungen mit HMAC-signierten Anfragen über Netzwerke einschließlich Ethereum, Bitcoin, Tron, Solana, Polyggon, BNB Chain und Arbitrum, ohne dass Sie eigene Nodes betreiben müssen.

Chaingateway

Die Pläne beginnen bei 49 € pro Monat für Plus, Pro bei 99 €, Premium bei 249 € und Enterprise bei 499 € pro Monat. Bei jährlicher Abrechnung betragen die Preise 490 €, 990 €, 2490 € und 4990 €. Zunächst gibt es eine kostenlose Testphase. Sehen Sie auf der Preisseite, was jeder Plan beinhaltet.

Quellen

Empfohlen

Häufig gestellte Fragen

Nein, nicht in Ihren allgemeinen Anwendungslogs. Sowohl OWASP als auch Twilio raten davon ab, vollständige Anfragekörper in Logs zu speichern. Protokollieren Sie stattdessen einen Payload-Hash, die Ereignis-ID und die relevanten Ressourcen-IDs. Wenn Sie den rohen Body für Replay oder Audit benötigen, speichern Sie ihn in einem eingeschränkten, verschlüsselten System mit kurzer Aufbewahrungsfrist.

Legen Sie die Aufbewahrungsfristen getrennt für Metadaten und Payloads fest. Metadaten wie Ereignis-ID, Status und Ergebnis sind klein und nützlich für die Abstimmung, daher können sie länger aufbewahrt werden. Rohe Payloads sollten nur so lange aufbewahrt werden, wie Sie sie für Debugging oder Replay benötigen. Ihre Compliance-Verpflichtungen, wie PCI DSS oder SOC 2, setzen die Untergrenze für Audit-Logs; stimmen Sie diese mit Ihrem Sicherheits- oder Compliance-Verantwortlichen ab.

Die Liefer- oder Ereignis-ID. Damit können Sie jeden Versuch finden, Duplikate erkennen und das Protokoll mit Ihren Warteschlangen- und Worker-Datensätzen verknüpfen. Wenn der Anbieter keine liefert, generieren Sie Ihre eigene am Edge und geben Sie sie nachgelagert weiter.

Erfassen Sie einen Verarbeitungsstatus duplicate für dieselbe Ereignis-ID, überspringen Sie die Geschäftslogik und geben Sie einen 2xx-Status zurück, damit der Anbieter aufhört, erneut zu versuchen. Wenn dieselbe ID mit einem anderen Payload-Hash eintrifft, stellen Sie sie unter Quarantäne und alarmieren Sie jemanden, anstatt sie zu verarbeiten.

Beginnen Sie mit der Fehlerrate über ein kurzes Zeitfenster, jedem Anstieg bei Signaturfehlern, einer stetig wachsenden Warteschlangentiefe, der Ansammlung in der Dead-Letter-Queue und unerwarteter Stille vom Endpunkt. Passen Sie die Schwellenwerte nach einigen Wochen Daten an Ihren eigenen Datenverkehr an.

So entstehen diese Artikel

Möchten Sie das selbst umsetzen? API-Key erhalten — 7 Tage kostenlos testen, keine Karte nötig — oder werfen Sie einen Blick auf Blockchain-API für die vollständige Endpoint-Referenz.

C
Chaingateway Team
Blockchain-Experten

Das Chaingateway-Team hat es sich zur Aufgabe gemacht, die Blockchain-Integration für Entwickler weltweit zu vereinfachen.