51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

jmx_export 监控 java 进程(jar )

Prometheus监控java应用_jmx_prometheus_javaagent-CSDN博客

白眉大叔 案例地址:

https://gitee.com/wang-huamao/jmx-exporter-demo.git

下载地址:https://github.com/prometheus/jmx_exporter

jmx_export是一个收集和监控JVM数据的工具, 提供两种使用方式:可以作为Java Agent的方式,也可以以独立http服务器使用

一、以独立http服务器使用

(1)下载 jmx_export

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_httpserver/0.20.0/jmx_prometheus_httpserver-0.20.0.jar

(2)运行我们的jar 应用

这里白眉大叔写了一个helloworld

运行后是这样的

我们下载这个jar 包

wget  https://gitee.com/wang-huamao/springboot-demo-k8s/raw/master/springboot-demo.jar 

然后我们运行 (如果命令下载不了,就用浏览器打开)

普通的运行我们直接

java -jar springboot-demo.jar --server.port=8888

如果带上监控,我们需要加一些参数

java  -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=5555 -Dcom.sun.management.jmxremote.authenticate=false -jar springboot-demo.jar --server.port=8888

验证启动成功

(3) 配置jvm监控

cat config.yaml

hostPort: localhost:5555
rules:
- pattern: ".*"

启动

java -javaagent:jmx_prometheus_javaagent-0.20.0.jar=8955:config1.yaml -jar springboot-demo.jar

启动jmx_prometheus_httpserver通过应用暴露的jmx端口,采集应用的jvm数据,并把采集到的数据通过8955商品暴露给prometheus拉取

检测参数的数据量是非常多

这样我们的监控就做好了。

二、 以Java Agent方式使用

(1) 下载 jvm-exporter

jar 地址 不要搞错

wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.20.0/jmx_prometheus_javaagent-0.20.0.jar  

cat config1.yaml

lowercaseOutputLabelNames: false
lowercaseOutputName: false
rules:
- pattern: ".*"

java -javaagent:jmx_prometheus_httpserver-0.20.0.jar=8955:config1.yaml -jar springboot-demo.jar

赞(7)
未经允许不得转载:工具盒子 » jmx_export 监控 java 进程(jar )