Springboot JVM监控 通过Promethus

Springboot内置了对Prometheus得支持,可以监测得点有:

  • JVM各指标参数(GC,堆,非堆等)
  • 接口调用次数,延时
  • 系统内存,IO,CPU使用率

部署Prometheus和Grafana

准备一台2核4G或以上配置得linux系统(centos7.9、ubuntu18.04或更高版本),按下面得方式部署Prometheus和Grafana

复制代码
#下载镜像
docker pull prom/prometheus
docker pull grafana/grafana

#将docker里的配置拷出来
docker run --name=grafana -d  -p 3000:3000 -itd grafana/grafana
mkdir -p /docker/prometheus/grafana/data
mkdir -p /docker/prometheus/grafana
docker cp grafana:/etc/grafana/grafana.ini /docker/prometheus/grafana/

#写Prometheus配置文件
vim prometheus.yml
global:
  scrape_interval:     15s 
  evaluation_interval: 15s 

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: "ProvideAPIServices"
    scrape_interval: 5s
    metrics_path: "/actuator/prometheus"
    static_configs:
            - targets: ["172.16.0.88:8789","172.16.0.69:8789"]


#启动Prometheus
docker run -d --name prometheus -p 9090:9090 -v /root/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

#启动grafana
docker run -d -p 3000:3000 --name grafana  --restart=always -v /docker/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini -v /docker/prometheus/grafana/data:/var/lib/grafana -e "GF_SECURITY_ADMIN_PASSWORD=admin" grafana/grafana

注意两个地方

metrics_path: "/actuator/prometheus" #这里填java服务得请求路径+/actuator/prometheus,如果加了前缀,如 context-path: /abc,则为/abc/actuator/prometheus

"172.16.0.88:8789","172.16.0.69:8789"\] #172.16.0.88:8789 为java服务ip+断开 ### 修改pom.xml 加入下面依赖 jdk\<=11 io.micrometer micrometer-registry-prometheus runtime jdk\>=17 io.prometheus simpleclient_pushgateway ### 修改application.xml management: endpoints: web: exposure: include: "*" endpoint: prometheus: enabled: true #激活prometheus health: show-details: always metrics: export: prometheus: enabled: true [Grafana dashboards \| Grafana Labs](https://grafana.com/grafana/dashboards/?search=tomcat "Grafana dashboards | Grafana Labs") 在grafna导入模板,建议 12464 14430 ![](https://file.jishuzhan.net/article/1796717132566761473/325fec6ff8ba0926329d4f93952df95c.webp) ![](https://file.jishuzhan.net/article/1796717132566761473/da4264510f33d321e6e225d5780839bb.webp) ![](https://file.jishuzhan.net/article/1796717132566761473/f0682ce1dd3348c9817435dda5f61855.webp) ![](https://file.jishuzhan.net/article/1796717132566761473/ba41d5e303218ee6eeddc3ef306e12d0.webp)

相关推荐
我爱cope7 小时前
【从0开始学设计模式-10| 装饰模式】
java·开发语言·设计模式
朝新_8 小时前
【Spring AI 】图像与语音模型实战
java·人工智能·spring
RH2312118 小时前
2026.4.16Linux 管道
java·linux·服务器
zmsofts9 小时前
java面试必问13:MyBatis 一级缓存、二级缓存:从原理到脏数据,一篇讲透
java·面试·mybatis
aq553560010 小时前
编程语言三巨头:汇编、C++与PHP大比拼
java·开发语言
我是无敌小恐龙11 小时前
Java SE 零基础入门Day01 超详细笔记(开发前言+环境搭建+基础语法)
java·开发语言·人工智能·opencv·spring·机器学习
心态与习惯11 小时前
Julia 初探,及与 C++,Java,Python 的比较
java·c++·python·julia·比较
一叶飘零_sweeeet12 小时前
优秀文章合集
java
zopple12 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php
南境十里·墨染春水12 小时前
C++ 笔记 thread
java·开发语言·c++·笔记·学习