sysdig 是一個輕量級的系統監控工具,同時它還原生支持容器。經過 sysdig 咱們能夠近距離觀察 linux 操做系統和容器的行爲。 Linux 上有不少經常使用的監控工具,好比 strace,tcpdump,htop, iftop,lsof ...... 而 sysdig 則是將這些工具的功能集成到一個工具中,而且提供一個友好統一的操做界面。linux
//安裝和運行sysdig的最簡單方法就是運行docker容器,命令爲:[root@sqm-docker01 ~]# docker run -it --rm --name=sysdig --privileged=true -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/module:ro -v /usr:/host/usr:ro sysdig/sysdignginx
//若是提示下載失敗,運行下邊這條命令: sysdig-probe-loader
能夠看到,sysdig 容器是以 privileged 方式運行,並且會讀取操做系統 /dev,/proc 等數據,這是爲了獲取足夠的系統信息。 啓動後,經過 docker container exec -it sysdig bash 進入容器。git
//成功以後執行 csysdig 命令,將以交互方式啓動 sysdig: root@971f955c2f7b:/# csysdig
進入界面後點擊「F2(Views)」,而後雙擊「Containers」。github
該界面能夠實時監控容器的各類信息:docker
若是想看某個容器運行的進程,好比 nginx,將光標移到目標容器,而後回車或者雙擊。安全
還能夠繼續雙擊查看進程中的線程。bash
返回上一級,按退格鍵便可。 sysdig 的交互功能很強,若是界面顯示的條目不少,能夠點擊底部 Search菜單,而後輸入關鍵字進行查找。以下圖,關鍵字爲 service。ssh
若是以爲界面刷新太快,看不清楚關注的信息,能夠點擊底部 Pause 菜單。 sysdig 的特色以下: 監控信息全,包括 Linux 操做系統和容器。 界面交互性強。tcp
不過 sysdig 顯示的是實時數據,看不到變化和趨勢。並且是命令行操做方式,須要 ssh 到 Host 上執行,會帶來一些不便。ide
Weave Scope 的最大特色是會自動生成一張 Docker 容器地圖,讓咱們可以直觀地理解、監控和控制容器。
1,安裝scope:
在github上下載源代碼: [root@sqm-docker01 ~]# wget https://github.com/weaveworks/scope/archive/v1.11.0.tar.gz
[root@sqm-docker01 ~]# cd /usr/local/bin/scope-1.11.0/ [root@sqm-docker01 ~]# cd /usr/local/bin/scope-1.11.0/ [root@sqm-docker01 scope-1.11.0]# mv scope /usr/local/bin/ [root@sqm-docker01 scope-1.11.0]# chmod +x /usr/local/bin/scope
[root@sqm-docker01 scope-1.11.0]# scope launch
若是如今有多臺dockerhost時,又該如何部署。
(1)下載weave/scope鏡像 [root@sqm-docker02 ~]# docker pull weaveworks/scope
(2)下載v1.11.0源碼包,並進行解壓(該軟件包是支持下面的執行命令)
[root@sqm-docker02 ~]# tar zxf v1.11.0.tar.gz [root@sqm-docker02 ~]# cd scope-1.11.0/ [root@sqm-docker02 scope-1.11.0]# cp scope /usr/local/bin/ [root@sqm-docker02 scope-1.11.0]# chmod +x /usr/local/bin/scope
(3)接下來在docker01上添加監控主機:[root@sqm-docker01 scope-1.11.0]# scope launch 172.16.1.30 172.16.1.31 #注意本機ip在前,其餘主機在後
docker02上相同的操做: [root@sqm-docker02 scope-1.11.0]# scope launch 172.16.1.31 172.16.1.30
訪問網頁:(隨便其中一臺主機的地址都是能夠的)
發現能夠分別監控到兩臺docker主機上所運行的容器。
scope監控針對的是容器的信息,它依賴於防火牆,因此沒法實現遠程控制,且對用戶沒有限制,安全係數較低。
———————— 本文至此結束,感謝閱讀 ————————