使用 Application Insights 捕获遥测数据

本文讨论如何从您的 Copilot Studio 智能体捕获遥测数据以在 Azure Application Insights 中使用。

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

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

重要提示

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

将 Copilot Studio 智能体连接至 Application Insights

要将智能体连接到 Application Insights,首先需要在智能体配置中添加检测密钥。

  1. 进入代理的设置页面,选择高级

  2. Application Insights 区域填写连接字符串设置。 请参阅 Azure Monitor 文档了解如何找到连接字符串。

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

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

    • 记录敏感活动属性:如果已启用,可能视为对传入/传出消息和事件敏感的某些属性的值将包含在日志中。 被视为可能敏感的属性包括 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 字段中。 您可以看到正在查询中使用的自定义维度字段,用于从测试对话中排除遥测。

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

查看监视结果(预览版)

重要提示

本文包含 Microsoft Copilot Studio 预览文档,并可能会更改。

预览功能不适用于生产用途,并且可能具有受限功能。 这些功能在正式发布之前可用,以便你可以提前访问并提供 反馈

如果要生成生产就绪的代理,请参阅 Microsoft Copilot Studio 概述

Copilot Studio 仪表板视图使用来自 Azure Monitor Application Insights 的信号,通过 Azure 工作簿对其进行查询并创建可视化效果。

这些视图旨在将关键指标(如对话总数、延迟、异常、工具使用情况和主题分析)引入单个视图。 单一视图为团队提供透明度,以便他们可以跟踪运营运行状况和质量、了解趋势并持续评估以改进其应用程序。

按照以下步骤访问和使用 Application Insights 中的内置监视视图:

  1. 导航到 Application Insights。
  2. 从左侧导航窗格中选择“ 监视 ”选项卡。
  3. 在“ 监视 ”选项卡下,选择 “工作簿 ”,然后从工作簿库打开 Copilot Studio 仪表板。

Application Insights 工作簿库截图。

Copilot Studio 工作簿的屏幕截图。

自定义和共享仪表板

Application Insights 是用于应用程序性能监视(APM)的强大工具,可深入了解应用程序的运行状况和性能。

仪表板将作为可编辑的工作簿打开,你可以在其中自定义工作簿并根据需要保存。

  1. 在命令栏中选择“编辑”

编辑 Application Insights 工作簿的屏幕截图。

  1. 根据需要修改元素以适应你的用例。 在要编辑、添加、移动或调整大小、克隆或删除的元素上选择 ... 。 例如,可以使用 KQL 添加磁贴来跟踪要收集的自定义属性,该属性未在我们的内置视图中显示。

修改 Application Insights 工作簿中的元素的屏幕截图。

  1. 选择“ 保存”,保存最新更改并根据需要创建不同的视图。

保存 Application Insights 工作簿的屏幕截图。

  1. 通过在命令栏中选择“共享”图标,与团队共享。

注释

与团队成员共享此工作簿时,他们必须至少具有连接的 Application Insights 资源的“读取者”角色才能查看显示的信息。

共享 Application Insights 工作簿的屏幕截图。