与 Application Insights 集成的概述
Application Insights 是 Azure Monitor 的一项功能,该功能在企业enterprise landscape范围内广泛用于监控和诊断。 将把已经从特定租户或环境收集的数据推送到您自己的 Application Insights 环境。 这些数据由 Application Insights 存储到 Azure Monitor 日志中,并显示在左窗格中调查下的性能和失败面板中。 这些数据将导出到 Application Insights 定义的标准架构中您的 Application Insights 环境内。 支持、开发人员和管理人员可以使用此功能会审和解决问题。
Application Insights 具有广泛的功能来帮助您使用遥测数据:
- 创建一个仪表板 ,用于概述您组织的 health。
- 使用智能检测执行主动监控。
- 根据您的组织为重要场景设置警报 。
- 从使用情况角度可视化和跟踪常用导航模式。 例如,这将帮助您了解用户是否始终首先选择特定选项卡,然后再导航回主选项卡并关闭窗体。 如果是这样,可能说明应该在第一个选项卡(而不是其他选项卡)上放一个字段,以便用户在每次打开此记录时节约时间。
- 使用左窗格上监控下的日志面板创建自定义查询来对性能和错误进行故障排除。
示例:列举 pageViews 表中窗体加载的前 100 条记录:
pageViews
| take 100
Application Insights 中的“概览”面板
Application Insights 提供了不同的视图。 概览面板显示您的应用的关键诊断度量的摘要,是门户其他功能的入口。 您可以钻取到度量来查看更多详细信息。 请参阅以下示例。
Application Insights 中的“性能”面板
若要打开性能面板,请选择概览面板中的服务器响应时间图形,或选择左窗格中调查下的性能。 Application Insights 允许您选择服务器和浏览器数据视图。 可通过最长持续时间识别这些操作来诊断潜在问题。
性能面板显示应用程序每个操作的计数和平均持续时间。 可以使用这些信息来识别对用户影响最大的操作。
服务器视图显示最常调用的 API 和延迟的表现。
调用数量较大和持续时间较长的操作可能值得调查。 在上面的示例中,POST /XRMServices/2011/Organization.svc/web
的调用数较大,持续时间长。 同样,GET /api/data/v9.0/accounts
的持续时间相对较长。
选择其中一项操作还将显示有关前三个依赖项和所用时间的详细信息。 可以通过选择依赖项选项卡查看更多详细信息。
如果切换到浏览器视图,将看到有关环境中哪些页面查看最频繁和每个页面的延迟的数据。 您将看到指标,包括与不同操作相关联的会话计数和依赖项。 例如,选择帐户操作将显示对帐户表进行的请求。
可以钻取到特定示例以查看特定操作在何处消耗了时间。
更多信息:使用 Azure Application Insights 查找和诊断性能问题
Application Insights 中的“失败”面板
若要打开失败面板,请选择左窗格中调查下的失败,或选择失败请求图形。
Application Insights 中的 的exceptions 表为失败面板提供支持。 其显示失败请求的计数和应用程序每个操作影响的用户数量。 可以查看错误详细信息以了解服务器和浏览器的操作和依赖项。 此处提供与 API 应用程序中使用的,创建/读取/更新/删除 (CRUD) 特定的 HTTP 方法(GET、POST、PUT 和 DELETE)有关的失败。 可用于识别对用户影响最大的失败。 例如,在下面的示例中,可以看到 GET/api/data/v9.0/GetClientMetaData
操作的失败和用户数量较大。 选择此操作将在右面板中显示有关此操作的详细信息。
还可以查看与依赖项有关的失败,包括映射到失败的常见响应代码的摘要视图。
可以钻取到出现瓶颈的步骤的详细信息。
更多信息:使用 Azure Application Insights 查找和诊断运行时异常
在 Application Insights 中查询数据
在 Application Insights 中,转到左窗格中监控下的日志面板。
常见字段
Application Insights 中填充的所有表都有这些公共字段:
cloud_RoleInstance:对于作为这项工作的一部分发出的事件,此字段将设置为 CDS 数据导出 以确保它们可以与同一 Application Insights 环境中的其他事件区分开来。
operation_Id:这会将所有操作链接到单个交互中,这是将所有相关事件发送到失败事件的一种方法。
pageViews | where operation_Id == "[insert id here]"
session_Id :唯一标识单个用户会话中的所有活动。 当用户打开新选项卡,选择 F5/刷新或关闭再重新打开移动应用时,将重置会话值。
user_Id、user_AuthenticatedId:这些当前都设置为 Microsoft Entra 用户的 ID。
client_IP:此字段始终填充
0.0.0.0
,以遵守隐私法律和法规。 提供的 IP 地址用于填充 client_City、client_StateOrProvince 和 client_CountryOrRegion 字段。client_Type:如果日志来自统一界面,则此处的值为 Browser , 如果日志来自 ,则为 Server Dataverse。 请注意,可以在 customDimensions 下的 requests 表中找到 userAgent(如果有)。
因为 Application Insights 架构是固定的,并且此功能在导出流程中将数据推送到了 Application Insights 中,因此使用 Application Insights 中的 customDimensions 字段添加属性。