Python
Client für Django, FastAPI, Flask und Skripte
Die offizielle DockRay-Bibliothek für Python ermöglicht die Integration von Python-Anwendungen mit der DockRay-Monitoring-Plattform. Sie ermöglicht die Meldung von Ausnahmen und eigenen Nachrichten sowie das Monitoring der Verarbeitungszeit von HTTP-Anfragen in asyncio-basierten Anwendungen.
Monitoring von Fehlern und Ausnahmen
Mit DockRay können Sie abgefangene Ausnahmen und eigene Nachrichten direkt an das Monitoring-Dashboard übermitteln.
Gemeldete Ereignisse können unter anderem folgende Informationen enthalten:
- Typ und Beschreibung der Ausnahme,
- Ort des Auftretens und Stack Trace,
- Informationen über die Anwendungsumgebung,
- Daten, die für die Analyse des Problems erforderlich sind.
Reporting-Vorgänge werden asynchron ausgeführt und können im Hintergrund erfolgen, ohne auf den Abschluss der Ereignisübermittlung warten zu müssen.
FastAPI und ASGI
DockRay stellt eine ASGI-Middleware bereit, die HTTP-Anfragen automatisch überwacht und unbehandelte Ausnahmen meldet. Die Integration funktioniert mit FastAPI, Starlette und anderen ASGI-kompatiblen Anwendungen.
Jede überwachte Anfrage kann die HTTP-Methode, den Pfad, die Ausführungszeit und den HTTP-Statuscode enthalten. Erwartete, von FastAPI verarbeitete Antworten wie 404 und 422 werden als Transaktionen und nicht als Fehler erfasst.
Performance-Monitoring
DockRay misst die Verarbeitungszeit von HTTP-Anfragen und ermöglicht die Analyse von Anwendungstransaktionen. Transaktionen können auch manuell gemeldet werden, beispielsweise für im Hintergrund ausgeführte Aufgaben.
Sichere Fehlerübermittlung
Die Bibliothek wurde so entwickelt, dass Probleme mit dem Monitoring-Dienst den Betrieb der überwachten Anwendung nicht beeinträchtigen. Netzwerkfehler und abgelehnte Ereignisse werden im Logger protokolliert, anstatt Ausnahmen in der Anwendung auszulösen.
Beim Monitoring von Anfragen werden sensible Header wie Authorization, Cookie und X-Api-Key aus den gemeldeten Daten entfernt.
Für asynchrone Anwendungen entwickelt
DockRay arbeitet mit asyncio und ermöglicht das Senden von Ereignissen im Hintergrund. Dadurch muss die Kommunikation mit der Monitoring-Plattform die Antwort der Anwendung an den Benutzer nicht verzögern.
Installation
Installieren Sie DockRay mit pip:
pip install dock-ray
Konfiguration
Erstellen Sie einen DockRay-Client und geben Sie den Projekt-Token und den privaten Schlüssel an:
from dock_ray import DockRayClient
client = DockRayClient(
token="project-token",
private_key="project-private-key",
environment="production",
)
Den Projekt-Token und den privaten Schlüssel finden Sie im DockRay-Dashboard.
Wenn der Client ohne Zugangsdaten erstellt wird, bleibt er inaktiv und stellt keine Verbindungen zur Monitoring-Plattform her.
Rufen Sie beim Beenden der Anwendung await client.close() auf, um ausstehende Vorgänge abzuschließen und die Verbindungen zu schließen.