Dynatrace

Scopri come integrare i log di backend di Dynatrace con i session replay di OpenReplay.

Dynatrace

Scopri come integrare i log di backend di Dynatrace con i session replay di OpenReplay per ampliare le tue capacità di monitoraggio e debug.

Questa integrazione è disponibile per gli utenti Cloud (Serverless, Dedicated) e Self-Host (Community, Enterprise).

1. Genera le credenziali di Dynatrace

Section titled 1. Genera le credenziali di Dynatrace

Segui questi passaggi per ottenere da Dynatrace le credenziali necessarie:

  1. Accedi al tuo account Dynatrace.
  2. Vai su Account Management
  3. Crea un client OAuth:
  • Fai clic su Identity & Access Management
  • Seleziona OAuth clients
  • Fai clic su Create client per generare le credenziali richieste.
  1. Salva le tue credenziali:
  • Dopo aver creato il client, salva quanto segue:
    • Client ID
    • Client Secret
    • Account URN
  1. Ottieni il tuo environment ID:
    // Example
    Dynatrace URL: https://rzr85764.app.dynatrace.com/
    Environment ID: rzr85764

2. Propaga openReplaySession.id al backend

Section titled 2. Propaga openReplaySession.id al backend

Per collegare i log di Dynatrace alle sessioni di OpenReplay, un ID di sessione univoco openReplaySession.id deve essere propagato dal frontend al backend a ogni richiesta che vuoi tracciare.

Includi openReplaySession.id nelle richieste API del frontend

Section titled Includi openReplaySession.id nelle richieste API del frontend

Modifica il codice del frontend per aggiungere openReplaySession.id agli header delle tue richieste API:


// JavaScript Example for for Single Page Applications (SPA):

// Import OpenReplay
import { tracker } from '@openreplay/tracker';

// Initialize the tracker
tracker.configure({
  projectKey: 'YOUR_PROJECT_KEY',
  ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});

// Start the tracker and wait for it to resolve
tracker.start().then(() => {
  // Get the session ID after the tracker has started
  const sessionId = tracker.getSessionID();

  const headers = {
    'Content-Type': 'application/json',
  };

// Get the session ID
const sessionId = tracker.getSessionID();

const headers = {
  'Content-Type': 'application/json',
};

if (sessionId) {
  headers['openReplaySession.id'] = sessionId;
}

// Make the API request
fetch('/api/endpoint', {
  method: 'GET', // or 'POST', etc.
  headers,
  // ...other options
})
  .then(response => {
    // Handle response
  })
  .catch(error => {
    // Handle error
  });

Includi openReplaySession.id nei log del backend

Section titled Includi openReplaySession.id nei log del backend

Nella tua applicazione backend, estrai openReplaySession.id dalle richieste in ingresso e includilo nei log usando lo specifico formato chiave-valore openReplaySession.id=<sessionId>:


//  Example.....
// Middleware to extract the session ID
app.use((req, res, next) => {
  const sessionId = req.headers['openreplaysession.id'];
  req.sessionId = sessionId; // Attach to request object
  next();
});

// When logging events or errors
app.get('/api/endpoint', (req, res) => {
  // Your logic here

  // Log with the session ID in the required format
  console.log(`openReplaySession.id=${req.sessionId} - Endpoint accessed`);

  res.send('Success');
});

// Error handling middleware
app.use((err, req, res, next) => {
  console.error(`openReplaySession.id=${req.sessionId} - Error: ${err.message}`);
  res.status(500).send('Internal Server Error');
});

Includendo openReplaySession.id nei log del backend, Dynatrace può raccogliere i log associati a specifiche sessioni di OpenReplay. In questo modo puoi visualizzare questi log durante i session replay in OpenReplay, ottenendo un quadro completo delle interazioni degli utenti e dei log del backend.

3. Crea un attributo di log personalizzato in Dynatrace

Section titled 3. Crea un attributo di log personalizzato in Dynatrace

Crea in Dynatrace un attributo di log personalizzato per estrarre openReplaySession.id dai tuoi log.

  1. Accedi al tuo account Dynatrace SaaS.
  2. Vai su Settings.
  3. Seleziona Log Monitoring > Custom attributes e poi Add custom attribute.
  4. Inserisci la chiave openReplaySession.id.

Riferimento: consulta i passaggi dettagliati nella documentazione di Dynatrace: Log custom attributes.

4. Configura l’integrazione di Dynatrace in OpenReplay

Section titled 4. Configura l’integrazione di Dynatrace in OpenReplay

Nel tuo account OpenReplay, segui questi 3 passaggi per completare la correlazione tra i session replay e i log di backend di Dynatrace.

Abilita l’integrazione di Dynatrace

Section titled Abilita l’integrazione di Dynatrace
  1. Vai su Preferences > Integrations in OpenReplay.
  2. Seleziona la scheda Backend Logging.
  3. Seleziona il progetto per cui vuoi abilitare l’integrazione di Dynatrace: individua la card dell’integrazione Dynatrace e fai clic su di essa.

Inserisci le credenziali di Dynatrace

Section titled Inserisci le credenziali di Dynatrace

Nella barra laterale dell’integrazione di Dynatrace, inserisci:

  1. Environment ID: l’ID dell’ambiente Dynatrace per l’accesso esterno.
  2. Client ID e Client Secret: i valori salvati nel primo passaggio.
  3. Dynatrace Account URN: il tuo identificatore univoco all’interno della piattaforma Dynatrace, anch’esso salvato nel primo passaggio.
  1. Fai clic su Add per testare la connessione: un messaggio di conferma ti indicherà che l’integrazione è stata configurata correttamente.

Integrazione di Dynatrace in OpenReplay

5. Visualizza i log di Dynatrace in OpenReplay

Section titled 5. Visualizza i log di Dynatrace in OpenReplay
  1. Vai alle sessioni in OpenReplay.
  2. Apri un qualsiasi session replay.
  3. Fai clic sul pulsante Traces.
  4. Verranno mostrati i log di Dynatrace relativi alla sessione.
  5. Fai clic su una qualsiasi voce di log per visualizzare le informazioni dettagliate.

Tracce di Dynatrace in OpenReplay

I log di tipo LOG con stato WARN, ERROR, INFO e NONE vengono recuperati tramite la Dynatrace Log Monitoring API v2.

Se riscontri dei problemi, collegati al nostro Slack e ricevi aiuto dalla nostra community.