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

复制代码
<dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-prometheus</artifactId>
            <scope>runtime</scope>
</dependency>

jdk>=17

复制代码
<dependency>
    <groupId>io.prometheus</groupId>
    <artifactId>simpleclient_pushgateway</artifactId>
</dependency>

修改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

在grafna导入模板,建议 12464 14430

相关推荐
霸道流氓气质2 分钟前
Maven 批处理脚本与 Qoder 配置使用指南
java·maven
架构源启3 分钟前
Spring AI进阶系列(14)- 2026 可观测性最佳实践:从链路追踪到企业级 AI 治理落地
java·人工智能·spring
码上有光8 分钟前
c++: 继承(下)
android·java·c++·多继承·菱形继承·虚继承
JAVA9658 分钟前
JAVA面试-并发篇 02-synchronized 锁可以重入吗
java·面试
RemainderTime13 分钟前
Spring Boot脚手架集成Sa-Token实现生产级RBAC权限管理
java·spring boot·后端·系统架构
世界尽头与你14 分钟前
Spring Boot Watcher 未授权访问漏洞
spring boot·安全·网络安全·渗透测试
韦胖漫谈IT15 分钟前
选语言不是站队,是选适合问题的工具
java·python·ai·rust·go·技术落地
lpd_lt19 分钟前
AI生成Spring Boot + Vue 3 + MySQL + MyBatis-Plus的项目实战
java·spring boot·vue·ai编程
JAVA面经实录91719 分钟前
Kafka 全套学习知识手册
java·kafka
绝知此事19 分钟前
RabbitMQ 从入门到精通:Spring Boot 实战三部曲(三)—— 高级应用与性能优化
spring boot·rabbitmq·java-rabbitmq