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)

相关推荐
宇宙超粒终端控制中心7 分钟前
Java使用easypoi填充数据到word
java·spring boot·spring cloud·java-ee·easypoi
又是忙碌的一天42 分钟前
java学习:四大排序
java·学习·排序算法
城管不管1 小时前
面试题(1)
java
二饭1 小时前
POI操作Docx的踩坑指南(一)
java·apache
李贺梖梖1 小时前
DAY25 综合案例
java
-雷阵雨-2 小时前
数据结构——优先级队列(堆)
java·开发语言·数据结构·intellij-idea
好家伙VCC2 小时前
**全息显示技术的发散创新与深度探索**一、引言随着科技的飞速发展,全息显示技术已成为显示领域的一大研究热点。本文将带你
java·图像处理·python·科技·计算机视觉
步行cgn2 小时前
Java项目包结构设计与功能划分详解
java·开发语言·架构·mvc
ss2732 小时前
手写MyBatis第92弹:SqlSource体系、SqlNode树与Trim标签实现原理全揭秘
java·开发语言
235163 小时前
【LeetCode】46. 全排列
java·数据结构·后端·算法·leetcode·职场和发展·深度优先