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

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

相关推荐
知彼解己18 小时前
字符串大数相加:从初稿到优化的思路演进
java·开发语言·算法
好多1718 小时前
《JVM如何排查OOM》
开发语言·jvm·python
计算机毕业设计指导19 小时前
基于Spring Boot + Vue 3的社区养老系统设计与实现
vue.js·spring boot·后端
拾忆,想起19 小时前
Redisson 分布式锁的实现原理
java·开发语言·分布式·后端·性能优化·wpf
焰火199919 小时前
[Java][SpringBoot]AspectJ切面配合自定义注解实现权限校验
java
几颗流星19 小时前
Rust 常用语法速记 - 解构赋值
后端·rust
我想当数字游民19 小时前
Go的切片是什么?一些小细节和容易错的地方
后端·golang
肖焱19 小时前
Java中的集合类有哪些?如何分类的?
后端
野生程序员y19 小时前
Spring DI/IOC核心原理详解
java·后端·spring
是萝卜干呀19 小时前
IIS 部署 asp.net core 项目时,出现500.19、500.31问题的解决方案
后端·iis·asp.net·hosting bundle