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、验证是否成功启动

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

相关推荐
点点滴滴的记录10 分钟前
Java的CompletableFuture实现原理
java·开发语言·javascript
xiaolingting11 分钟前
Java 引用是4个字节还是8个字节?
java·jvm·引用·指针压缩
一只傻小白,16 分钟前
JAVA项目中freemarker静态模板技术
java·开发语言
袁庭新16 分钟前
Spring Boot项目接收前端参数的11种方式
java·springboot·袁庭新·如何接收前端数据·boot接收数据
机跃18 分钟前
递归算法常见问题(Java)
java·开发语言·算法
程序员-小李38 分钟前
餐厅下单助手系统(Java+MySQL)
java·开发语言·mysql
开心工作室_kaic42 分钟前
springboot496基于java手机销售网站设计和实现(论文+源码)_kaic
java·开发语言·智能手机
像少年啦飞驰点、44 分钟前
SpringBoot + HttpSession 自定义生成sessionId
java·开发语言
珊珊来吃1 小时前
EXCEL中给某一列数据加上双引号
java·前端·excel
我曾经是个程序员1 小时前
使用C#生成一张1G大小的空白图片
java·算法·c#