本文讨论如何从您的 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 |
| 区域设置 | 客户端源区域设置 |
en-us、zh-cn、en-GB、de-de、zh-CN |
| recipientId | 收件人标识符 | <id> |
| recipientName | 收件人姓名 |
John Bonham、Keith Moon、Steve Smith、Steve Gadd |
| 文本消息 | 消息中的文本 | find a coffee shop |
| designMode | 测试画布中发生的对话 | True / False |
查看监视结果(预览版)
重要提示
本文包含 Microsoft Copilot Studio 预览文档,并可能会更改。
预览功能不适用于生产用途,并且可能具有受限功能。 这些功能在正式发布之前可用,以便你可以提前访问并提供 反馈。
如果要生成生产就绪的代理,请参阅 Microsoft Copilot Studio 概述。
Copilot Studio 仪表板视图使用来自 Azure Monitor Application Insights 的信号,通过 Azure 工作簿对其进行查询并创建可视化效果。
这些视图旨在将关键指标(如对话总数、延迟、异常、工具使用情况和主题分析)引入单个视图。 单一视图为团队提供透明度,以便他们可以跟踪运营运行状况和质量、了解趋势并持续评估以改进其应用程序。
按照以下步骤访问和使用 Application Insights 中的内置监视视图:
- 导航到 Application Insights。
- 从左侧导航窗格中选择“ 监视 ”选项卡。
- 在“ 监视 ”选项卡下,选择 “工作簿 ”,然后从工作簿库打开 Copilot Studio 仪表板。
自定义和共享仪表板
Application Insights 是用于应用程序性能监视(APM)的强大工具,可深入了解应用程序的运行状况和性能。
仪表板将作为可编辑的工作簿打开,你可以在其中自定义工作簿并根据需要保存。
- 在命令栏中选择“编辑”。
- 根据需要修改元素以适应你的用例。 在要编辑、添加、移动或调整大小、克隆或删除的元素上选择 ... 。 例如,可以使用 KQL 添加磁贴来跟踪要收集的自定义属性,该属性未在我们的内置视图中显示。
- 选择“ 保存”,保存最新更改并根据需要创建不同的视图。
- 通过在命令栏中选择“共享”图标,与团队共享。
注释
与团队成员共享此工作簿时,他们必须至少具有连接的 Application Insights 资源的“读取者”角色才能查看显示的信息。