前面我們已經介紹了ps/top/stats、Sysdig、Weave Scope、cAdvisor 和 Prometheus 多種容器監控工具和方案,是時候做一個比較了。下面将從五個方面來對比它們之間的優劣。
部署容易度
ps/top/stats 無疑是最容易使用的,它們是 Docker 自帶的子指令,随時随地都可以用來快速了解容器的狀态。其餘幾種也都能以容器的方式運作,總的來說都不算複雜。相對而言,Prometheus 涉及的元件比較多,搭建整個方案需要運作的容器數量也要多些,部署和管理的難道稍大。
資料詳細度
ps/top/stats 和 cAdvisor 能夠監控容器基本的資源使用情況,Sysdig、Weave Scope 和 Prometheus 則能提供更豐富的資料。
多 Host 監控
Weave Scope 和 Prometheus 可以監控整個叢集,而其餘的工具隻提供單個 Host 的監控能力。
告警功能
隻有 Prometheus 具備原生的告警功能。
監控非容器資源
Sysdig、Weave Scope 和 cAdvisor 可以監控到 Host 作業系統的狀态, Prometheus 則可以通過 Exporter 支援應用級别的監控,比如監控 ceph、haproxy 等。
四個方面的比較結果如下表所示。

Docker ps/top/stats 最适合快速了解容器運作狀态,進而判斷是否需要進一步分析和排查。
Sysdig 提供了的豐富的分析和挖掘功能,是 Troubleshooting 的神器。
cAdvisor 一般不會單獨使用,通常作為其他監控工具的資料收集器,比如 Prometheus。
Weave Scope 流暢簡潔的操控界面是其最大亮點,而且支援直接在 Web 界面上執行指令。
Prometheus 的資料模型和架構決定了它幾乎具有無限的可能性。Prometheus 和 Weave Scope 都是優秀的容器監控方案。除此之外,Prometheus 還可以監控其他應用和系統,更為綜合和全面。
監控系統的選擇,并不是一道單選題,應該根據需求和實際情況搭配組合,優勢互補。除了這裡介紹的 5 種工具和方案,監控領域還有很多選項,也都可以考慮。
好了,容器監控這個主題就讨論完了,下一節我們開始學習日志管理。
書籍:
1.《每天5分鐘玩轉Docker容器技術》
<a href="https://item.jd.com/16936307278.html" target="_blank">https://item.jd.com/16936307278.html</a>
2.《每天5分鐘玩轉OpenStack》
<a href="https://item.jd.com/12086376.html" target="_blank">https://item.jd.com/12086376.html</a>