使用 Application Insights 捕获遥测

重要提示

继在生成式人工智能的重大投资和跨 Microsoft Copilot 的增强集成之后,Power Virtual Agents 功能和特性现已成为 Microsoft Copilot Studio 的一部分

在我们更新文档和培训内容时,一些文章和截图可能会参考 Power Virtual Agents。

本文讨论了您可以如何从 Microsoft Copilot Studio 助手中捕获遥测数据以供在 Azure Application Insights 中使用。

除了 Microsoft Copilot Studio 中的本地分析功能外,您还可以将遥测数据发送到 Application Insights。 遥测通过跟踪以下内容提供助手见解:

  • 发送到您的助手和从中发送的已记录消息和事件
  • 在用户对话期间触发的主题
  • 从主题发送的自定义遥测事件

重要提示

Application Insights 是 Azure Monitor 的一项功能,是允许您监视实时应用程序的可扩展应用程序性能管理 (APM) 工具。 它要求订阅 Microsoft Azure

将 Copilot Studio 助手连接到 Application Insights

若要将您的助手连接到 Application Insights,首先需要将检测密钥添加到项目。

  1. 导航到设置下的助手详细信息页面。

  2. 切换到高级选项卡。

  3. Application Insights 部分,填充连接字符串设置。 请参阅 Azure Monitor 文档了解如何找到连接字符串。

  4. (可选)您可以选择启用以下设置之一。

    • 记录活动:如果已启用,将记录传入/传出消息和事件的详细信息。

    • 记录敏感活动属性:如果已启用,可能视为对传入/传出消息和事件敏感的某些属性的值将包含在日志中。 被视为可能敏感的属性包括 userid、name、text 和 speak(text 和 spak 属性仅适用于消息)。

使用 Application Insights 分析机器人遥测

将机器人连接到 Application Insights 后,当用户与机器人交互时,包括在 Microsoft Copilot Studio 内进行测试时,将记录遥测数据。 要查看记录的遥测数据,导航到 Azure 中 Application Insights 资源的日志部分。

从这里,您可以使用 Kusto 查询查询和分析您的数据。 请参见示例查询

示例查询

查询可以如指定一个表一样简单,如 customEvents,它显示从 Microsoft 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 字段用处不大。

从查询中排除测试对话的遥测

机器人将记录所有对话的遥测,包括 Microsoft Copilot Studio 测试画布中发生的对话。 如果您想要排除测试期间收集的遥测,您可以使用在所有事件上捕获的 designMode 自定义维度来扩展查询,并在查询中使用 where 子句。

下面的示例显示了所有自定义事件,不包括通过测试画布捕获的事件。

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

自定义维度

从 Microsoft Copilot Studio 收到的特定活动数据中有很多存储在 customDimensions 字段中。 您可以看到正在查询中使用的自定义维度字段,用于从测试对话中排除遥测。

字段 说明 示例值
类型 活动的类型 messageconversationUpdateeventinvoke
channelId 渠道标识符 emulatordirectlinemsteamswebchat
fromId 起始标识符 <id>
fromName 来自客户端的用户名 John BonhamKeith MoonSteve SmithSteve Gadd
locale 客户端源区域设置 en-uszh-cnen-GBde-dezh-CN
recipientId 收件人标识符 <id>
recipientName 收件人姓名 John BonhamKeith MoonSteve SmithSteve Gadd
text 消息中的文本 find a coffee shop
designMode 测试画布中发生的对话 True / False