Prometheus + JMX_Exporter + Grafana 搭建 JVM 监控

如果不会使用 Prometheus 和 Grafana,请看我的上一篇文章: juejin.cn/post/735623...

一、项目关联 JMX_Exporter

1、下载 JMX_Exporter 的 jar 包

github 地址:github.com/prometheus/...

这里注意看好版本,,我本地环境是 jdk1.7,所以用的是 0.17 版本。

2、创建 JMX_Exporter 配置文件

配置名为:config.yaml,配置内容如下:

makefile 复制代码
rules:
- pattern: ".*"

3、项目关联 JMX_Exporter

启动 JMX_Exporter 有两种方式,这里选择使用代理方式启动,官网也是推荐这种。命令如下:

java -javaagent:./jmx_prometheus_javaagent-0.17.1.jar=12345:config.yaml -jar my.jar

上面命令解释如下:

  • jmx_prometheus_javaagent-0.17.1.jar:这个就是 JMX_Exporter 官网下载的 jar 包。
  • 12345:这个是 JMX_Exporter 对外暴露指标的端口,如果要指定 ip 则格式为 host:port。
  • config.yaml:刚刚创建的配置文件。
  • my.jar:你自己项目的 jar 包。

4、验证是否成功启动

如果看到以下界面则代表启动成功。

二、Prometheus 关联 JMX_Exporter

1、修改Prometheus 配置文件

yaml 复制代码
global:
  scrape_interval: 15s
 
scrape_configs:
  - job_name: "prometheus"
    static_configs:
    - targets: ["localhost:9090"]
  - job_name: "linux-node-cluster" # node_exporter配置
    static_configs:
    - targets: ["localhost:9100"]
  - job_name: "jmx_exporter" # JMX_exporter配置
    static_configs:
    - targets: ["localhost:12345"]

在最后一行添加了 JMX_exporter 暴露出来的端口地址。

2、启动 Prometheus

启动命令为:prometheus --config.file=prometheus.yml

prometheus.yml 是我的 Prometheus 配置文件。

3、验证是否成功启动

如果出现以下界面则代表 Prometheus 启动成功并关联上了 JMX_Exporter。

三、Grafana 关联 Prometheus

启动 Grafana 并关联 Prometheus 数据源。

tip:Grafana 使用的图表 id 为 11278

1、验证是否成功启动

如果出现以下界面则代表成功。

相关推荐
李慕婉学姐5 小时前
【开题答辩过程】以《基于JAVA的校园即时配送系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
java·开发语言·数据库
奋进的芋圆6 小时前
Java 延时任务实现方案详解(适用于 Spring Boot 3)
java·spring boot·redis·rabbitmq
sxlishaobin7 小时前
设计模式之桥接模式
java·设计模式·桥接模式
model20057 小时前
alibaba linux3 系统盘网站迁移数据盘
java·服务器·前端
武藤一雄7 小时前
C# 关于多线程如何实现需要注意的问题(持续更新)
windows·后端·microsoft·c#·.net·.netcore·死锁
荒诞硬汉7 小时前
JavaBean相关补充
java·开发语言
提笔忘字的帝国7 小时前
【教程】macOS 如何完全卸载 Java 开发环境
java·开发语言·macos
2501_941882487 小时前
从灰度发布到流量切分的互联网工程语法控制与多语言实现实践思路随笔分享
java·开发语言
華勳全栈8 小时前
两天开发完成智能体平台
java·spring·go
程序新视界8 小时前
为什么不建议基于Multi-Agent来构建Agent工程?
人工智能·后端·agent