docker監控方案

神祕玩家Y發表於2020-11-09

Docker監控方案
docker中有幾個自帶的監控方案:sysdig、uifd、scope

sysdig是命令列介面的監控,而後兩者是web頁面的圖形化監控

日後,作者將會去研究普魯米修斯的容器監控

sysdig容器監控的下載使用
下載
[root@localhost ~]# docker pull sysdig/sysdig
使用
執行之前需要讓主機中的所有資料對映到該容器內

[root@localhost ~]# docker run -itd --rm --name sysdig --privileged=true
–volume /var/run/docker.sock:/host/var/run/docker.sock
–volume /dev:/host/dev --volume /proc:/host/proc:ro
–volume /boot:/host/boot:ro
–volume /lib/modules:/host/lib/modules:ro
–volume /usr/:/host/usr:ro sysdig/sysdig

d4ab4efbe108a9b626e9cd55af6059efccda761233243d30e008740272270397
進入容器

[root@localhost ~]# docker exec -it sysdig bash
root@d4ab4efbe108:/
啟動容器並進入之後,sysdig還會在繼續載入一些東西,如果網慢的朋友,第一次執行下面的操作報錯時,請刪除容器,重新執行,並等待一段時間

root@d4ab4efbe108:/# csysdig
接下來就會進入如下的介面
在這裡插入圖片描述

sysdig1

容器監控
按q可以直接退出,因為現在沒有容器在執行,所以退出先執行幾個容器

[root@localhost ~]# docker run -itd --name web1 httpd
0a9397f90828e526c32f472848dd9c01f384bef15bfecd783cee3a024fc5fe7a
[root@localhost ~]# docker run -itd --name web2 httpd
d53969e159ba30c58ad2c8529d0f45f7ffa2bb735f896c9ec6a0fa7f66a58a67
[root@localhost ~]# docker run -itd --name web3 httpd
1a91df06daec5ab941fe5aa99f065de061c0c30e55bb951af7de8c3dfcd3c7ca
執行了三個web容器,然後進入sysdig繼續檢視

[root@localhost ~]# docker exec -it sysdig bash
root@d4ab4efbe108:/# csysdig
進入監控介面之後的畫面的下方,有提示按鍵,F1幫助,F2編輯(可以檢視監控型別)

按F2進入如圖,檢視containers檢視所執行的容器
在這裡插入圖片描述

sysdig2

監控到的容器對各項硬體的使用情況

還可以通過選擇哪一個容器來檢視容器所使用的程式

在這裡插入圖片描述

sysdig3

鑑於其他操作,這裡不多說,請查閱其他資料

uifd容器監控的下載使用
至今貌似有四年沒有更新了

下載
[root@localhost ~]# docker pull uifd/ui-for-docker
使用
執行容器

[root@localhost ~]# docker run -itd --name docker-web -p 9000:9000
–volume /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
752374c0676f2fbc901e1a853fc05481199ec46b2049083b62a7e5c5b27e9a1a
我在執行容器是報了防火牆策略的錯誤如下

docker: Error response from daemon: driver failed programming external
connectivity on endpoint docker-web
(2c7ed23aa1f5caf36b8961b9754ee5c2fbb67063732b583f2f6ca40c533a989f):
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport
9000 -j DNAT --to-destination 172.17.0.6:9000 ! -i docker0: iptables:
No chain/target/match by that name.
這是因為防火牆策略造成的,而我本身的防火牆是關著的,所以要將防火牆先啟用

systemctl start firewalld
iptables -F # 清空防火牆策略
iptables-save # 儲存
管理容器
這是可以使用本機對映到的埠號訪問,ui介面

看不懂英文的可以直接使用谷歌瀏覽器翻譯,或者其他瀏覽器的頁面翻譯功能即可

如圖顯示的Running Container就是正在執行的幾個容器
在這裡插入圖片描述

在介面中可以直接對容器進行操作,隨便點選進入一個容器的操作介面

可以對容器進行停止/殺死/掛載/重啟/構建映象/重新命名等操作
在這裡插入圖片描述

在該介面的最下方可以將容器刪除,前提是必須先stop停止容器執行,點選stop
在這裡插入圖片描述

較比之前已經少了一個容器,我刪除了bbox1

在這裡插入圖片描述

管理容器網路
通過點選上方的Container Network可以檢視到使用docker網路的所有容器
在這裡插入圖片描述

管理映象
可以檢視到docker下載的所有映象
在這裡插入圖片描述

也可以使用pull進行下載,可以指定下載源和版本

在這裡插入圖片描述

docker網路
可以檢視到docker network ls檢視到的幾塊網路卡,也可以進行新增網路卡

在這裡插入圖片描述

等還有一些操作,自己可以研究

scope容器監控的下載使用
下載
[root@localhost ~]# curl -L git.io/scope -o /usr/local/bin/scope
[root@localhost ~]# chmod +x /usr/local/bin/scope
使用
[root@localhost ~]# scope launch

  • http://192.168.122.1:4040/
  • http://192.168.1.11:4040/
    執行完成後的URL可以直接訪問進行容器監控
    在這裡插入圖片描述

實時監控
增加一個容器

[root@localhost ~]# docker run -itd --name c1 centos
771ff705f0fdbc5d91bd7cae7891c12b8c93c4eaec106f225ad53543178f4f34
頁面不需要重新整理,會自動增加該容器
在這裡插入圖片描述

當如圖所示,選擇記憶體時,滑鼠放到圖中的小格子,可以檢視到記憶體使用率,同樣cpu也是
在這裡插入圖片描述

通過如圖的這塊區域可以檢視,執行容器使用的映象,使用的物理機,使用weave網路的容器等等
在這裡插入圖片描述

終端登入容器
剛才執行了一個centos的c1容器,可以點選檢視詳情

c1詳情的下方,一排可以進行終端登入,重啟,掛起等操作
在這裡插入圖片描述

登入終端你操作
在這裡插入圖片描述

安裝了一個iproute之後,顯示容器已經可以連線網路

在這裡插入圖片描述

相關文章