Auto-sync: 2026-04-27 00:02

This commit is contained in:
2026-04-27 00:02:56 +08:00
parent 997e25aae6
commit 23bef113dd
30 changed files with 1454 additions and 1037 deletions

View File

@@ -1,67 +1,48 @@
---
title: "cAdvisor"
type: entity
aliases: [cAdvisor, Container Advisor, Google cAdvisor]
tags: [monitoring, container, docker, prometheus, kubernetes]
date: 2025-11-11
---
# cAdvisor
## Overview
cAdvisorContainer Advisor是 Google 开源的容器资源监控工具,专门为 Docker 容器提供资源使用和性能指标的采集。它能自动发现机器上运行的所有容器,收集包括 CPU、内存、网络、磁盘 I/O 在内的各项资源指标,并暴露 Prometheus 格式的 `/metrics` 端点。
## Key Characteristics
- **自动发现**:自动发现并监控机器上所有 Docker 容器,无需手动配置
- **容器层级指标**:单容器粒度的资源使用数据
- **历史数据**:支持容器级别的资源历史趋势
- **Docker Socket 依赖**:需要挂载 `/var/run/docker.sock` 访问容器运行时信息
## Key Metrics Collected
| 分类 | 指标前缀 | 说明 |
|------|----------|------|
| CPU | `container_cpu_usage_seconds_total` | 容器 CPU 使用时间 |
| 内存 | `container_memory_usage_bytes` | 容器内存使用量 |
| 网络 | `container_network_receive_bytes_total` | 网络接收字节 |
| 磁盘 | `container_fs_reads_bytes_total` | 磁盘读取字节 |
| 进程 | `container_tasks` | 容器内任务/进程数 |
| 重启 | `container_restart_count` | 容器重启次数 |
| 资源限制 | `container_spec_memory_limit_bytes` | 内存限制值 |
## Home Server Deployment
```yaml
# docker-compose.yml 片段
cadvisor:
image: gcr.io/cadvisor/cadvisor:latest
container_name: cadvisor
restart: always
ports:
- "8080:8080" # 暴露 metrics 端点
volumes:
- /:/rootfs:ro # 根文件系统
- /var/run:/var/run:ro # Docker socket 目录
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro # Docker 存储
```
> ⚠️ **安全注意**:挂载 Docker socket`/var/run/docker.sock`)授予容器等同于宿主机 root 的权限。审慎评估风险,仅在内网可信环境中使用。
## Prometheus scrape_config
```yaml
- job_name: 'cadvisor'
static_configs:
- targets: ['cadvisor:8080']
```
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
## Related Entities
- [[Prometheus]] — 数据消费者
- [[Docker]] — 容器运行时依赖
- [[node_exporter]] — 互补的主机层指标
## Related Concepts
- [[Exporter]] — Prometheus 生态组件
- [[容器资源限制]] — 容器 OOM / CPU 限制配置
- [[System Monitoring]] — 应用领域
---
title: "cAdvisor"
type: entity
tags: [monitoring, container, docker, prometheus, devops]
last_updated: 2026-04-26
---
## cAdvisor — Google 容器指标采集器
**官方网址:** https://github.com/google/cadvisor
**类型:** 开源项目 / 容器监控工具
**别名:**
- cadvisor
- Google cAdvisor
- Container Advisor
---
## Overview
cAdvisor 是 Google 开发的容器监控工具自动采集单个节点上运行的所有容器的资源使用情况CPU、内存、网络、磁盘 I/O并以 Prometheus 可抓取的格式暴露指标。
**采集指标示例:**
- `container_cpu_usage_seconds_total` — 容器 CPU 使用
- `container_memory_usage_bytes` 容器内存使用
- `container_network_receive_bytes_total` 容器网络接收
- `container_last_seen` — 容器最后活跃时间
- `container_restart_total` — 容器重启次数
**典型部署:**
- Docker: `gcr.io/cadvisor/cadvisor:latest`
- 端口:`8080`
- 需要挂载:`/var/run`Docker socket`/sys``/var/lib/docker/`
**关键告警规则示例:**
- 容器异常退出: `increase(container_last_seen[5m]) == 0`(容器未上报即可能已退出)
**安全注意:** 需审慎挂载 Docker socket权限等同于宿主机 root
---
## Used By
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]
## Related Sources
- [[家庭监控方案-prometheus-grafana-node-exporter-cadvisor-blackbox]]