使用 Application Insights 捕获遥测
本文讨论如何从您的 Copilot Studio 代理捕获遥测数据以在 Azure 中使用 Application Insights。
除了 Copilot Studio 中的本地分析功能外,您还可以将遥测数据发送到 Application Insights。 遥测通过跟踪以下内容提供代理见解:
- 发送到您的代理的记录消息和事件
- 在用户对话期间触发的主题
- 从主题发送的自定义遥测事件
重要提示
Application Insights 是 Azure Monitor 的一项功能,是允许您监视实时应用程序的可扩展应用程序性能管理 (APM) 工具。 它要求订阅 Microsoft Azure。
将您的 Copilot Studio 代理连接到 Application Insights
要将代理连接到 Application Insights,首先需要在代理配置中添加检测密钥。
进入代理的设置页面,选择高级。
在 Application Insights 部分,填充连接字符串设置。 请参阅 Azure Monitor 文档了解如何找到连接字符串。
(可选)您可以选择启用以下设置之一。
记录活动:如果已启用,将记录传入/传出消息和事件的详细信息。
记录敏感活动属性:如果已启用,可能视为对传入/传出消息和事件敏感的某些属性的值将包含在日志中。 被视为可能敏感的属性包括 userid、name、text 和 speak(text 和 spak 属性仅适用于消息)。
使用 Application Insights 分析机器人遥测
将机器人连接到 Application Insights 后,当用户与机器人交互时,包括在 Copilot Studio 内进行测试时,将记录遥测数据。 要查看记录的遥测数据,导航到 Azure 中 Application Insights 资源的日志部分。
从这里,您可以使用 Kusto 查询查询和分析您的数据。 请参见示例查询。
示例查询
查询可以如指定一个表一样简单,如 customEvents
,它显示从 Copilot Studio 记录的所有自定义遥测事件。 但您也可以使用 Kusto 查询进一步缩小结果范围,包括:
- 添加时间间隔
- 使用自定义维度扩展结果。 自定义维度是记录的自定义属性,以及预生成的字段,如时间戳或事件名称
- 一个 where 子句,用于限制基于条件返回的数据
- 使用更多内置 Kusto 函数确定信息的显示内容和方式
下面的示例查询生成了一个折线图,显示过去 14 天内每天有多少不同的用户与您的机器人进行过通信。
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
重要提示
某些字段中的数据会有所不同,适用性或高或低,具体取决于所使用的渠道。 例如,只有在经过身份验证的用户以及他们的用户 ID 在对话中一致的情况下,您才能在查询中获得正确的唯一用户数。 在每个对话生成随机用户 ID 的匿名场景中,用户 ID 字段用处不大。
从查询中排除测试对话的遥测
机器人会记录所有对话的遥测信息,包括测试期间在 Copilot Studio 内发生的对话。 如果您想要排除测试期间收集的遥测,您可以使用在所有事件上捕获的 designMode
自定义维度来扩展查询,并在查询中使用 where 子句。
下面的示例显示了所有自定义事件,不包括通过测试画布捕获的事件。
customEvents
| extend isDesignMode = customDimensions['designMode']
| where isDesignMode == "False"
自定义维度
从 Copilot Studio 收到的特定活动数据中有很多存储在 customDimensions
字段中。 您可以看到正在查询中使用的自定义维度字段,用于从测试对话中排除遥测。
字段 | 说明 | 示例值 |
---|---|---|
类型 | 活动的类型 |
message , conversationUpdate , event , invoke |
channelId | 渠道标识符 |
emulator , directline , msteams , webchat |
fromId | 起始标识符 | <id> |
fromName | 来自客户端的用户名 |
John Bonham , Keith Moon , Steve Smith , Steve Gadd |
locale | 客户端源区域设置 |
en-us , zh-cn , en-GB , de-de , zh-CN |
recipientId | 收件人标识符 | <id> |
recipientName | 收件人姓名 |
John Bonham , Keith Moon , Steve Smith , Steve Gadd |
text | 消息中的文本 | find a coffee shop |
designMode | 测试画布中发生的对话 | True / False |