prometheus监控docker的指标
时间: 2025-05-29 18:00:57 浏览: 14
### 使用 Prometheus 监控 Docker 容器的关键指标
为了实现对 Docker 容器的有效监控,通常需要借助 cAdvisor 工具以及 Prometheus 的集成能力。以下是具体的实施方法:
#### 1. 部署 cAdvisor
cAdvisor 是 Google 开源的一个容器资源监控和性能分析工具,能够自动发现主机上的所有容器并采集其资源使用情况[^5]。
安装 cAdvisor 可以通过以下命令完成:
```bash
docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8080:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor:latest
```
启动完成后,访问 `http://<your-server-ip>:8080` 即可查看当前服务器上运行的所有容器及其资源使用情况。
#### 2. 配置 Prometheus 抓取数据
Prometheus 支持从多个 Exporter 中抓取数据,其中也包括来自 cAdvisor 提供的数据接口。在 Prometheus 的配置文件 (`prometheus.yml`) 中添加如下内容即可让 Prometheus 去定期拉取 cAdvisor 数据:
```yaml
scrape_configs:
- job_name: 'cadvisor'
static_configs:
- targets: ['localhost:8080']
```
保存修改后的配置文件后重启 Prometheus 实例使其生效。
#### 3. 查看关键指标
一旦成功设置好上述组件之间的连接关系,则可以在 Prometheus UI 或者 Grafana 上查询到关于各个容器的重要指标信息,比如 CPU 利用率、内存占用量、网络吞吐等等[^4]。一些常用的 PromQL 查询语句如下所示:
- 获取某个特定容器的平均CPU利用率百分比:`avg(rate(container_cpu_usage_seconds_total{image!="",container_label_com_docker_swarm_service_name=~".+"}[1m])) * 100 by (container_label_com_docker_swarm_service_name)`
- 统计每秒写入磁盘字节数总和:`sum(rate(container_fs_writes_bytes_total[1m])) by(instance)`
#### 4. 接入可视化平台(Grafana)
对于更直观地展示这些数据而言,推荐将 Prometheus 连接到 Grafana 并导入官方提供的现成模板dashboard来进行进一步定制化显示效果[^3]。例如可以尝试这个链接中的Dashboard ID创建对应视图 https://grafana.com/grafana/dashboards/10619-docker-host-container-overview/
---
###
阅读全文
相关推荐


















