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