Azure Application Insights 中的对话诊断(预览版)

[本文为预发布文档,可能会发生变化。]

对话诊断记录每个对话生命周期事件,使您能够更好地了解贵组织基于对话的操作遥测。  这有助于您的支持团队主动监视系统,并允许开发人员轻松识别、诊断和修复有问题的对话,或寻求快速支持。

将 Dynamics 365 Customer Service 环境连接到 Azure Application Insights 实例,以收集和存储对话日志。 有关 Application Insights 功能以及如何使用它们来监视遥测和诊断故障的更多信息,请参见 Application Insights 概述仪表板使用 Azure 门户诊断故障

然后,您可以使用 Application Insights 中的 Dynamics 365 Customer Service 对话生命周期事件数据来监视系统健康状况、导出数据,并将其与其他数据集相结合,以根据您的业务需求构建自定义仪表板。

重要提示

  • 这是一项预览功能。
  • 预览功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。

备注

目前,Dynamics 365 客户服务数据的导出 Power Automate 在主权云(如政府社区云 (GCC)、政府社区云 - 高(GCC High)和国防部 (DoD))中不可用。

重要提示

当此功能过渡到正式发布 (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 的数据导出配置。 要启用数据导出,请完成以下步骤。

  1. Power Platform 管理中心中,选择导航窗格中的数据导出

  2. 数据导出页面上,选择 App Insights 选项卡。然后选择新数据导出

  3. 新数据导出到 Azure Application Insights 页面上,完成以下操作,然后选择下一步

    • 导出包名称字段中输入名称。
    • 选择 Dynamics Customer Service
    • 选择下一步
  4. 选择您要从中导出数据的环境,然后选择下一步。 您只能从托管环境中导出数据。

  5. 指定订阅资源组Application Insights实例。 然后选择下一步

  6. 查看设置配置,然后选择创建。从 Dynamics 365 Customer Service 到 Application Insights 的数据导出创建并显示在 数据导出 页面上。

访问并使用 Application Insights 中的对话信息

配置数据导出设置后,实时聊天、数字消息传递、语音和自定义渠道对话的对话生命周期信息将出现在 Application Insights 跟踪表中。

对话场景

跟踪表包含有关以下对话场景的数据。

  • 类别:对话发起

    • 场景:对话已初始化
    • 场景:客户已确定
  • 类别:虚拟代理交互

    • 场景:虚拟代理已分配
    • 场景:虚拟助理结束对话
    • 场景:虚拟助理从虚拟代理升级到人工代理
  • 类别:路由

    • 场景:需求分类
    • 场景:队列分配
  • 类别:人工代理交互

    • 场景:代理已接受
    • 场景:代理被拒绝
    • 场景:接受请求超时
    • 场景:代理重新加入
    • 场景:代理自行分配
  • 类别:对话完成

    • 场景:客户结束对话
    • 场景:代理结束对话
    • 场景:代理会话已关闭
    • 场景:客户放弃对话/客户断开连接
    • 场景:主管强制关闭对话
    • 场景:对话已结束

对话场景元数据

跟踪表中的对话场景包含以下元数据。

  • 组织 ID
  • LiveWorkItem ID
  • 渠道类型
  • 场景状态(开始/失败/完成)
  • 时间戳
  • 持续时间(针对已完成的场景)
  • 参与者类型(人工代理或虚拟代理)
  • Active Directory 用户 ID(如果适用)

了解对话日志元数据

Application Insights 中显示的属性描述如下:

  • 时间戳 [UTC]:记录事件的日期和时间。 
  • 消息:表示对话生命周期事件的场景状态。 这可以是“开始”、“失败”或“已完成”。
    • 开始:表示对话场景已开始。
    • 已完成:表示对话场景已成功完成。
    • 失败:表示对话场景失败。
  • customDimensions:包含详细调试所需的以下元数据:
    • organizationId:组织的唯一标识符。
    • LiveWorkItemID:消息必须发送到的对话的唯一标识符。
    • 渠道类型:表示客户发送信息的渠道。
    • 持续时间:场景完成所需的时间。
    • 参与者类型:指示对话是分配给人工代理还是机器人。
  • 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 访问对话日志

要查看对话的日志,请完成以下步骤。

  1. 登录到 Azure 门户并访问您的 Application Insights 实例。 确保这是您用来设置数据导出的同一个实例。

  2. 监视中选择日志

  3. 跟踪表运行查询,按对话的对话 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。

  4. 应用显示对话的跟踪。

对话生命周期场景:成功

客户在您的门户上发起聊天对话。 应用可识别客户并将聊天请求发送到一个队列。 此时会出现聊天通知,代理从代理仪表板接收请求。 代理与客户聊天,然后由客户结束对话。

在运行对特定对话 ID 的查询时,将显示以下跟踪日志:

运行特定对话 ID 的查询时显示的跟踪日志示例。

导出对话数据

您可以使用导出选项来导出日志,并将此数据与其他表中的数据集相结合,以创建您自己的自定义监视仪表板。 详细信息:使用 Application Insights 创建自定义 KPI 仪表板