Datadog
Erfahren Sie, wie Sie Backend-Fehler aus Datadog mit Session Replays von OpenReplay verknüpfen, um Ihre Überwachungs- und Debugging-Möglichkeiten zu erweitern.
1. Datadog-API-Schlüssel und Application Key generieren
Section titled 1. Datadog-API-Schlüssel und Application Key generieren- Gehen Sie zu Datadog > Integrations > APIs und generieren Sie den API-Schlüssel oder verwenden Sie den vorhandenen.
- Klicken Sie auf derselben Seite auf Application Keys und generieren Sie einen neuen Application Key.
2. Datadog-Integration in OpenReplay konfigurieren
Section titled 2. Datadog-Integration in OpenReplay konfigurierenFühren Sie in Ihrem OpenReplay-Konto diese 3 Schritte aus, um die Korrelation der Session Replays mit den Datadog-Backend-Fehlern abzuschließen.
Datadog-Integration aktivieren
Section titled Datadog-Integration aktivieren- Gehen Sie in OpenReplay zu Preferences > Integrations.
- Wählen Sie den Tab Backend Logging.
- Wählen Sie das Projekt aus, für das Sie die Datadog-Integration aktivieren möchten: Suchen Sie die Datadog-Integrationskarte > klicken Sie darauf.
Datadog-Zugangsdaten eingeben
Section titled Datadog-Zugangsdaten eingebenGeben Sie in der Seitenleiste der Datadog-Integration Folgendes ein:
- Datadog-API-Schlüssel
- Application Key
Verbindung prüfen
Section titled Verbindung prüfen- Klicken Sie auf Add, um die Verbindung zu testen
3. openReplaySession.id weitergeben
Section titled 3. openReplaySession.id weitergebenUm ein Datadog-Ereignis mit der aufgezeichneten Benutzersitzung zu verknüpfen, muss bei jeder Anfrage, die Sie verfolgen möchten, eine eindeutige Sitzungs-ID openReplaySession.id von Ihrem Frontend an Ihr Backend weitergegeben werden. Dies ist mit einem benutzerdefinierten HTTP-Header möglich.
Frontend: openReplaySession.id in API-Anfragen einbinden
Section titled Frontend: openReplaySession.id in API-Anfragen einbinden// JavaScript Example for for Single Page Applications (SPA):
const sessionId = tracker.getSessionID();
const headers = {
'Content-Type': 'application/json',
};
if (sessionId) {
headers['openReplaySession.id'] = sessionId;
}
// Make the API request
fetch('https://www.your-backend.com/api/endpoint', {
method: 'GET', // or 'POST', 'PUT', etc.
headers,
// ...other options
})
.then(response => {
// Handle response
})
.catch(error => {
// Handle error
});
Backend: openReplaySession.id in Logs einbinden
Section titled Backend: openReplaySession.id in Logs einbindenNachfolgend ein Beispiel in Python, das mit dem logging-Modul die openReplaySession.id automatisch in Ihre Logs aufnimmt.
import logging
from flask import Flask, request, g
app = Flask(__name__)
# Configure the root logger
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
# Create a custom logging filter
class OpenReplayFilter(logging.Filter):
def filter(self, record):
session_id = getattr(g, 'openreplay_session_id', None)
if session_id:
record.msg = f"[openReplaySession.id={session_id}] {record.msg}"
return True
# Add the filter to the logger
logger.addFilter(OpenReplayFilter())
@app.before_request
def before_request():
# Extract the session ID from headers and store it in the Flask `g` object
g.openreplay_session_id = request.headers.get('openReplaySession.id')
@app.route('/api/endpoint')
def api_endpoint():
# Your logic here
# Log an event with the session ID automatically included
logger.info("Endpoint accessed")
return 'Success', 200
@app.errorhandler(Exception)
def handle_exception(e):
# Log the error with the session ID automatically included
logger.error(f"Error: {str(e)}")
return 'Internal Server Error', 500
if __name__ == '__main__':
app.run()
Haben Sie Fragen?
Section titled Haben Sie Fragen?Falls Probleme auftreten, treten Sie unserem Slack bei und holen Sie sich Hilfe von unserer Community.