Azure Spring Apps 的指标

注意

基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告

标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。

Azure 指标资源管理器是 Azure 门户的一个组件,通过它可以绘制图表、以直观的形式关联趋势,以及研究指标的上升和下降。 使用指标资源管理器调查资源的运行状况和利用率。

在 Azure Spring Apps 实例中,可以在以下页面上查看指标:

  • 应用程序概述页,其中显示了快速状态图表。 若要查看此页,请从导航窗格中选择“应用”,然后选择一个应用。

  • 通用指标页,其中显示了可用于 Azure Spring Apps 实例中所有应用的通用指标。 若要查看此页,请从导航窗格中选择“指标”。 可以在常用指标页中构建你自己的图表,然后将它们固定到你的仪表板。

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 概述”页,并在导航窗格中突出显示了“应用和指标”。

应用程序概览页

在导航窗格中选择“应用”,然后从列表中选择一个应用。 应用概述页显示指标图表,使你能够执行应用程序的快速状态检查。

Azure 门户的屏幕截图,其中显示了应用程序的概述页,突出显示了时间段选择器。

Azure Spring Apps 提供以下五个图表,其中的指标每分钟更新一次:

  • Http 服务器错误:向应用发出的 HTTP 请求的错误计数
  • 数据输入:应用接收的字节数
  • 数据输出:应用发送的字节数
  • 请求:应用接收的请求数
  • 平均响应时间:应用的平均响应时间

对于图表,你可以选择一小时到七天的时间范围。

常用指标页

在导航窗格中选择“指标”以访问常见指标。 从“指标”下拉列表中选择要使用的指标。

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 指标”页,“指标”下拉菜单处于打开状态。

有关指标详细信息,请参阅用户指标选项部分。

接下来,为每个指标选择聚合类型:

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 指标”页,“聚合”下拉菜单处于打开状态。

聚合类型指示如何按时间对图表中的指标点进行聚合。 每分钟有一个原始指标点,一分钟内的预聚合类型由指标类型预定义。

  • 总和:将所有值的和显示为目标输出。
  • 平均值:将时段中的“平均”值用作目标输出。
  • 最大值/最小值:将时段中的“最大/最小”值用作目标输出。

还可以将时间范围从过去 30 分钟调整为过去 30 天或某个自定义时间范围。

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 指标”页,突出显示了图表时间范围选项。

默认视图包括某个 Azure Spring Apps 服务的应用程序的所有指标。 可以在显示中筛选一个应用或实例的指标。 选择“添加筛选器”,将属性设置为“应用”,然后在“值”文本框中选择要监视的目标应用程序 。

你可以使用两种类型的筛选器(属性):

  • 应用:按应用名称筛选
  • 实例:按应用实例筛选
  • 部署:按部署名称筛选

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 指标”页,选择了一个图表并突出显示了“添加筛选器控件”。

你还可以使用“应用拆分”选项,该选项将为一个应用绘制多个行:

Azure 门户的屏幕截图,其中显示了“Azure Spring Apps 指标”页,选择了一个图表并突出显示了“应用拆分”选项。 :

提示

可以在指标页中构建你自己的图表,然后将其固定到“仪表板”。 一开始,为图表命名。 接下来,选择“固定到右上角的仪表板”。 现在可以在门户“仪表板”中检查应用程序了。

用户指标选项

注意

对于 Spring Boot 应用程序,若要查看 Spring Boot Actuator 中的指标,请添加 spring-boot-starter-actuator 依赖项。 有关详细信息,请参阅使用 Spring Boot Actuator 管理和监视应用添加执行器依赖项部分。

下表显示了可用的指标和详细信息。

错误

名称 Spring Boot Actuator 指标名称 计价单位 说明
tomcat.global.error tomcat.global.error 计数 已处理的请求中发生的错误数。

性能

