目录
JMX Exporter 的两种用法
prometheus_httpserver-0.18.0.jar%20%E6%96%B9%E5%BC%8F-toc" style="margin-left:40px;">启动独立进程 jmx_prometheus_httpserver-0.18.0.jar 方式
下载 jmx_exporter
找地方随便一放
创建配置文件 config_jmx_exporter.yaml
jvm%20%E9%85%8D%E7%BD%AE%20%E4%B8%80%E5%AE%9A%E8%A6%81%E6%98%AFjvm%E5%8F%82%E6%95%B0%20%E5%8F%AF%E5%88%AB%E6%84%8F%E5%A4%96%E5%86%99%E6%88%90%E7%A8%8B%E5%BA%8F%E5%8F%82%E6%95%B0-toc" style="margin-left:80px;">增加 启动 jvm 配置 一定要是jvm参数 可别意外写成程序参数
启动jmx_exporter
Prometheus yml 配置
启动就出来了metrics
随便配个指标看下效果
Grafana 使用模板是 8563
prometheus_javaagent-0.18.0.jar%20%E6%96%B9%E5%BC%8F%20-%E6%8E%A8%E8%8D%90%E6%96%B9%E5%BC%8F-toc" style="margin-left:40px;">进程内启动 jmx_prometheus_javaagent-0.18.0.jar 方式 -推荐方式
先把jar下载下来
创建个配置文件 config_jmx_exporter.yaml
Prometheus.yml 配置一下心的job
启动自己的项目命令
linux 带上如下内容即可
Grafana 导入 8563 模板 or 8878 模板也可以 配完就出来了
JMX Exporter 的两种用法
JMX-Exporter 提供了两种用法:
- 启动独立进程。JVM 启动时指定参数,暴露 JMX 的 RMI 接口,JMX-Exporter 调用 RMI 获取 JVM 运行时状态数据,转换为 Prometheus metrics 格式,并暴露端口让 Prometheus 采集。
- JVM 进程内启动(in-process)。JVM 启动时指定参数,通过 javaagent 的形式运行 JMX-Exporter 的 jar 包,进程内读取 JVM 运行时状态数据,转换为 Prometheus metrics 格式,并暴露端口让 Prometheus 采集。
官方不推荐使用第一种方式,一方面配置复杂,另一方面因为它需要一个单独的进程,而这个进程本身的监控又成了新的问题,所以本文重点围绕第二种用法讲如何使用 JMX Exporter 暴露 JVM 监控指标给Prometheus并展示在Grafana上。
prometheus_httpserver-0.18.0.jar%20%E6%96%B9%E5%BC%8F" style="margin-left:0;">启动独立进程 jmx_prometheus_httpserver-0.18.0.jar 方式
下载 jmx_exporter
Releases · prometheus/jmx_exporter · GitHub
找地方随便一放
创建配置文件 config_jmx_exporter.yaml
hostPort: localhost:8084
rules:
- pattern: ".*"
jvm%20%E9%85%8D%E7%BD%AE%20%E4%B8%80%E5%AE%9A%E8%A6%81%E6%98%AFjvm%E5%8F%82%E6%95%B0%20%E5%8F%AF%E5%88%AB%E6%84%8F%E5%A4%96%E5%86%99%E6%88%90%E7%A8%8B%E5%BA%8F%E5%8F%82%E6%95%B0" style="margin-left:0;">增加 启动 jvm 配置 一定要是jvm参数 可别意外写成程序参数
-Dcom.sun.management.jmxremote.port=8084
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
启动jmx_exporter
>java -jar jmx_prometheus_httpserver-0.18.0.jar 12345 config_jmx_exporter.yaml
Prometheus yml 配置
- job_name: "jmx-exporter"
static_configs:
- targets: ["localhost:12345"]
启动就出来了metrics
随便配个指标看下效果
Grafana 使用模板是 8563
JVM dashboard | Grafana Labs
prometheus_javaagent-0.18.0.jar%20%E6%96%B9%E5%BC%8F%20-%E6%8E%A8%E8%8D%90%E6%96%B9%E5%BC%8F" style="margin-left:0;">进程内启动 jmx_prometheus_javaagent-0.18.0.jar 方式 -推荐方式
先把jar下载下来
地址一样 点击下载即可
https://github.com/prometheus/jmx_exporter/releases
创建个配置文件 config_jmx_exporter.yaml
lowercaseOutputLabelNames: true
lowercaseOutputName: true
whitelistObjectNames: ["java.lang:type=OperatingSystem"]
blacklistObjectNames: []
rules:
- pattern: 'java.lang<type=OperatingSystem><>(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<type=OperatingSystem><>((?!process_cpu_time)\w+):'
name: os_$1
type: GAUGE
attrNameSnakeCase: true
Prometheus.yml 配置一下心的job
- job_name: "jmx-exporter"
static_configs:
- targets: ["localhost:12345"]
启动自己的项目命令
#-javaagent:D:\kf\prometheus\jmx_prometheus_javaagent-0.18.0.jar=12345:d:\kf\prometheus\config_jmx_exporter.yaml
java -javaagent:D:\kf\prometheus\jmx_prometheus_javaagent-0.18.0.jar=12345:d:\kf\prometheus\config_jmx_exporter.yaml -jar .\demo-provider-0.0.1-SNAPSHOT.jar
linux 带上如下内容即可
nuhup … &
我是为方便放到prometheus 下边了大家根据需要随便放没限制
Jmx_exporter 开启需要的端口 如12345=12345
Grafana 导入 8563 模板 or 8878 模板也可以 配完就出来了
很方便内存线程啥的都可以快速看 切换节点就可以看其他机器的了
ok
持续更新