经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Docker » 查看文章
容器网络(十)Docker 最常用的监控方案【73】
来源:cnblogs  作者:cuiyongchao007  时间:2021/1/4 9:07:59  对本文有异议

十、监控

(一)Docker 最常用的监控方案

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

在本章中,我们将讨论几个目前比较常用的容器监控工具和方案,为大家构建自己的监控系统提供参考。

首先我们会讨论 Docker 自带的几个监控子命令:ps, top 和 stats。然后是几个功能更强的开源监控工具 sysdig, Weave Scope, cAdvisor 和 Prometheus。最后我们会对这些不同的工具和方案做一个比较。

(1)Docker 自带的监控子命令

  • ps

    docker container ps 是我们早已熟悉的命令了,方便我们查看当前运行的容器。

    1. root@ubuntu-01:~# docker container ps
    2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    3. root@ubuntu-01:~#

前面已经有大量示例,这里就不赘述了。值得注意的是,新版的 Docker 提供了一个新命令 docker container ls,其作用和用法与 docker container ps 完全一样。不过 ls 含义可能比 ps 更准确,所以更推荐使用。

  1. root@ubuntu-01:~# docker container ls
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  3. root@ubuntu-01:~#
  • top

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

  1. root@ubuntu-01:~# docker container top bbox2
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 45037 45010 0 10:34 pts/0 00:00:00 sh
  4. root@ubuntu-01:~#

上面显示了 bbox2 这个容器中的进程。命令后面还可以跟上 Linux 操作系统 ps 命令的参数显示特定的信息,比如 -au

  1. root@ubuntu-01:~# docker container top bbox2 -au
  2. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  3. root 45037 0.1 0.0 1320 4 pts/0 Ss+ 10:34 0:00 sh
  4. root@ubuntu-01:~#
  • stats

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

    1. root@ubuntu-01:~# docker container stats
    2. CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    3. 555e99376d37 bbox2 0.00% 976KiB / 1.924GiB 0.05% 1.26kB / 0B 0B / 0B 1
    4. CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    5. 555e99376d37 bbox2 0.00% 976KiB / 1.924GiB 0.05% 1.26kB / 0B 0B / 0B 1
    6. CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    7. 555e99376d37 bbox2 0.00% 976KiB / 1.924GiB 0.05% 1.26kB / 0B 0B / 0B 1
    8. CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    9. 555e99376d37 bbox2 0.00% 976KiB / 1.924GiB 0.05% 1.26kB / 0B 0B / 0B 1
    10. CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    11. 555e99376d37 bbox2 0.00% 976KiB / 1.924GiB 0.05% 1.26kB / 0B 0B / 0B 1
    12. ^C
    13. root@ubuntu-01:~#

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

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

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

    默认的输出有个缺点,显示的是容器 ID 而非名字。我们可以在 stats 命令后面指定容器的名称只显示某些容器的数据。比如 docker container stats sysdig weave

    ps,top, stats 这几个命令是 docker 自带的,优点是运行方便,很适合想快速了解容器运行状态的场景。其缺点是输出的数据有限,而且都是实时数据,无法反应历史变化和趋势。接下来要介绍的几个监控工具会提供更丰富的功能。

原文链接:http://www.cnblogs.com/cuiyongchao007/p/14212526.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号