1. 程式人生 > >Docker 最常用的監控方案 - 每天5分鐘玩轉 Docker 容器技術(78)

Docker 最常用的監控方案 - 每天5分鐘玩轉 Docker 容器技術(78)

ida 9.png sans 開源 健康 src 適合 nta 示例

當 Docker 部署規模逐步變大後,可視化監控容器環境的性能和健康狀態將會變得越來越重要。

在本章中,我們將討論幾個目前比較常用的容器監控工具和方案,為大家構建自己的監控系統提供參考。

技術分享

首先我們會討論 Docker 自帶的幾個監控子命令:ps, top 和 stats。然後是幾個功能更強的開源監控工具 sysdig, Weave Scope, cAdvisor 和 Prometheus。最後我們會對這些不同的工具和方案做一個比較。

Docker 自帶的監控子命令

ps

docker container ps 是我們早已熟悉的命令了,方便我們查看當前運行的容器。

技術分享

技術分享前面已經有大量示例,這裏就不贅述了。值得註意的是,新版的 Docker 提供了一個新命令 docker container ls,其作用和用法與 docker container ps 完全一樣。不過 ls 含義可能比 ps 更準確,所以更推薦使用。

技術分享

top

如果想知道某個容器中運行了哪些進程,可以執行 docker container top [container] 命令。

技術分享

上面顯示了 sysdig 這個容器中的進程。命令後面還可以跟上 Linux 操作系統

ps 命令的參數顯示特定的信息,比如 -au

技術分享

stats

docker container stats 用於顯示每個容器各種資源的使用情況。

技術分享

默認會顯示一個實時變化的列表,展示每個容器的 CPU 使用率,內存使用量和可用量。

註意:容器啟動時如果沒有特別指定內存 limit,stats 命令會顯示 host 的內存總量,但這並不意味著每個 container 都能使用到這麽多的內存。

除此之外 docker container stats 命令還會顯示容器網絡和磁盤的 IO 數據。

默認的輸出有個缺點,顯示的是容器 ID 而非名字。我們可以在 stats 命令後面指定容器的名稱只顯示某些容器的數據。比如 docker container stats sysdig weave

技術分享

ps,top, stats 這幾個命令是 docker 自帶的,優點是運行方便,很適合想快速了解容器運行狀態的場景。其缺點是輸出的數據有限,而且都是實時數據,無法反應歷史變化和趨勢。接下來要介紹的幾個監控工具會提供更豐富的功能。

下一節我們學習 sysdig。

書籍:
1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html


技術分享

Docker 最常用的監控方案 - 每天5分鐘玩轉 Docker 容器技術(78)