docker 监控之 cadvisor

我们可以使用多种方法监控容器的运行情况,比如EFK等,但是我们仍旧需要一个资源利用率监控系统。这个时候,google开发的cadvisor就可以帮上我们的忙了。

    cadvisor是google创建的用于监控icmtfy容器资源使用情况和性能的软件,cadvisor在宿主机上以容器方式运行。通过挂在本地卷, 它可以监控在同一台主机上运行的所有容器。它还提供了一个本地web界面和API,并且能够将数据存储到InfluxDB,将运行中的容器数据存储到远程 InfluxDB集群。

   1. 首先下载cadvisor容器:

    docker pull google/cadvisor

   2. 执行如下启动命令:

    docker run -v /var/run:/var/run:rw   -v /sys:/sys:ro   -v /var/lib/docker:/var/lib/docker:ro  -p 8080:8080  -d  --name cadvisor   google/cadvisor

   

    3.登陆界面查看:

    使用cAdvisor监控容器-LMLPHP

 

    

   注:

    这时可能会碰到一个小问题,cadvisor容器稍后就会停止,查看日志

    #docker logs cadvisor

    ...

I0119 06:48:46.106313 1 manager.go:231] Version: {KernelVersion:3.10.0-514.2.2.el7.x86_64 ContainerOsVersion:Alpine Linux v3.4 DockerVersion:17.05.0-ce DockerAPIVersion:1.29 CadvisorVersion:v0.28.3 CadvisorRevision:1e567c2}
I0119 06:48:46.188502 1 factory.go:356] Registering Docker factory
I0119 06:48:48.189502 1 factory.go:54] Registering systemd factory
I0119 06:48:48.190978 1 factory.go:86] Registering Raw factory
I0119 06:48:48.192401 1 manager.go:1178] Started watching for new ooms in manager
W0119 06:48:48.192473 1 manager.go:313] Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory
I0119 06:48:48.200747 1 manager.go:329] Starting recovery of all containers
I0119 06:48:48.410494 1 manager.go:334] Recovery completed
F0119 06:48:48.461768 1 cadvisor.go:156] Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory

     接着google问题产生原因,结果有人发现了如下情况:

使用cAdvisor监控容器-LMLPHP

 

    我去,名字弄反了,懒得自己弄,接着找解决办法,如下是找到的解决办法:

    使用cAdvisor监控容器-LMLPHP

    按照上面测试,果真好了。

12-28 20:04