使用 Application Insights 捕获遥测数据

本文介绍如何从 Copilot Studio 代理捕获遥测数据,以便在 Azure 应用程序 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. (可选)您可以选择启用以下设置之一。

    • 日志活动:如果启用,系统会记录传入和传出消息和事件的详细信息。

    • 日志敏感活动属性:如果启用,则日志包括某些属性的值,这些属性在传入和传出消息和事件上可能被视为敏感。 被认为可能敏感的属性是 useridnametextspeak (文本和说话属性仅适用于消息)。

使用 Application Insights 分析机器人遥测数据

将机器人连接到 Application Insights 后,它会在用户与机器人交互时(包括在Copilot Studio内测试期间)记录遥测数据。 若要查看记录的遥测数据,请转到 Azure 中 Application Insights 资源的 Logs 部分。

从这里,您可以使用 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 字段中。 您可以看到正在查询中使用的自定义维度字段,用于从测试对话中排除遥测。

领域 Description 示例值
类型 活动的类型 messageconversationUpdateeventinvoke
频道ID 渠道标识符 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 并创建可视化效果。

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

若要访问和使用 Application Insights 中的内置监视视图,请执行以下步骤:

  1. 转到 Application Insights 资源。
  2. 从左侧导航窗格中选择“ 监视 ”选项卡。
  3. 在“ 监视 ”选项卡下,选择 “工作簿”。 打开工作簿库中的 Copilot Studio Dashboard

Application Insights 工作簿库截图。

Copilot Studio 工作簿的屏幕截图。

自定义和共享仪表板

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

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

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

    编辑应用洞察工作簿的截图。

  2. 根据需要修改元素以适应你的用例。 选择元素的三个点(...)进行编辑、添加、移动或调整大小、克隆或移除。 例如,您可以添加一个磁贴,该磁贴使用 KQL 来跟踪收集的自定义属性,而这些属性在内置视图中未显示。

    修改应用洞察工作手册中元素的截图。

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

    保存应用洞察工作簿的截图。

  4. 在命令栏中选择“ 共享 ”图标,以便与团队共享。

    注释

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

    分享应用洞察工作手册的截图。