1. 程式人生 > >使用cAdvisor監控容器

使用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容器稍後就會停止,檢視日誌

    #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問題產生原因,結果有人發現瞭如下情況:

    我去,名字弄反了,懶得自己弄,接著找解決辦法,如下是找到的解決辦法:

    

    按照上面測試,果真好了。