監控利器 sysdig - 天天5分鐘玩轉 Docker 容器技術(79)

sysdig 是一個輕量級的系統監控工具,同時它還原生支持容器。經過 sysdig 咱們能夠近距離觀察 linux 操做系統和容器的行爲。linux

Linux 上有不少經常使用的監控工具,好比 strace,tcpdump,htop, iftop,lsof ......docker

而 sysdig 則是將這些工具的功能集成到一個工具中,而且提供一個友好統一的操做界面。bash

下面咱們將演示 sysdig 強大的監控能力。ssh

安裝和運行 sysdig 的最簡單方法是運行 Docker 容器,命令行爲:tcp

docker container run -it --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 \code

          --volume=/lib/modules:/host/lib/modules:ro \

          --volume=/usr:/host/usr:ro \

          sysdig/sysdig

 

 

能夠看到,sysdig 容器是以 privileged 方式運行,並且會讀取操做系統 /dev/proc 等數據,這是爲了獲取足夠的系統信息。

啓動後,經過 docker container exec -it sysdig bash 進入容器,執行 csysdig 命令,將以交互方式啓動 sysdig。

這是一個相似 linux top 命令的界面,但要強大太多。sysdig 按不一樣的 View 來監控不一樣類型的資源,點擊底部 Views 菜單(或者按 F2),顯示 View 選擇列表。

界面左邊列出了 sysdig 支持的 View,一共 30 多項,涵蓋了操做系統的各個方面,由於這裏主要是討論容器監控,因此咱們將光標移到 Containers這一項,界面右邊當即顯示出此 View 的功能介紹。

回車或者雙擊 Containers,進入容器監控界面。

sysdig 會顯示該 Host 全部容器的實時數據,每兩秒刷新一次。各列數據的含義也是自解釋的,若是不清楚,能夠點一下底部 Legend(或者按 F7)。若是想按某一列排序,好比按使用的內存量,很簡單,點一下列頭 VIRT

若是想看某個容器運行的進程,好比 weavescope,將光標移到目標容器,而後回車或者雙擊。

還能夠繼續雙擊查看進程中的線程。

返回上一級,按退格鍵便可。

sysdig 的交互功能很強,若是界面顯示的條目不少,能夠點擊底部 Search菜單,而後輸入關鍵字進行查找。以下圖,關鍵字爲 service

若是以爲界面刷新太快,看不清楚關注的信息,能夠點擊底部 Pause 菜單。

sysdig 的特色以下:

  1. 監控信息全,包括 Linux 操做系統和容器。

  2. 界面交互性強。

不過 sysdig 顯示的是實時數據,看不到變化和趨勢。並且是命令行操做方式,須要 ssh 到 Host 上執行,會帶來一些不便。下一節介紹的 Weave Scope 在這方面彷佛提供了更好的解決方案。 

相關文章
相關標籤/搜索