Azure 容器应用中 Java 应用的 Java 指标
Java 虚拟机 (JVM) 指标对于监视 Java 应用程序的运行状况和性能至关重要。 所收集的数据包括对内存使用情况、垃圾回收、JVM 线程计数的见解。 使用以下指标来帮助确保应用程序的运行状况和稳定性。
收集的指标
类别 | 标题 | 说明 | 指标 ID | Unit |
---|---|---|---|---|
Java | jvm.memory.total.used |
堆或非堆使用的内存总量 | JvmMemoryTotalUsed |
bytes |
Java | jvm.memory.total.committed |
保证可用于堆或非堆的内存总量 | JvmMemoryTotalCommitted |
bytes |
Java | jvm.memory.total.limit |
堆或非堆的最大可获取内存总量 | JvmMemoryTotalLimit |
bytes |
Java | jvm.memory.used |
每个池使用的内存量 | JvmMemoryUsed |
bytes |
Java | jvm.memory.committed |
保证可用于每个池的内存量 | JvmMemoryCommitted |
bytes |
Java | jvm.memory.limit |
每个池的最大可获取内存量 | JvmMemoryLimit |
bytes |
Java | jvm.buffer.memory.usage |
缓冲区使用的内存量,例如直接内存 | JvmBufferMemoryUsage |
bytes |
Java | jvm.buffer.memory.limit |
缓冲区总内存容量 | JvmBufferMemoryLimit |
bytes |
Java | jvm.buffer.count |
内存池中的缓冲区数 | JvmBufferCount |
不适用 |
Java | jvm.gc.count |
JVM 垃圾回收操作计数 | JvmGcCount |
不适用 |
Java | jvm.gc.duration |
JVM 垃圾回收操作的持续时间 | JvmGcDuration |
毫秒 |
Java | jvm.thread.count |
正在执行的平台线程数 | JvmThreadCount |
不适用 |
配置
要使 Java 指标集合可供应用使用,必须创建具有一些特定设置的容器应用。
在“创建”窗口中,如果为“部署源”选择“容器映像”选项,则可以访问特定于堆栈的功能。
在“特定于开发堆栈的功能”下,为“开发堆栈”选择“Java”。
选择 Java 开发堆栈后,将会显示“自定义应用的 Java 功能”窗口。 在“Java 功能”标签旁边,选择“JVM 核心指标”。
有两个 CLI 选项与应用运行时和 Java 指标相关:
选项 | 说明 |
---|---|
--runtime |
容器应用的运行时。 支持的值为 generic 和 java 。 |
--enable-java-metrics |
用于启用或禁用应用的 Java 指标的布尔选项。 仅适用于 Java 运行时。 |
注意
--enable-java-metrics=<true|false>
参数可隐式设置 --runtime=java
。 --runtime=generic
参数会重置所有 java 运行时信息。
启用 Java 指标
可以通过 create
或 update
命令启用 Java 指标。
查看 Java 指标
使用以下步骤查看容器应用的指标可视化效果。
可以在 Azure Monitor 上看到 Java 指标名称,但除非使用 --enable-java-metrics
参数来启用 Java 指标,否则数据集会报告为空。