使用 Application Insights 分析模型驱动应用和 Microsoft Dataverse 遥测
您可以设置 Application Insights 环境以接收有关 Dataverse 平台捕获的诊断和性能的遥测。
您可以订阅接收有关应用程序对您的 Dataverse 数据库和模型驱动应用执行的操作的遥测。 遥测提供可用于诊断和解决与错误和性能有关的问题的信息。
无需编写任何代码即可启用此遥测功能。 随时都可以启用或禁用遥测源。
Application Insights 是 Azure Monitor 生态系统的一部分。 企业广泛采用它作为监视和诊断工具。 许多客户向自己的扩展中添加了代码,以将这些数据捕获到他们的 Application Insights 环境中。 这些附加代码会提高成本,但是—不仅会提高编写和维护成本,而且还会提高运行时的性能成本。 使用 Application Insights 内置集成可以避免这些成本。
备注
只有拥有租户的付费/高级 Dataverse 许可证的客户可以启用 Application Insights。
为什么需要遥测?
遥测提供有关模型驱动应用内或服务器上进行的活动的数据。 没有这些数据,应用或服务就是黑箱“;只能通过联系技术支持才能知道是否发生了问题。 遥测可用于检测和衡量特定操作,以便更好地了解是一切正常还是某些因素正在对系统进行负面影响。
如果已通过使用客户端 JavaScript 扩展了模型驱动应用,或通过使用插件添加了服务器端逻辑,则可以看到这些扩展可能对性能造成的影响,并找到方法对其进行优化,包括需要时更改设计。
还可以使用遥测来观察总体性能趋势,以便提前管理它们,而不是响应用户事件。 借助 Application Insights,可以定义当指标超过了特定阈值时将警示您的条件。
工作方式是怎样的?
Microsoft 已经收集了大量关于 Dataverse 模型驱动应用的遥测数据。 采用 Application Insights 集成之后,环境或租户管理员提供 Application Insights 检测密钥,同时在 Power Platform 管理中心中设置数据导出流程。 设置完成后,收集有关您的环境的遥测 Microsoft 数据以及使用 Application Insights 的任何模型驱动应用将发送到您的 Application Insights 环境。 详细信息:创建 Application Insights 资源
如果您决定退出,可以转到 Power Platform 管理中心,并删除数据导出连接。 这将停止数据导出过程。 随时可以重新启动此过程。
此集成方法的优点
在使用 Application Insights 集成时,将收到一组采用 Application Insights 遥测数据模型的标准化遥测。
将关联遥测,以便执行操作,这些操作以在模型驱动应用中单击鼠标开始,直到服务器,再返回。 在此过程中,可以查看正在使用应用程序的哪些部分,每个步骤需要多长时间。
如果需要与技术支持联系,可以使用操作的 ID 值(操作 id 字段)。 这些值 Microsoft 与工程师在查询遥测数据时使用的值相同。
如果您正与合作伙伴合作,或者您是系统集成商,标准化的遥测意味着用户无需了解不同环境中为自定义遥测做出的不同设计选择。
请注意,可将 Monitor 用于区域应用和模型驱动应用的实时详细调试。
自定义遥测
如果标准遥测不提供所需的一些特定度量,您可以编写代码来补充正在收集的信息。
启用此功能 Application Insights 后,您可以使用。 MicrosoftXrm.Sdk.PluginTelemetry.ILogger 接口 将遥测数据直接写入您的 Application Insights 资源。 此遥测数据永远不会发送到 Microsoft。 详细信息:使用 ILogger 将遥测写入 Application Insights 资源
对于模型驱动应用中的客户端 JavaScript,可以使用现在使用的相同模式写入到您的 Application Insights 资源中。
包含和不包含哪些内容?
Application Insights 环境中将提供多种遥测类型。 请务必注意,Application Insights 中已定义了一种架构。 数据导出期间将按照此架构填充 Application Insights 中的表。
对于模型驱动应用,遥测包含常见应用程序功能,例如编辑窗体、网格和仪表板加载事件。 在这些事件中,性能通常有问题。 目前不包括保存事件和功能区命令。 此功能当前仅适用于模型驱动应用。 请参阅模型驱动应用的遥测事件。
对于区域应用,应用制作者可在开发应用时使用现有功能和 Application Insights 来 记录中定义遥测。
Dataverse 中包含对服务器进行的所有请求。 您将可以查看如何在 Web 服务器内处理这些请求。 除了在处理操作期间所用持续时间,不会从数据库本身获取详细信息。 您也不会获得与服务器的物理资源有关的遥测,如内存消耗情况。 详细信息:Dataverse 的遥测事件