簡單實用的容器監控命令——Ctop

每周一、三、五 與您不見不散

Ctop是一個新的基於命令行的工具,它可用於在容器層級間監控進程。容器通過利用控制器組(cgroup)的資源管理功能,提供了操作系統層級的虛擬化環境。該工具從cgroup收集與內存、CPU、Rx / Tx的相關數據,以及擁有者、開機時間等元數據,並以人性化的格式呈現給用戶,這樣就可以快速對系統健康狀況進行評估。基於所獲得的數據,它可以嘗試推測下層的容器技術。Ctop也有助於在低內存環境中檢測出誰在消耗大量的內存。


如果您選擇了Docker作為您的容器服務平台,那麼您一定體驗過用它創建和部署容器是一件多麼簡單的事情。有可能您已經在您網路上運行了很多容器。但是,您知道這些容器的性能狀況嗎?如果您熟悉Linux,您可能希望有一個專門針對容器(類似於top / htop命令)的應用程序出現來幫助您監控容器。

Advertisements

沒錯,是有這樣一款監控容器的應用程序,您可以在Github上找到的一款叫做ctop的開源工具。有了這個應用程序,您就可以快速監控容器內容,包括它們的名稱、ID、CPU、內存和網路Rx / Tx數據。 Ctop甚至允許過濾您正在查看的內容,並給您提供一個選擇容器的擴展視圖。雖然它可能不會提供大量的功能,但是它完全可以勝任監控容器的這項工作,並做得很好。該工具易於安裝,且方便使用。我將在Ubuntu 16.04平台上進行演示(您幾乎可以將ctop安裝到任何的Linux發行版上)。


安裝

安裝ctop有兩種方式:一種是以容器的方式安裝,一種是以應用程序的方式安裝。首先,我們將ctop作為容器安裝到您的計算機上。因此,需要您登錄到您的容器伺服器併發出以下命令來部署ctop容器:

Advertisements

docker run -ti -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest

該命令將下載所需的鏡像然後部署容器,並帶您進入該應用程序中。要退出ctop,請按[Ctrl] + [x]組合鍵。以容器的方式使用ctop時,需要您每次都輸入上述命令,是不是感到有些麻煩呢?接下來我將向您介紹另一種更簡單的方式來使用ctop。

我們可以將ctop作為本地應用程序進行安裝。為此,我們將從Github下載可執行文件,將其移入/ usr / local / bin文件夾中,並使用以下命令為其提供必要的許可權:

wget https://github.com/bcicen/ctop/releases/download/v0.4.1/ctop-0.4.1-linux-amd64 -O ctop

sudo mv ctop /usr/local/bin/

sudo chmod +x /usr/local/bin/ctop

此時,您可以隨時使用ctop命令來啟動ctop了,是不是很方便呢。


使用方法

使用ctop很非常簡單。一旦您打開ctop (如圖A所示),您將看到一個顯示所有當前活動容器的列表。

圖A:三個正在運行的容器,其使用情況一目了然

正如您所看到的,我的一個名為wonderful_stallman的容器使用了1.37 GB的內存。這個特定的容器是Only Office的一個實例,所以它會使用更多的資源。但是,它幾乎佔用了我的虛擬機裡面所有的系統資源,所以我可能會考慮將這個容器遷移到一個更強大的虛擬機。

使用ctop,您可以輕鬆地過濾您的容器。假設您的伺服器上有大量容器存在,並且希望檢查特定部署的資源使用情況。您可以打開ctop,並按下鍵盤上的f鍵打開過濾器(如圖B所示)。

圖B:過濾器已經準備就緒

輸入容器的名稱,ctop將顯示與過濾器匹配的結果。當您的Docker伺服器託管多個容器時,這是非常有用的。要清除過濾器,只需再次按下f鍵,然後按下Enter鍵即可。

如果您從容器列表中選擇一個容器並按下了Enter鍵,您將會在一個方便閱讀的新窗口看到更多信息(如圖C所示)。

圖C:展開關於OnlyOffice容器的詳細信息

要退出這個方便閱讀的新窗口,請按下q鍵。如果要退出ctop,請再次按下q鍵,返回bash界面。


足夠的信息

這就是在Linux上使用ctop來查看容器詳細信息的要點。這個工具不能提供大量的信息,但它會給您提供足夠的信息來監控容器的運行狀況。Ctop很容易成為排除Docker容器故障的第一道防線。

Advertisements

你可能會喜歡