使用 Prometheus监控docker部署的springboot应用
时间: 2025-06-28 17:09:01 浏览: 16
### 使用 Prometheus 监控 Docker 部署的 Spring Boot 应用程序
为了实现对通过 Docker 部署的 Spring Boot 应用程序的有效监控,可以采用 Prometheus 和 Grafana 组合的方式。这不仅能够提供详细的性能指标数据,还能帮助快速定位并解决问题。
#### 准备工作
确保已安装 Docker 及其相关组件,并配置好环境以便支持后续操作。对于 Spring Boot 应用而言,在项目中加入 `micrometer` 依赖来暴露必要的度量信息给 Prometheus 抓取是非常重要的[^1]。
```xml
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
```
上述 XML 片段展示了 Maven 构建工具中的依赖声明方式;如果使用 Gradle,则需相应调整语法结构。
#### 启动应用容器化服务
创建一个名为 `docker-compose.yml` 的文件用于定义多个关联的服务实例:
```yaml
version: '3'
services:
app:
image: your-spring-boot-app-image
ports:
- "8080:8080"
environment:
SPRING_METRICS_EXPORT_PROMETHEUS_ENABLED: true
prometheus:
image: prom/prometheus:v2.26.0
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
```
此 YAML 文件描述了一个包含两个服务的应用场景——一个是运行着目标 Spring Boot 应用程序的服务节点 (`app`) ,另一个则是负责收集和存储监控数据的 Prometheus 实例(`prometheus`).
#### 编写 Prometheus 配置文件
在同一目录下新建 `prometheus.yml`, 添加如下内容以指定抓取规则:
```yaml
scrape_configs:
- job_name: 'springboot'
metrics_path: '/actuator/prometheus' # 默认路径可能不同, 根据实际情况修改
static_configs:
- targets: ['app:8080']
```
这段配置指示 Prometheus 定期访问位于 `/actuator/prometheus` 路径下的端点获取所需的数据集,并将其作为时间序列保存下来供进一步分析处理。
完成以上设置之后,只需执行命令 `docker-compose up -d` 即可启动整个系统架构。此时可以通过浏览器或其他 HTTP 工具访问 http://localhost:9090 来查看由 Prometheus 提供的各种图表展示界面了。
#### 展示效果
一旦成功搭建起这套基于 Prometheus 的监控体系,便能直观地观察到有关 CPU 利用率、内存占用情况以及请求响应延迟等多项关键业务指标的变化趋势图谱。这对于维护人员来说无疑是一大助力,有助于及时发现潜在风险因素并采取预防措施加以规避。
阅读全文
相关推荐



















