本節(jié)介紹Weave Scope,WeaveScope是一款開源項(xiàng)目,項(xiàng)目地址:https://github.com/weaveworks/scope。Weave Scope會自動生成容器之間的關(guān)系圖,方便理解容器之間的關(guān)系,也方便監(jiān)控容器化和微服務(wù)化的應(yīng)用。
Weave Scope的安裝步驟:(前提已安裝Docker)
下載scope的二進(jìn)制安裝文件:
curl -L git.io/scope -o /usr/local/bin/scope(本質(zhì)上就是一個shell腳本,感興趣的讀者可以下載后查看)
賦予可執(zhí)行權(quán)限:
chmod a+x /usr/local/bin/scope
啟動scope:? ? ? ? ? ? ? ? ? ? ? ? ?
scope launch
該scope腳本將從DockerHub上下載Scope鏡像并啟動容器。
scope的其它命令可以通過scope help查詢。
根據(jù)scope launch最后的提示,瀏覽器輸入http://192.168.1.108:4040/,進(jìn)入weavescope頁面。可以對PROCESS、CONTAINERS、HOSTS分別以圖形和圖表的形式列出。
對于圖形界面:
其中:
PROCESS可以按照NAME顯示;
CONTAINERS可以按照DNS NAME和IMAGE顯示;
HOSTS可以按照WEAVENET網(wǎng)絡(luò)顯示。
左上角區(qū)域:提供搜索功能
左下角區(qū)域:對顯示的對象按照不同的條件進(jìn)行過濾顯示。比如CONTAINERS可以選擇系統(tǒng)容器還是應(yīng)用容器,運(yùn)行的容器還是停止的容器等等。
右上角區(qū)域:live和pause,分別表示監(jiān)控的是實(shí)時的資源,還是幾秒鐘之前的,兩者之間可以切換。
右下角區(qū)域:+/-可以對中間區(qū)域的對象進(jìn)行放大和縮??;在下面提供頁面重載、頁面加深、HELP等功能。
對于圖表界面:
下面分別對PROCESS、CONTAINERS和HOSTS分別說明:
(1)? PROCESS
點(diǎn)擊scope-probe后會顯示該進(jìn)程的詳細(xì)信息,包括:
1、STATUS(CPU、MEMORY、OPENFILES)
2、INFO(PID、COMMAND、PARENTPID、THREADS)
3、INBOUND
4、OUTBOUND
(2)CONTAINERS
點(diǎn)擊后顯示cadvisor容器的詳細(xì)信息,包括:
1、STATUS(CPU、MEMORY)
2、INFO(IMAGE、COMMAND、STATE、NETWORKS、UPTIME、RESTART、IPS、PORTS、CREATED、ID)
3、INBOUND
4、OUTBOUND
5、PROCESS
6、ENVIRONMENTVARIABLES(PATH)
7、DOCKER LABELS(MAINTAINER、WORKS WEAVE ROLE)
8、IMAGE(ID、NAME、SIZE、VIRTUAL SIZE)
另外,還包括對容器的控制,從左至右依次為attch、exec shell、restart、pause、stop,如果執(zhí)行了pause還會有unpause,執(zhí)行了stop還會有start、remove
等價于docker attach
等價于docker exec
等價于docker restart
等價于docker pause
等價于docker stop
等價于docker unpause
等價于docker start
等價于docker rm
(3)HOSTS
點(diǎn)擊Ubuntu-001
遠(yuǎn)程shell登錄Ubuntu-001主機(jī)
在下面,包括Ubuntu-001主機(jī)的詳細(xì)信息,包括:
1、STATUS(CPU、MEMORY、LOAD)
2、 INFO(KERNEL VERSION、UPTIME、HOSTNAME、OS、LOCALNETWORKS、SCOPE VERSION)
3、INBOUND
4、OUTBOUND
5、CONTAINERS(CPU、MEMORY)
6、PROCESSES(PID、CPU、MEMORY)
7、CONTAINER IMAGES
下一節(jié),我們來研究下weavescope如何實(shí)現(xiàn)多主機(jī)監(jiān)控。