Docker 最经常使用的监控方案 - 天天5分钟玩转 Docker 容器技术(78)

当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得愈来愈重要。html

在本章中,咱们将讨论几个目前比较经常使用的容器监控工具和方案,为你们构建本身的监控系统提供参考。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 命令的参数显示特定的信息,好比 -auui

stats

docker container stats 用于显示每一个容器各类资源的使用状况。 spa

默认会显示一个实时变化的列表,展现每一个容器的 CPU 使用率,内存使用量和可用量。 操作系统

注意:容器启动时若是没有特别指定内存 limit,stats 命令会显示 host 的内存总量,但这并不意味着每一个 container 都能使用到这么多的内存。 code

除此以外 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


二维码+指纹.png

相关文章
相关标签/搜索