实时指标:按 1 秒延迟进行监视和诊断

使用 Application Insights 中的实时指标来监视 Web 应用程序。 选择并筛选指标和性能计数器以实时监视,并检查来自示例失败请求和异常的堆栈跟踪。 当与 .NET ProfilerSnapshot Debugger 结合使用时,实时指标体验是一个强大的诊断工具。

使用实时指标可执行以下操作:

  • 通过监视性能和故障计数,在修补程序发布时对其进行验证。
  • 监视测试负载的效果,并实时诊断问题。
  • 通过选择和筛选想要监视的指标,重点处理特定的测试会话或筛选出已知问题。
  • 发生异常时获取异常跟踪。
  • 试用筛选器,查找最相关的 KPI。
  • 实时监视任何 Windows 性能计数器。
  • 轻松识别有问题的服务器,并筛选出只与该服务器相关的所有 KPI/实时源。

显示“实时指标”选项卡的屏幕截图。

开始

  1. 遵循特定于语言的指导原则来启用实时指标:
  1. Azure 门户中,打开应用程序的 Application Insights 资源。 选择在左侧菜单中的“调查”下列出的“实时指标”。

  2. 如果使用自定义筛选器,则通过启用 Microsoft Entra 身份验证来保护控制通道

注意

对检测密钥引入的支持将于 2025 年 3 月 31 日结束。 检测密钥引入功能将会继续工作,但我们将不再为该功能提供更新或支持。 转换为连接字符串,以利用新功能

实时指标与指标资源管理器和 Log Analytics 有何区别?

功能 实时流 指标资源管理器和 Log Analytics
延迟 在一秒内显示数据。 在几分钟聚合。
无保留期 当数据在图表上显示时会得到保留,然后将被丢弃。 数据会保留 90 天。
按需 仅“实时指标”窗格处于打开状态时才会对数据进行流式处理。 每当安装并启用 SDK 时,都会发送数据。
免费 实时流数据不会产生费用。 遵从定价
采样 传输所有选择的指标和计数器。 对失败和堆栈跟踪进行采样。 可以对事件进行采样
控制通道 筛选器的控制信号会发送到 SDK。 建议确保此通道的安全。 通信为通向门户的单向通信。

选择和筛选指标

ASP.NET、ASP.NET Core 和 Azure Functions (v2) 可提供这些功能。

可以通过在门户中针对任何 Application Insights 遥测数据应用任意筛选器来实时监视自定义性能指示器。 选择筛选器控件(将鼠标悬停在任何图表上时会显示)。 下图绘制了一个自定义请求计数 KPI,其中的数据已按“URL”和“持续时间”属性进行筛选。 借助“流预览”部分(显示与在任意时间点指定的条件匹配的实时遥测源)验证筛选器。

显示筛选器请求速率的屏幕截图。

可以监视与“计数”不同的值。 选项取决于流的类型,这可能是任何 Application Insights 遥测数据,如请求、依赖项、异常、跟踪、事件或指标。 也可能是自己的自定义度量

显示针对具有自定义指标的请求速率的查询生成器的屏幕截图。

除了 Application Insights 遥测外,还可以监视任何 Windows 性能计数器。 从流选项中选择它,并提供性能计数器的名称。

实时指标在以下两个位置聚合:在每个服务器本地聚合,然后在所有服务器上聚合。 通过在相应的下拉列表中选择其他选项,可以在任一位置更改默认选项。

采样遥测数据:自定义实时诊断事件

默认情况下,事件实时源显示已失败的请求和依赖项调用、异常、事件与跟踪的样本。 选择筛选器图标可以查看在任意时间点应用的条件。

显示“筛选器”按钮的屏幕截图。

与使用指标时一样,可以将任意条件指定为任何 Application Insights 遥测类型。 在本示例中,我们将选择特定的请求失败和事件。

显示“查询生成器”的屏幕截图。

注意

目前,对于基于异常消息的条件,请使用外部异常消息。 在上述示例中,若要筛选出具有内部异常消息(追随“<--”分隔符)“客户端已断开连接”的良性异常,请使用不包含“读取请求内容时出错”条件的消息。

若要查看实时源中某个项的详细信息,请选择它。 可以通过选择“暂停”或通过向下滚动并选择某个项来暂停源。 在实时源处于暂停状态时,滚回到顶部后,或者选择收集的项的计数器后,该实时源会恢复。

显示“采样遥测”窗口的屏幕截图,其中已选择一个异常,窗口底部显示了异常详细信息。

按服务器实例筛选

如果要监视特定服务器角色实例,则可以按服务器进行筛选。 若要进行筛选,请在“服务器”下选择服务器名称。

显示采样实时故障的屏幕截图。

确保控制通道的安全

通过启用 Microsoft Entra 身份验证来保护实时指标控制通道,从而防止未经授权而泄露输入到自定义筛选器中的潜在敏感信息。

注意

2025 年 9 月 30 日,用于将实时指标遥测流式传输到 Application Insights 中的 API 密钥将停用。 在该日期之后,使用 API 密钥的应用程序将无法将实时指标数据发送到 Application Insights 资源。 用于将实时指标流式传输到 Application Insights 的经过身份验证的遥测引入需要使用适用于 Application Insights 的 Microsoft Entra 身份验证来完成。

支持的功能表

语言 基本指标 性能指标 自定义筛选 样本遥测数据 CPU 按进程划分
.NET Framework 支持 (LTS) 支持 (LTS) 支持 (LTS) 支持 (LTS) 支持 (LTS)
.NET Core(目标=.NET Framework) 支持 (LTS) 支持 (LTS) 支持 (LTS) 支持 (LTS) 支持 (LTS)
.NET Core(目标=.NET Core) 支持 (LTS) 支持* 支持 (LTS) 支持 (LTS) 不支持
Azure Functions v2 支持 支持 支持 支持 不支持
Java 支持 (V2.0.0+) 支持 (V2.0.0+) 不支持 支持 (V3.2.0+) 不支持
Node.js 支持 (V1.3.0+) 支持 (V1.3.0+) 不支持 支持 (V1.3.0+) 不支持
Python 支持(发行版版本 1.6.0+) 不支持 不支持 不支持 不支持

基本指标包括请求、依赖项和异常率。 性能指标(性能计数器)包括内存和 CPU。 示例遥测显示了有关失败的请求和依赖项、异常、事件和跟踪的详细信息流。

PerfCounters 支持在不针对 .NET Framework 的 .NET Core 版本之间略有不同:

  • 在适用于 Windows 的 Azure 应用服务中运行时(ASP.NET Core SDK 版本 2.4.1或更高版本),支持 PerfCounters 指标。
  • 对于面向 .NET Core LTS 或更高版本的应用,当应用在任何 Windows 计算机上运行时,支持 PerfCounters。
  • 当应用以最新版本在任意位置(例如 Linux、Windows、用于 Linux 的应用服务、容器等)运行时,支持 PerfCounters,但仅适用于针对 .NET Core LTS 或更高版本的应用。

故障排除

请参阅专用疑难解答文章

后续步骤