名称 Spring Boot Actuator 指标名称 计价单位 说明
system.cpu.usage system.cpu.usage 百分比 整个系统最近的 CPU 使用率(已过时,不建议使用)。 此值为 [0.0,1.0] 区间中的一个双精度值。 如果值为 0.0,则表示在所观察的最近一段时间内所有 CPU 都处于空闲状态,而如果值为 1.0,则表示在所观察的最近一段时间内所有 CPU 都一直在主动运行。
process.cpu.usage 应用 CPU 使用率百分比 百分比 Java 虚拟机进程最近的 CPU 使用率(已过时,不建议使用)。 此值为 [0.0,1.0] 区间中的一个双精度值。 如果值为 0.0,则表示在所观察的最近一段时间内,任何 CPU 都未运行 JVM 进程中的线程,而如果值为 1.0,则表示在所观察的最近一段时间内,所有 CPU 都一直在主动运行 JVM 中的线程。 JVM 中的线程包括应用程序线程以及 JVM 内部线程。
应用 CPU 使用情况 百分比 针对分配给此应用的 CPU 的 JVM 进程的最近 CPU 使用率。 此值为 [0.0,1.0] 区间中的一个双精度值。 如果值为 0.0,则表示在所观察的最近一段时间内,任何 CPU 都未运行 JVM 进程中的线程,而如果值为 1.0,则表示在所观察的最近一段时间内,所有 CPU 都一直在主动运行 JVM 中的线程。 JVM 中的线程包括应用程序线程以及 JVM 内部线程。
应用 CPU 使用率(已弃用) 百分比 已弃用的应用 CPU 使用率指标。 请改为使用新的应用 CPU 使用率指标。
应用内存使用情况 百分比 针对分配给此应用的内存的 JVM 进程的最近内存使用率。 此值为 [0.0,1.0] 区间中的一个双精度值。 如果值为 0.0,则表示在所观察的最近一段时间内,JVM 进程中的线程未分配任何内存;如果值为 1.0,则表示在所观察的最近一段时间内,所有内存都一直由 JVM 进程中的线程分配。 JVM 中的线程包括应用程序线程以及 JVM 内部线程。
jvm.memory.committed jvm.memory.committed 字节 表示保证可供 JVM 使用的内存量。 JVM 可能会向系统释放内存,其提交的值可能小于初始值。 提交的值将始终大于或等于使用的值。
jvm.memory.used jvm.memory.used 字节 表示当前使用的内存量(字节)。
jvm.memory.max jvm.memory.max 字节 表示可用于内存管理的最大内存量。 使用的和提交的内存量将始终少于或等于最大内存量(如果已定义最大内存量)。 如果在进行内存分配时尝试提高使用的内存,使得使用的内存 > 提交的内存,则即使使用的内存 <= 最大内存(例如,当系统的虚拟内存较低时),内存分配也可能会失败。
jvm.gc.max.data.size jvm.gc.max.data.size 字节 自 Java 虚拟机启动以来旧代内存池的峰值内存使用量。
jvm.gc.live.data.size jvm.gc.live.data.size 字节 完全垃圾回收 (GC) 后的旧代内存池大小。
jvm.gc.memory.promoted jvm.gc.memory.promoted 字节 从 GC 之前到 GC 之后这段时间,旧代内存池大小正增加的计数。
jvm.gc.memory.allocated jvm.gc.memory.allocated 字节 运行一个 GC 之后,在运行下一个 GC 之前,新代内存池大小增加的递增量。
jvm.gc.pause.total.count jvm.gc.pause (total-count) 计数 此 JMV 启动后的总 GC 计数,包括新代和旧代 GC。
jvm.gc.pause.total.time jvm.gc.pause (total-time) 毫秒 此 JMV 启动后消耗的总 GC 时间,包括新代和旧代 GC。

性能 (.NET)

