找回密码
 立即注册
首页 业界区 安全 docker服务监控之cAdvisor

docker服务监控之cAdvisor

狭宁 6 天前
概述

cAdvisor(Container Advisor)是谷歌开源的一款容器资源监控工具,它可以收集容器的 CPU、内存、磁盘 I/O、网络等资源使用情况的信息,并提供了一个直观的 Web 界面来展示这些数据,方便用户快速了解容器的运行状态。
特点


  • 资源监控:能实时监控容器的各项资源使用情况,包括 CPU 使用率、内存使用量、磁盘读写速率、网络带宽等。例如,通过它可以查看某个容器是否占用了过多的 CPU 资源,导致其他容器运行缓慢。
  • 容器拓扑结构展示:可以展示容器之间的关系以及它们与宿主机的关系,使用户清晰地了解容器的部署情况。
  • 历史数据存储与查询:支持将监控数据存储到后端数据库中,如 InfluxDB,以便用户查询历史数据,分析容器资源使用的趋势。
  • 支持多种运行环境:不仅支持 Docker 容器,还能用于其他容器化技术,如 runc、systemd-nspawn 等,具有很强的通用性。
工作原理

cAdvisor 通过收集宿主机和容器的相关信息来实现监控功能。它利用了 Linux 系统的 cgroups(控制组)来获取容器的资源使用数据。cgroups 为每个容器分配了独立的资源限制和统计信息,cAdvisor 通过读取这些信息来了解容器对 CPU、内存、磁盘等资源的使用情况。同时,它还利用了 Linux 的网络协议栈来收集网络相关的统计数据。
部署cAdvisor监控Docker

这里不要使用Google的cadvisor,否则会报
  1. F0501 07:18:47.974792       1 cadvisor.go:146] Failed to create a Container Manager: mountpoint for cpu not found
复制代码
我这里使用lagoudocker/cadvisor:v0.37.0解决的
  1. # 运行容器
  2. [root@lb ~]# docker run \
  3.   --volume=/:/rootfs:ro \
  4.   --volume=/var/run:/var/run:ro \
  5.   --volume=/sys:/sys:ro \
  6.   --volume=/var/lib/docker/:/var/lib/docker:ro \
  7.   --volume=/dev/disk/:/dev/disk:ro \
  8.   --publish=8080:8080 \
  9.   --detach=true \
  10.   --name=cadvisor \
  11.   --privileged \
  12.   --device=/dev/kmsg \
  13.   lagoudocker/cadvisor:v0.37.0
  14. # 查看
  15. [root@lb ~]# docker ps -a
  16. CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                            PORTS                                         NAMES
  17. b1d70b85c056   lagoudocker/cadvisor:v0.37.0          "/usr/bin/cadvisor -…"   6 seconds ago    Up 6 seconds (health: starting)   0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp   cadvisor
复制代码
直接访问http://10.0.0.10:8080/
1.png


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册