第 10 章 容器监控 - 078 - Docker 最常用的监控方案

时间:2021-03-23 22:46:55

Docker 最常用的监控方案

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

Docker 自带的几个监控子命令:

ps 、top 、stats

功能更强的开源监控工具:

sysdig 、Weave Scope 、 cAdvisor 、Prometheus

Docker 自带的监控子命令 ---ps

docker container ps    查看当前运行的容器

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。

docker container ls

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

Docker 自带的监控子命令 ---top

执行 docker container top [container] 命令可以知道某个容器中运行了哪些进程

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

上面显示了 web1 这个容器中的进程。

命令后面还可以跟上 Linux 操作系统 ps 命令的参数显示特定的信息,比如 -au。

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

Docker 自带的监控子命令 --- stats

docker container stats 用于显示每个容器各种资源的使用情况

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

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

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

除此之外 docker container stats 命令还会显示容器网络和磁盘的 IO 数据。

默认的输出有个缺点,显示的是容器 ID 而非名字。

我们可以在 stats 命令后面指定容器的名称只显示某些容器的数据。

比如 docker container stats web1

第 10 章 容器监控 - 078 - Docker 最常用的监控方案

Docker 自带的监控子命令的对比

优点:优点是运行方便,很适合想快速了解容器运行状态的场景

缺点:输出的数据有限,而且都是实时数据,无法反应历史变化和趋势

----------------------------------------引用来自-------------------------------------------------------

https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587919&idx=1&sn=a6df5c5510c9ad6dd3dd36927d74788b&chksm=8d3081d6ba4708c06e7366b2b9f6317e182300e28b20ec37f994543f73f30e88c4b91f1aa9f0&scene=21#wechat_redirect