Skip to main content

监控:JVM虚拟机监控

对JVM虚拟机的通用性能指标进行采集监控

使用协议:JMX

监控前操作

您需要在 JVM 应用开启 JMX 服务,HertzBeat 使用 JMX 协议对 JVM 进行指标采集。

JVM应用开启JMX协议步骤

应用启动时添加JVM参数 ⚠️注意可自定义暴露端口,对外IP

参考文档: https://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#remote

-Djava.rmi.server.hostname=对外ip地址 
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

配置参数

参数名称参数帮助描述
监控Host被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。
任务名称标识此监控的名称,名称需要保证唯一性。
查询超时时间设置JVM连接的超时时间,单位ms毫秒,默认3000毫秒。
用户名JMX连接用户名
密码JMX连接密码
采集间隔监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒
是否探测新增监控前是否先探测检查监控可用性,探测成功才会继续新增修改操作
描述备注更多标识和描述此监控的备注信息,用户可以在这里备注信息

采集指标

指标集合:memory_pool

指标名称指标单位指标帮助描述
name指标名称
committedkb总量
initkb初始化大小
maxkb最大
usedkb已使用

指标集合:code_cache (限JDK8及以下)

指标名称指标单位指标帮助描述
committedkb总量
initkb初始化大小
maxkb最大
usedkb已使用

指标集合:class_loading

指标名称指标单位指标帮助描述
LoadedClassCount已加载类数量
TotalLoadedClassCount历史已加载类总量
UnloadedClassCount未加载类数量

指标集合:thread

指标名称指标单位指标帮助描述
TotalStartedThreadCount已经开始的线程数量
ThreadCount线程数
PeakThreadCount未加载类数量
DaemonThreadCount守护进程数
CurrentThreadUserTimems使用时间
CurrentThreadCpuTimems使用CPU时间