Acquisire la telemetria con Application Insights
In questo articolo viene illustrato come acquisire dati di telemetria dall'agente Copilot Studio per l'uso in Application Insights di Azure.
Oltre alle funzionalità di analisi native all'interno di Copilot Studio, puoi inviare dati di telemetria ad Application Insights. La telemetria offre informazioni dettagliate sul tuo agente monitorando:
- Messaggi ed eventi registrati inviati e ricevuti dal tuo agente
- 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.
Connettiti all'agente Copilot Studio per Application Insights
Per connettere il tuo agente Application Insights, devi prima aggiungere la chiave di strumentazione alla configurazione del tuo agente.
Vai alla pagina Impostazioni per l'agente e seleziona Avanzate.
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.
Facoltativamente, puoi scegliere di abilitare una delle seguenti impostazioni.
Registra attività: se abilitato, verranno registrati i dettagli dei messaggi e degli eventi in entrata/uscita.
Registra proprietà sensibili dell'attività: se abilitato, i valori di alcune proprietà che potrebbero essere considerate sensibili su messaggi ed eventi in entrata/uscita verranno inclusi nei log. 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 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 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 i dati di telemetria per tutte le conversazioni, incluse quelle che avvengono all'interno Copilot Studio durante i test. 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 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 |