当 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 命令的参数显示特定的信息,比如 -au

stats

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

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

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

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

最新文章

  1. 相克军_Oracle体系_随堂笔记013-字符集
  2. C语言笔记一
  3. python成长之路-----day1-----作业(登录程序和三级菜单)
  4. AC自动机+全概率+记忆化DP UVA 11468 Substring
  5. 【Oracle】Oracle时间日期格式
  6. python模块的安装
  7. make[1]: *** [pcrecpp.lo] 错误 1
  8. 不安装Oracle客户端使用PL/SQL连接服务器端Oracle
  9. [转载]SQL字符串处理函数大全
  10. gulp+webpack+vue
  11. aspx.cs上传文件
  12. 【Android】获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
  13. COMPUTE子句和Group By
  14. RPC框架--missian框架
  15. 【Java集合系列】目录
  16. 题解——洛谷P3275 [SCOI2011]糖果
  17. linux 乌班图 安装pycharm
  18. Linux_Crontab命令
  19. 2018-2019-20172329 《Java软件结构与数据结构》第五周学习总结
  20. c++builder XE6 Remote Debuger 远程调试

热门文章

  1. JSON取值(key是中文或者数字)方式详解
  2. RESTful学习记录
  3. STM32—无需中断来实现使用DMA接收串口数据
  4. NSMutable属性声明时为什么不能使用copy
  5. 09 Linear Regression
  6. 软工+C(2017第1期) 题目设计、点评和评分
  7. CCNP-3.vlan间路由及三层交换机的配置
  8. oop 第三次作业 文件读写
  9. 团队作业8----第二次项目冲刺(Beta阶段) 第五天
  10. 201521123072《java程序设计》第四次总结