Zum Hauptinhalt springen
Sie können 2 Arten von Supabase-Daten an LogBrew senden:
  • Ein Log-Drain sendet die Plattform-Logs Ihres Supabase-Projekts, zum Beispiel Logs von Postgres, Auth, Storage und Edge Functions.
  • Das LogBrew-JavaScript-SDK sendet die Logs und Fehler, die Ihr eigener Code in Edge Functions erfasst.
Sie können einen der beiden Wege nutzen oder beide. Beide brauchen einen Projekt-Ingest-Schlüssel. Erstellen Sie für jeden Weg einen eigenen server-Schlüssel. Die Schlüsselarten finden Sie unter Arten von Projektschlüsseln.

Plattform-Logs per Log-Drain senden

Supabase bietet Log-Drains in den Supabase-Tarifen Pro, Team und Enterprise an. Supabase stellt jeden Drain und die Ereignisse, die er sendet, in Rechnung. Lesen Sie die Supabase-Preise, bevor Sie einen Drain hinzufügen.
1

Log-Drain-Einstellungen öffnen

Öffnen Sie im Supabase-Dashboard Ihr Projekt. Gehen Sie zu Project Settings und dann zu Log Drains.
2

OpenTelemetry-Ziel hinzufügen

Fügen Sie ein Ziel vom Typ OpenTelemetry (OTLP) hinzu. Setzen Sie diese Werte:Statt x-logbrew-key können Sie auch den Header Authorization mit dem Wert Bearer lbw_ingest_... verwenden.
3

Ziel speichern

Speichern Sie das Ziel. Supabase beginnt, Logs an LogBrew zu senden.Kontrollpunkt: Neue Supabase-Logs erscheinen in den Logs Ihres LogBrew-Projekts. Um sie mit der CLI zu lesen, folgen Sie Testereignis zurücklesen.
LogBrew liest den Drain als OTLP-Logs. Das Ressourcenattribut service.name bestimmt den Dienst jedes Logs. Die anderen Ressourcenattribute bleiben in den Metadaten des Logs. LogBrew entfernt Zugangsdaten aus URLs und aus Attributen wie authorization, bevor es das Log speichert. Die vollständige Zuordnung finden Sie unter OpenTelemetry (OTLP). Wenn keine Logs ankommen, prüfen Sie den Endpunkt, das Protokoll und den Header. Der Ingest-Schlüssel muss zu dem LogBrew-Projekt gehören, das Sie lesen.

Logs und Fehler in Edge Functions erfassen

Supabase Edge Functions laufen auf Deno. Verwenden Sie @logbrew/node aus npm. Diese Einrichtung funktioniert mit Deno 2.9, @logbrew/node 0.1.20 und @logbrew/sdk 0.1.35.
1

Ingest-Schlüssel als Funktions-Secret speichern

Verwenden Sie die Supabase-CLI. Ersetzen Sie den Platzhalter durch Ihren Schlüssel:
2

Client erstellen und vor der Antwort flushen

Erstellen Sie den Client einmal, außerhalb des Anfrage-Handlers. Erfassen Sie Ereignisse im Handler. Rufen Sie flush() auf, bevor Sie die Antwort zurückgeben. Die Funktion kann nach der Rückgabe beendet werden.
Mit captureRuntimeContext: false und dem runtime-Kontext zeigt LogBrew Deno als Laufzeit an. Ohne diese Angaben meldet das SDK die Node.js-Version, die Deno emuliert.Wenn die Zustellung fehlschlägt, wirft flush() einen SdkError, zum Beispiel mit dem Code network_failure. Das Beispiel schreibt nur den Fehlercode in das Log der Funktion. Die Funktion gibt ihre Antwort trotzdem zurück.
3

Funktion bereitstellen und aufrufen

Stellen Sie die Funktion mit supabase functions deploy checkout bereit. Rufen Sie sie einmal auf.Kontrollpunkt: Das Log checkout request erscheint in Ihrem LogBrew-Projekt.
Legen Sie keine Zugangsdaten, Anfrage-Bodys oder Kundendaten in die Metadaten von Ereignissen.