Azure Application Insights 中的对话诊断(预览版)
[本文为预发布文档,可能会发生变化。]
对话诊断记录每个对话生命周期事件,使您能够更好地了解贵组织基于对话的操作遥测。 这有助于您的支持团队主动监视系统,并允许开发人员轻松识别、诊断和修复有问题的对话,或寻求快速支持。
将 Dynamics 365 Customer Service 环境连接到 Azure Application Insights 实例,以收集和存储对话日志。 有关 Application Insights 功能以及如何使用它们来监视遥测和诊断故障的更多信息,请参见 Application Insights 概述仪表板和使用 Azure 门户诊断故障。
然后,您可以使用 Application Insights 中的 Dynamics 365 Customer Service 对话生命周期事件数据来监视系统健康状况、导出数据,并将其与其他数据集相结合,以根据您的业务需求构建自定义仪表板。
重要提示
- 这是一项预览功能。
- 预览功能不适用于生产环境,并且可能具有受限的功能。 这些功能受补充使用条款约束,在正式发布之前已经可用,以便客户可以及早使用并提供反馈。
备注
目前,政府社区云 (GCC)、政府社区 - High (GCC High) 和国防部 (DoD) 等主权云不支持导出 Power Automate 和 Dynamics 365 Customer Service 数据。
重要提示
当此功能过渡到正式发布 (GA)时,此功能将仅适用于托管环境。 用户将需要具有高级使用权限的 Power Apps、Power Automate 或 Dynamics 365 许可。 仅对于此公开预览版,高级使用权限要求和托管环境限制有所放松。
定价
Azure Application Insights 是 Azure Monitor 的扩展,对引入的数据收费。 有两种日志引入计划 — 基本日志和分析日志。 要了解针对业务需求的定价,请参阅 Azure Monitor 定价。
设置与 Azure Application Insights 的连接
在执行数据导出之前,请在 Dynamics 365 Customer Service 租户和 Power Platform 管理中心中的 Azure Application Insights 之间创建连接。 对于每个环境,您只能创建一个从 Dynamics 365 Customer Service 到 Application Insights 的数据导出配置。 要启用数据导出,请完成以下步骤。
在 Power Platform 管理中心中,选择导航窗格中的数据导出。
在数据导出页面上,选择 App Insights 选项卡。然后选择新数据导出。
在新数据导出到 Azure Application Insights 页面上,完成以下操作,然后选择下一步。
- 在导出包名称字段中输入名称。
- 选择 Dynamics Customer Service。
- 选择下一步。
选择您要从中导出数据的环境,然后选择下一步。 您只能从托管环境中导出数据。
指定订阅、资源组和Application Insights实例。 然后选择下一步。
查看设置配置,然后选择创建。从 Dynamics 365 Customer Service 到 Application Insights 的数据导出创建并显示在 数据导出 页面上。
访问并使用 Application Insights 中的对话信息
配置数据导出设置后,实时聊天、数字消息传递、语音和自定义渠道对话的对话生命周期信息将出现在 Application Insights 跟踪表中。
对话场景
跟踪表包含有关以下对话场景的数据。
类别:对话发起
- 场景:初始化对话
- 场景:客户身份
类别:虚拟代理交互
- 场景:分配了虚拟代理
- 场景:虚拟助手结束对话
- 场景:虚拟助手从虚拟代理升级到人工代理
类别:路由
- 方案:需求分类
- 场景:队列分配
类别:人工代理交互
- 场景:接受代理
- 场景:代理被拒绝
- 场景:接受请求超时
- 场景:代理重新加入
- 场景:座席自分配
类别:对话完成
- 场景:客户结束对话
- 场景:座席结束的对话
- 场景:代理会话已关闭
- 场景:客户放弃对话/客户断开连接
- 场景:主管强制关闭对话
- 场景:对话已关闭
对话场景元数据
跟踪表中的对话场景包含以下元数据。
- 组织 ID
- LiveWorkItem ID
- 渠道类型
- 场景状态(开始/失败/完成)
- 时间戳
- 持续时间(针对已完成的场景)
- 参与者类型(人工代理或虚拟代理)
- Active Directory 用户 ID(如果适用)
了解对话日志元数据
Application Insights 中显示的属性描述如下:
- 时间戳 [UTC]:记录事件的日期和时间。
- 消息:指示对话生命周期事件的场景状态。 这可以是“开始”、“失败”或“已完成”。
- 已开始:指示对话场景已启动。
- 已完成:指示对话方案已成功完成。
- 失败:表示对话场景失败。
- customDimensions:包含详细调试所需的以下元数据:
- organizationId:组织的唯一标识符。
- LiveWorkItemID:消息必须发送到的会话的唯一标识符。
- Channel Type:表示客户通过其发送消息的通道。
- 持续时间:方案完成所花费的时间。
- 参与者类型:指示对话是分配给人工代理还是机器人。
- Operation_name:表示对话生命周期事件。
- Operation_id:根操作的唯一标识符。 这是 Dynamics 365 Customer Service 对话的事务 ID。
- Operation_parentid:会话的会话 ID。
- Session_id:用户与应用程序交互的实例。
- User_id:表示应用程序的用户。 每当场景包括人工代理或机器人时,此字段将使用 Active Directory 用户 ID 填充。 对于所有其他场景,显示 0。
- Severitylevel:跟踪严重性级别。 此项设置为 0。
- itemType:从中检索记录的表。 此项始终设置为“跟踪”。
例如,在将实时聊天对话分配给队列的情况下,“跟踪”表显示以下元数据:
ScenarioStarted 消息,包含 Operation_name、QueueAssignment 以及场景开始时的时间戳。
ScenarioCompleted 消息,包含场景成功并且对话分配到队列中时,应用在场景成功完成时所用的持续时间。
从 Application Insights 访问对话日志
要查看对话的日志,请完成以下步骤。
登录到 Azure 门户并访问您的 Application Insights 实例。 确保这是您用来设置数据导出的同一个实例。
在监视中选择日志。
对跟踪表运行查询,按对话的对话 ID 进行筛选。 一个示例查询如下:
*let lwiId = "269079bb-f39d-4281-bf87-d13bae6d0ed2";* *let operationIds = (traces* *\| where operation\_ParentId == lwiId // LWI to be checked* *\| distinct operation\_Id);* *traces* *\| where operation\_Id in (operationIds) or operation\_ParentId == lwiId* *\| project timestamp, message, customDimensions, operation\_Name, operation\_Id, operation\_ParentId, session\_Id, user\_Id, severityLevel, itemType* *\| sort by timestamp asc*
其中 lwid 是您从 Dynamics 365 Customer Service 应用中检索到的对话 ID。
应用显示对话的跟踪。
对话生命周期场景:成功
客户在您的门户上发起聊天对话。 应用可识别客户并将聊天请求发送到一个队列。 此时会出现聊天通知,代理从代理仪表板接收请求。 代理与客户聊天,然后由客户结束对话。
在运行对特定对话 ID 的查询时,将显示以下跟踪日志:
导出对话数据
您可以使用导出选项来导出日志,并将此数据与其他表中的数据集相结合,以创建您自己的自定义监视仪表板。 详细信息:使用 Application Insights 创建自定义 KPI 仪表板。