Erfassen von Telemetrie mit Application Insights
In diesem Artikel wird erläutert, wie Sie Telemetriedaten aus Ihrem Copilot Studio Agent für die Verwendung in Azure Application Insights erfassen können.
Zusätzlich zu den nativen Analyse Funktionen in Copilot Studio können Sie Telemetriedaten an Application Insights senden. Die Telemetrie bietet Erkenntnisse zu Ihrem Agenten durch die Verfolgung von:
- Protokollierte Nachrichten und Ereignisse, die an Ihren Agenten gesendet und von ihm empfangen werden
- Themen, die während Benutzergesprächen ausgelöst werden sollen
- Benutzerdefinierte Telemetrieereignisse, die von Ihren Themen gesendet werden können
Wichtig
Application Insights ist eine Funktion von Azure Monitor, einem erweiterbaren Application Performance Management (APM) Tool, das Ihnen die Überwachung Ihrer Live-Anwendungen erlaubt. Es erfordert ein Abonnement für Microsoft Azure.
Ihren Copilot Studio-Agenten mit Application Insights verbinden
Um eine Verbindung zwischen Ihrem Agenten und Application Insights herzustellen, müssen Sie Ihren Instrumentierungsschlüssel zur Konfiguration Ihres Agenten hinzufügen.
Wählen Sie auf der Seite Einstellungen Ihres Agenten Erweiterungen aus.
Innerhalb des Application Insights-Abschnitts füllen Sie die Verbindungszeichenfolge-Einstellung aus. Informationen finden Sie in der Azure Monitor-Dokumentation. Dort finden Sie heraus, wie Sie Ihre Verbindungszeichenfolge finden.
Optional können Sie eine der folgenden Einstellungen aktivieren.
Aktivitäten protokollieren: Wenn aktiviert, werden Details zu eingehenden/ausgehenden Nachrichten und Ereignissen protokolliert.
Sensitive Eigenschaften der Aktivitäten protokollieren: Wenn aktiviert, werden die Werte bestimmter Eigenschaften, die bei eingehenden / ausgehenden Nachrichten und Ereignissen als sensibel angesehen werden könnten, in die Protokolle aufgenommen. Die Eigenschaften, die als potenziell sensibel angesehen werden, sind userid, name, text und speak (text- und speak-Eigenschaften gelten nur für Nachrichten).
Bot-Telemetrie mit Application Insights analysieren
Nachdem Sie Ihren Bot mit Application Insights verbunden haben, werden Telemetriedaten aufgezeichnet, wenn Benutzer mit dem Bot interagieren, einschließlich Tests innerhalb von Copilot Studio. Um die protokollierten Telemetriedaten anzuzeigen, navigieren Sie zum Protokolle-Abschnitt Ihrer Application Insights-Ressource in Azure.
Von hier aus können Sie Kusto-Abfragen verwenden, um Ihre Daten abzufragen und zu analysieren. Siehe Beispielabfragen.
Beispielabfragen
Eine Abfrage kann so einfach sein wie die Angabe einer einzelnen Tabelle, z.B. customEvents
, die alle angepassten Telemetrieereignisse anzeigt, die von Copilot Studio protokolliert wurden. Sie können aber auch Kusto-Abfragen verwenden, um Ihre Ergebnisse weiter einzugrenzen, einschließlich;
- Hinzufügen eines Zeitintervalls
- Erweitern Ihrer Ergebnisse mit benutzerdefinierten Abmessungen. Angepasste Dimensionen sind angepasste Eigenschaften, die zusammen mit den vorgefertigten Feldern protokolliert werden, wie z.B. der Zeitstempel oder der Name des Ereignisses
- Eine where-Klausel, um die zurückgegebenen Daten basierend auf einer Bedingung einzuschränken
- Verwendung weiterer integrierter Kusto-Funktionen, um zu bestimmen, welche und wie Informationen angezeigt werden
Die folgende Beispielabfrage führt zu einem Liniendiagramm, das zeigt, wie viele verschiedene Benutzer in den letzten 14 Tagen pro Tag mit Ihrem Bot kommuniziert haben.
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
Wichtig
Die Daten in einigen Feldern variieren und sind je nach verwendetem Kanal mehr oder weniger anwendbar. Sie erhalten zum Beispiel nur dann eine korrekte Anzahl eindeutiger Benutzer in der Abfrage, wenn es sich um authentifizierte Benutzer handelt und ihre Benutzerkennungen über alle Unterhaltungen hinweg konsistent sind. In anonymen Szenarien, in denen pro Konversation eine zufällige Benutzer-ID generiert wird, ist das Benutzer-ID-Feld weniger nützlich.
Telemetrie von Testkonversationen aus Ihren Abfragen ausschließen
Ihr Bot protokolliert Telemetriedaten für alle Unterhaltungen, auf für diejenigen, die während des Tests in Copilot Studio stattfinden. Wenn Sie Telemetrie, die während des Tests erfasst wurde, ausschließen möchten, können Sie Ihre Abfrage mit der benutzerdefnierten designMode
-Dimension erweitern, die bei allen Ereignissen erfasst wird, und eine where-Klausel in Ihrer Abfrage verwenden.
Das folgende Beispiel zeigt alle angepassten Ereignisse, mit Ausnahme derer, die über den Test Canvas erfasst werden.
customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"
Benutzerdefinierte Dimensionen
Ein Großteil der spezifischen Aktivitätsdaten, die Sie von Copilot Studio erhalten haben, wird im Feld customDimensions
gespeichert. Sie können sehen, dass ein benutzerdefiniertes Dimensionsfeld in einer Abfrage verwendet wird, um Telemetrie aus Testkonversationen auszuschließen.
Feld | Beschreibung | Beispielwerte |
---|---|---|
Type | Typ der Aktivität | message , conversationUpdate , event , invoke |
channelId | Kanalbezeichner | emulator , directline , msteams , webchat |
fromId | Ab-Bezeichner | <id> |
fromName | Benutzername vom Kunden | John Bonham , Keith Moon , Steve Smith , Steve Gadd |
locale | Gebietsschema des Client-Ursprungs | en-us , zh-cn , en-GB , de-de , zh-CN |
recipientId | Empfängerbezeichner | <id> |
recipientName | Empfängername | John Bonham , Keith Moon , Steve Smith , Steve Gadd |
text | Text in Nachricht | find a coffee shop |
designMode | Die Konversation fand innerhalb des Testbereichs statt | True / False |