当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越重要。
在本章中,我们将讨论几个目前比较常用的容器监控工具和方案,为大家构建自己的监控系统提供参考。
首先我们会讨论 Docker 自带的几个监控子命令:ps, top 和 stats。然后是几个功能更强的开源监控工具 sysdig, Weave Scope, cAdvisor 和 Prometheus。最后我们会对这些不同的工具和方案做一个比较。
ps
是我们早已熟悉的命令了,方便我们查看当前运行的容器。
top
如果想知道某个容器中运行了哪些进程,可以执行命令。
上面显示了 sysdig 这个容器中的进程。命令后面还可以跟上 Linux 操作系统命令的参数显示特定的信息,比如。
stats
用于显示每个容器各种资源的使用情况。
默认会显示一个实时变化的列表,展示每个容器的 CPU 使用率,内存使用量和可用量。
注意:容器启动时如果没有特别指定内存 limit,stats 命令会显示 host 的内存总量,但这并不意味着每个 container 都能使用到这么多的内存。
除此之外命令还会显示容器网络和磁盘的 IO 数据。
默认的输出有个缺点,显示的是容器 ID 而非名字。我们可以在命令后面指定容器的名称只显示某些容器的数据。比如。
ps,top, stats 这几个命令是 docker 自带的,优点是运行方便,很适合想快速了解容器运行状态的场景。其缺点是输出的数据有限,而且都是实时数据,无法反应历史变化和趋势。接下来要介绍的几个监控工具会提供更丰富的功能。
下一节我们学习 sysdig。
书籍:
1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html