
cAdvisor 使用体验:Docker容器监控神器
## cAdvisor 是什么?
cAdvisor(Container Advisor)是 Google 开源的一个容器监控工具,说白了就是个"体检医生",专门负责检查你的容器们是不是健康,吃了多少内存,CPU 跑得怎么样。
#### 功能特点:
- **零配置启动**:基本上拉个镜像就能用,不需要复杂的配置文件
- **实时监控**:不是那种过几分钟才更新一次的垃圾,是真正的实时
- **Web 界面**:有个还算好看的网页界面,点点鼠标就能看数据
- **资源占用小**:监控工具本身不会吃太多资源
- **支持多种导出**:可以把数据喂给 Prometheus、InfluxDB 等其他工具
https://appstore.lazycat.cloud/#/shop/detail/wcloud.gblw.app.cadvisor
## 快速上手
应用安装后,打开主页面,它就像一个概览仪表盘,把当前服务器的资源使用情况和所有正在运行的容器都列出来了。

/ (root) 这个是整个服务器的全局概览。
Docker Containers 和 Podman Containers
这是 cAdvisor 最核心的功能!它会自动检测你服务器上正在运行的容器引擎。

Docker Containers:如果你点击这个链接,它会列出所有由 Docker 引擎启动的容器。你可以看到每个容器的 ID、名字,以及它们正在使用的资源

Podman Containers:如果你用的是 Podman 而不是 Docker,cAdvisor 也能识别出来。点击这个链接,你就能看到 Podman 启动的所有容器。
点击任何一个容器,你就能进入到那个容器的专属监控页面,看到它详细的 CPU、内存、网络、磁盘等资源使用图表。

Subcontainers
这个部分稍微复杂一点,但你可以把它理解为更细粒度的资源分组。

在 Linux 系统里,资源管理是通过 cgroup (Control Group) 来实现的。cAdvisor 把这些 cgroup 里的资源分组也展示出来了。
/init.scope、/zcapp.slice、/sys_docker.slice 等等,这些都是系统根据不同的服务和进程自动创建的 cgroup。
sys_docker.slice 这个比较常见,它通常代表了 Docker 服务本身和它管理的所有容器。
对普通用户来说,你可能不需要经常关注这个部分。
它主要用于更底层的资源分析和故障排查。如果你发现某个容器有问题,但从容器级别看不出端倪,可以来这里看看它所在的 cgroup 有没有异常。
solation
这个部分展示的是服务器的硬件资源隔离情况。

CPU:Allowed Cores 后面列出的 0 1 2 3 4 5 6 7 表示这个服务器总共有 8 个 CPU 核心(编号从 0 到 7),并且所有的核心都可供使用。
Memory:这里会显示服务器的总内存大小。

纵坐标(Cores):单位是“核心数”。如果 CPU 使用量是 1.0,就意味着它正在消耗一个完整核心的计算资源。如果是 2.0,就是两个核心。
横坐标:是时间轴,显示了 CPU 使用量随时间的变化。
看图中的曲线,它在 1.0 到 2.0 之间上下波动,说明这个容器一直在繁忙工作,平均使用了约 1.5 个核心的计算资源。这个数据非常直观,能让你一眼看出你的应用是不是很“吃”CPU。

蓝色曲线 (Total):
这条线代表了总的内存使用量。它包含了容器(或系统)使用的所有内存,包括应用程序直接使用的、缓存的、以及其他被系统占用的部分。
在图上,蓝色曲线一开始在 13,000 兆字节左右,然后突然降到了 12,400 兆字节左右,之后就保持平稳了。
红色曲线 (Hot):
这条线代表了**“热”内存使用量**,也就是应用程序真正正在使用的、活跃的内存。
在 11:42:20 AM 左右,两条曲线都出现了一个明显的下降。这通常意味着应用程序在这个时间点释放了大量的内存。
## 总结
cAdvisor 确实是个好东西,特别是对于那些想要简单快速监控 Docker 容器的同学。
此 App 尚未收到足够的评分或评论,无法显示评论列表。