一、Spring Boot 接入步骤

1. 添加依赖

<!-- pom.xml -->
<dependencies>    
  <!-- 监控基础支持 -->    
  <dependency>        
    <groupId>org.springframework.boot</groupId>        
    <artifactId>spring-boot-starter-actuator</artifactId>    
  </dependency>    
  <!-- Prometheus 指标格式输出 -->    
  <dependency>        
    <groupId>io.micrometer</groupId>        
    <artifactId>micrometer-registry-prometheus</artifactId>    
  </dependency>
</dependencies>

2. 配置应用端点

# application.yml
management:
  endpoints:
    web:
      exposure:
        include: health,info,prometheus  # 暴露监控端点
  metrics:
    tags:
      application: ${spring.application.name}  # 添加应用标签

二、Prometheus 配置

1. Docker 快速部署 Prometheus

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/farerboy/prometheus

运行容器

docker run -d \
 --name prometheus \
 --cgroupns host \
 -p 9090:9090/tcp \
 --user nobody \
 -v /wwwroot/opt/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
 -w /prometheus \
 registry.cn-hangzhou.aliyuncs.com/farerboy/prometheus

2. 配置抓取目标

# prometheus.yml
scrape_configs:
  # job_name根据实际应用名称修改
  - job_name: 'springboot-app-name' 
    metrics_path: '/actuator/prometheus'  # SpringBoot应用监控端点 
    static_configs:
      - targets: ['ip:port']  # 应用地址

3. 重启 Prometheus 容器

docker restart prometheus

四、Grafana 可视化配置

4.1. Docker 快速部署 Grafana

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/farerboy/grafana

运行容器

docker run -d \
 --name grafana \
 --cgroupns host \
 -p 3000:3000/tcp \
 --user 472 \
 -v /wwwroot/opt/docker/grafana:/var/lib/grafana \
 -w /usr/share/grafana \
 registry.cn-hangzhou.aliyuncs.com/farerboy/grafana

4.2. 添加数据源

  1. 访问 http://localhost:3000 (默认账号 admin/admin)
  2. Configuration > Data Sources > Add data source
  3. 选择 Prometheus
  4. 填写 URL: http://localhost:9090(promethesu 的访问地址)

4.3. 导入 Dashboard

点击 + > 导入仪表盘

输入官方模板 ID:21319 (SpringBoot APM Dashboard(中文版本))

点击加载,等待页面加载后,点击选择 Prometheus 数据源

选择刚才创建的那个 Prometheus 数据源

点击 Import,即可看到监控仪表


架构设计之道在于在不同的场景采用合适的架构设计,架构设计没有完美,只有合适。
在代码的路上,我们一起砥砺前行。用代码改变世界!

  • 工作 3 年还在写 CRUD,无法突破技术瓶颈?
  • 想转技术管理但不会带团队?
  • 想跳槽没有面试的机会?
  • 不懂如何面试,迟迟拿不到 offer?
  • 面试屡屡碰壁,失败原因无人指导?
  • 在竞争激烈的大环境下,只有不断提升核心竞争力才能立于不败之地。

欢迎从事编程开发、技术招聘 HR 进群,欢迎大家分享自己公司的内推信息,相互帮助,一起进步!

 —— 斩获心仪Offer,破解面试密码 ——

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