关于cAdvisor的使用,我们知道,容器相比较云主机最大的优势是可以共享资源,也就是可以较云主机创建更多的容器协同工作,当然,这么多容器如何统一管理,运维监控可能是我们需要关注的话题,接下来就介绍一下一个比较好的容器监控工具。
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
--restart=always
google/cadvisor:latest
在执行以上命令后,用命令docker logs -f cadvisor 查看容器日志,发现以下错误:
I0201 16:19:01.328082 1 manager.go:231] Version: {KernelVersion:3.10.0-693.el7.x86_64 ContainerOsVersion:Alpine Linux v3.4 DockerVersion:Unknown DockerAPIVersion:Unknown CadvisorVersion:v0.28.3 CadvisorRevision:1e567c2}
I0201 16:19:03.329452 1 factory.go:54] Registering systemd factory
I0201 16:19:03.330594 1 factory.go:86] Registering Raw factory
I0201 16:19:03.331461 1 manager.go:1178] Started watching for new ooms in manager
W0201 16:19:03.331504 1 manager.go:313] Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory
I0201 16:19:03.342444 1 manager.go:329] Starting recovery of all containers
I0201 16:19:03.460143 1 manager.go:334] Recovery completed
F0201 16:19:03.460179 1 cadvisor.go:156] Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory
在查找相关资料后发现
这是最新版cAdvisor的bug,换成版本为google/cadvisor:v0.24.1 就ok了
docker run
--volume=/:/rootfs:ro
--volume=/var/run:/var/run:rw
--privileged=true
--volume=/sys:/sys:ro
--volume=/var/lib/docker/:/var/lib/docker:ro
--publish=8080:8080
--detach=true
--name=cadvisor
--restart=always
google/cadvisor:v0.24.1
注意:
当点击 Docker Containers 时,显示“Cannot connect to the Docker daemon. Is the docker daemon running on this host?"错误的信息时,这时因为访问容器没有root权限,加上参数: --privileged=true ,再次运行命令,访问就可以访问了
访问地址:http://your_ip:8080 ,就可以看到以下界面