下图展示了各个组件在此过程中的作用
负责生成JVM的监控信息
jmx_prometheus_javaagent-0.16.1.jar,下载地址
更多配置信息请参考 jmx_exporter
wercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:
- pattern: 'java.lang<>(committed_virtual_memory|free_physical_memory|free_swap_space|total_physical_memory|total_swap_space)_size:'
name: os_$1_bytes
type: GAUGE
attrNameSnakeCase: true
- pattern: 'java.lang<>((?!process_cpu_time)w+):'
name: os_$1
type: GAUGE
attrNameSnakeCase: true
# 端口号8314和yourJar.jar需要进行设置
java -javaagent:jmx_prometheus_javaagent-0.16.1.jar=8314:./jmx_prometheus.yaml -jar yourJar.jar
【注意】记录此处的8314端口号和IP地址后续Prometheus配置文件中使用
负责收集和存储JVM信息
查找scrape_configs节点,增加监控Job子节点,示例如下:
- job_name: demo-hello #监控Job名称
static_configs:
- targets: ['192.168.7.XXX:8314'] #待监控机器列表,node exporter默认端口9100,多台机器用“,”分隔。
【注意】记录此处的job_name后续Grafana中使用
docker-compose restart prometheus
1、访问 Prometheus的IP9090端口,有界面代表启动成功。如:http://127.0.0.1:9090/
2、查看已有的JVM信息
或查看有demo-hello则OK
负责展示JVM状态
模板ID:8563