Acquisire la telemetria con Application Insights

In questo articolo viene illustrato come acquisire dati di telemetria dal tuo copilota Microsoft Copilot Studio per l'uso in Application Insights di Azure.

Oltre alle funzionalità di analisi native all'interno di Microsoft Copilot Studio, puoi inviare dati di telemetria ad Application Insights. La telemetria offre informazioni dettagliate sul tuo copilota rilevando:

  • Messaggi ed eventi registrati inviati da e verso il tuo copilota
  • Argomenti da attivare durante le conversazioni degli utenti
  • Eventi di telemetria personalizzati che possono essere inviati dai tuoi argomenti

Importante

Application Insights è una funzionalità di Monitoraggio di Azure, uno strumento APM (Application Performance Management) che consente di monitorare le applicazioni live. Richiede un abbonamento a Microsoft Azure.

Connettere il copilota Copilot Studio ad Application Insights

Per connettere il copilota ad Application Insights, devi prima aggiungere la tua chiave di strumentazione al progetto.

  1. Passa alla pagina Dettagli del copilota in Impostazioni.

  2. Passa alla scheda Avanzate.

  3. All'interno della sezione Application Insights popola l'impostazione Stringa di connessione. Vedi la Documentazione di Monitoraggio di Azure per scoprire come individuare la stringa di connessione.

  4. Facoltativamente, puoi scegliere di abilitare una delle seguenti impostazioni.

    • Registra attività: se abilitato, vengono registrati i dettagli dei messaggi in entrata/uscita e degli eventi.

    • Registra proprietà attività sensibili: se abilitata, i valori di determinate proprietà che potrebbero essere considerate sensibili sui messaggi e sugli eventi in entrata/uscita vengono inclusi nei registri. Le proprietà considerate potenzialmente sensibili sono userid, name, text e speak (le proprietà text e speak si applicano solo ai messaggi).

Analizzare i dati di telemetria del bot con Application Insights

Dopo aver connesso il tuo bot ad Application Insights, i dati di telemetria verranno registrati quando gli utenti interagiscono con il bot, inclusi i test in Microsoft Copilot Studio. Per visualizzare i dati di telemetria registrati, passa alla sezione Registri della risorsa Application Insights in Azure.

Da qui puoi usare le query Kusto per interrogare e analizzare i dati. Vedi query di esempio.

Query di esempio

Una query può essere semplice come specificare una singola tabella, ad esempio customEvents, che mostra tutti gli eventi di telemetria personalizzati registrati da Microsoft Copilot Studio. Ma puoi anche usare le query Kusto per restringere ulteriormente i risultati, tra cui:

  • L'aggiunta di un intervallo di tempo
  • L'estensione dei risultati utilizzando le dimensioni personalizzate. Le dimensioni personalizzate sono proprietà personalizzate che vengono registrate insieme ai campi predefiniti, come il timestamp o il nome dell'evento
  • Una clausola where per limitare i dati restituiti in base a una condizione
  • L'utilizzo di più funzioni Kusto integrate per determinare cosa e come vengono visualizzate le informazioni

La query di esempio seguente genera un grafico a linee che mostra quanti utenti distinti hanno comunicato con il tuo bot al giorno, negli ultimi 14 giorni.

let queryStartDate = ago(14d);
let queryEndDate = now();
let groupByInterval = 1d;
customEvents
| where timestamp > queryStartDate
| where timestamp < queryEndDate
| summarize uc=dcount(user_Id) by bin(timestamp, groupByInterval)
| render timechart

Importante

I dati all'interno di alcuni campi variano e sono più o meno applicabili, a seconda del canale utilizzato. Ad esempio, otterrai un conteggio corretto degli utenti univoci nella query precedente solo se sono utenti autenticati e i loro ID utente sono coerenti tra le conversazioni. Negli scenari anonimi in cui viene generato un ID utente casuale per conversazione, il campo ID utente è meno utile.

Esclusione della telemetria dalle conversazioni di test delle query

Il bot registra la telemetria per tutte le conversazioni, incluse quelle che avvengono all'interno dell'app canvas di test Microsoft Copilot Studio. Se desideri escludere i dati di telemetria raccolti durante i test, puoi estendere la query con la dimensione personalizzata designMode che viene acquisita su tutti gli eventi e utilizzare una clausola where nella tua domanda.

L'esempio seguente mostra tutti gli eventi personalizzati, esclusi quelli acquisiti tramite il canvas di test.

customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"

Dimensioni personalizzate

Gran parte dei dati di attività specifici ricevuti da Microsoft Copilot Studio sono archiviati nel campo customDimensions. Puoi vedere un campo dimensione personalizzata utilizzato in una query per escludere la telemetria dalle conversazioni di test.

Campo Descrzione Valori di esempio
Tipo Tipo di impegno message, conversationUpdate, event, invoke
channelId Identificatore del canale emulator, directline, msteams, webchat
fromId Identificatore di origine <id>
fromName Nome utente dal client John Bonham, Keith Moon, Steve Smith, Steve Gadd
locale Impostazioni locali di origine del client en-us, zh-cn, en-GB, de-de, zh-CN
recipientId Identificatore del destinatario <id>
recipientName Nome del destinatario John Bonham, Keith Moon, Steve Smith, Steve Gadd
Testo Testo del messaggio find a coffee shop
designMode La conversazione è avvenuta all'interno del canvas di test True / False