(九)一张表搞懂各种 Docker 监控方案
前面我们已经介绍了[ps/top/stats]、[Sysdig]、[Weave Scope]、[cAdvisor]和 [Prometheus]多种容器监控工具和方案,是时候做一个比较了。下面将从五个方面来对比它们之间的优劣。
(1)部署容易度
ps/top/stats 无疑是最容易使用的,它们是 Docker 自带的子命令,随时随地都可以用来快速了解容器的状态。其余几种也都能以容器的方式运行,总的来说都不算复杂。相对而言,Prometheus 涉及的组件比较多,搭建整个方案需要运行的容器数量也要多些,部署和管理的难道稍大。
(2)数据详细度
ps/top/stats 和 cAdvisor 能够监控容器基本的资源使用情况,Sysdig、Weave Scope 和 Prometheus 则能提供更丰富的数据。
(3)多host监控能力
Weave Scope 和 Prometheus 可以监控整个集群,而其余的工具只提供单个 Host 的监控能力。
(4)告警功能
只有 Prometheus 具备原生的告警功能。
(5)监控非容器资源
Sysdig、Weave Scope 和 cAdvisor 可以监控到 Host 操作系统的状态, Prometheus 则可以通过 Exporter 支持应用级别的监控,比如监控 ceph、haproxy 等。
四个方面的比较结果如下表所示。
(6)几点建议
- Docker ps/top/stats 最适合快速了解容器运行状态,从而判断是否需要进一步分析和排查。
- Sysdig 提供了的丰富的分析和挖掘功能,是 Troubleshooting 的神器。
- cAdvisor 一般不会单独使用,通常作为其他监控工具的数据收集器,比如 Prometheus。
- Weave Scope 流畅简洁的操控界面是其最大亮点,而且支持直接在 Web 界面上执行命令。
- Prometheus 的数据模型和架构决定了它几乎具有无限的可能性。Prometheus 和 Weave Scope 都是优秀的容器监控方案。除此之外,Prometheus 还可以监控其他应用和系统,更为综合和全面。
- 监控系统的选择,并不是一道单选题,应该根据需求和实际情况搭配组合,优势互补。除了这里介绍的 5 种工具和方案,监控领域还有很多选项,也都可以考虑。