名称 Spring Boot Actuator 指标名称 计价单位 说明
CPU 使用率 cpu-usage 百分比 进程的 CPU 使用率相对于所有系统 CPU 资源的百分比 [0-100]。
工作集 working-set 兆字节 进程所使用的工作集数量。
GC 堆大小 gc-heap-size 兆字节 垃圾回收器报告的堆总大小。
第 0 代 GC 计数 gen-0-gc-count 计数 每秒第 0 代垃圾回收数。
第 1 代 GC 计数 gen-1-gc-count 计数 每秒第 1 代垃圾回收数。
第 2 代 GC 计数 gen-2-gc-count 计数 每秒第 2 代垃圾回收数。
GC 所占时间 timein-gc 百分比 自上次垃圾回收后垃圾回收中的时间百分比。
Gen 0 heap size(第 0 代堆大小) gen-0-size 字节 第 0 代堆大小。
Gen 1 heap size(第 1 代堆大小) gen-1-size 字节 第 1 代堆大小。
Gen 2 heap size(第 2 代堆大小) gen-2-size 字节 第 2 代堆大小。
LOH 堆大小 loh-size 字节 大型对象堆堆大小。
分配速率 alloc-rate 字节 每秒分配的字节数。
程序集计数 assembly-count 计数 已加载的程序集数。
异常计数 exception-count 计数 每秒异常数。
线程池线程计数 threadpool-thread-count 计数 线程池线程数。
监视器锁争用计数 monitor-lock-contention-count 计数 尝试获取监视器锁时每秒发生争用的次数。
线程池队列长度 threadpool-queue-length 计数 线程池工作项队列长度。
线程池已完成项计数 threadpool-completed-items-count 计数 线程池已完成工作项计数。
活动计时器计数 active-timer-count 计数 当前处于活动状态的计时器数。 活动计时器是注册为在将来某个时间点计时且尚未取消的计时器。

有关详细信息,请参阅调查性能计数器 (dotnet-counters)

请求

名称 Spring Boot Actuator 指标名称 计价单位 说明
tomcat.global.sent tomcat.global.sent 字节 Tomcat Web 服务器发送的数据量。
tomcat.global.received tomcat.global.received 字节 Tomcat Web 服务器接收的数据量。
tomcat.global.request.total.count tomcat.global.request (total-count) Count Tomcat Web 服务器处理的请求总数。
tomcat.global.request.max tomcat.global.request.max 毫秒 Tomcat Web 服务器用于处理请求的最长时间。

请求 (.NET)

名称 Spring Boot Actuator 指标名称 计价单位 说明
每秒请求数 requests-per-second 计数 请求速率。
请求总数 total-requests 计数 总请求数。
当前请求数 current-requests 计数 当前请求的数目。
失败的请求 failed-requests 计数 失败的请求数。

有关详细信息,请参阅调查性能计数器 (dotnet-counters)

会话

名称 Spring Boot Actuator 指标名称 计价单位 说明
tomcat.sessions.active.max tomcat.sessions.active.max 计数 同时处于活动状态的会话的最大数量。
tomcat.sessions.alive.max tomcat.sessions.alive.max 毫秒 过期会话处于活动状态的最长时间(秒)。
tomcat.sessions.created tomcat.sessions.created Count 已创建的会话数。
tomcat.sessions.expired tomcat.sessions.expired Count 已过期的会话数。
tomcat.sessions.rejected tomcat.sessions.rejected 计数 由于达到了最大活动会话数而未创建的会话数。
tomcat.sessions.active.current tomcat.sessions.active.current Count Tomcat 会话活动计数。

流入量

显示名称 Azure 指标名称 计价单位 说明
接收的字节数 IngressBytesReceived 字节 Azure Spring Apps 从客户端接收的字节计数。
发送的字节数 IngressBytesSent 字节 Azure Spring Apps 发送到客户端的字节计数。
请求 IngressRequests Count Azure Spring Apps 从客户端接收的请求计数。
失败的请求数 IngressFailedRequests Count Azure Spring Apps 从客户端接收的失败请求计数。
响应状态 IngressResponseStatus 计数 Azure Spring Apps 返回的 HTTP 响应状态。 可以进一步对响应状态代码分布进行归类来显示 2xx、3xx、4xx 和 5xx 类别的响应。
响应时间 IngressResponseTime Azure Spring Apps 返回的 HTTP 响应时间。
入口吞吐量(字节/秒) IngressBytesReceivedRate 每秒字节数 Azure Spring Apps 每秒从客户端接收的字节数。
出口吞吐量(字节/秒) IngressBytesSentRate 每秒字节数 Azure Spring Apps 每秒发送到客户端的字节数。

后续步骤