小知识:Docker容器监控及日志管理实现过程解析

docker部署规模变大后,需要对容器进行监控,一般docker自带几个监控子命令ps、top和stats,然后是现在流行的开源监控工具prometheus

docker自带的监控子命令ps

docker ps ,列出容器,方便查看当前的运行的容器,以下是命令语法与参数

语法

docker ps [options]

options说明:

-a :显示所有的容器,包括未运行的。 -f :根据条件过滤显示的内容。 –format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 –no-trunc :不截断输出。 -q :静默模式,只显示容器编号。 -s :显示总的文件大小。

%小知识:Docker容器监控及日志管理实现过程解析-猿站网-插图

输出详情介绍:

container id: 容器 id。 image: 使用的镜像。 command: 启动容器时运行的命令。 created: 容器的创建时间。 status: 容器状态。

状态有7种:

created(已创建) restarting(重启中) running(运行中) removing(迁移中) paused(暂停) exited(停止) dead(死亡)

ports: 容器的端口信息和使用的连接类型(tcp\udp)。

names: 自动分配的容器名称。

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

top

如果想知道某个容器运行了哪些进程,可以执行docker container top 命令,如下所示:

%小知识:Docker容器监控及日志管理实现过程解析-1猿站网-插图

命令后面还可以跟上linux操作系统ps命令的参数来显示特定的信息,比如-au,这样docker container top [容器名称] -au执行结果如下所示:

%小知识:Docker容器监控及日志管理实现过程解析-2猿站网-插图

stats

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

%小知识:Docker容器监控及日志管理实现过程解析-3猿站网-插图

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

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

除此之外,docker container stats命令还会显示容器网络和磁盘的io数据,可以再stats命令后面指定容器的名称来显示某些容器的数据

%小知识:Docker容器监控及日志管理实现过程解析-4猿站网-插图

docker logs

默认配置下 docker 的日志功能。

对于一个运行的容器,docker 会将日志发送到 容器的 标准输出设备(stdout)和标准错误设备(stderr),stdout 和 stderr 实际上就是容器的控制台终端。

如果要查看容器的日志,有两种方法:

attach 到该容器。

用 docker logs 命令查看日志。

ttach 的方法在实际使用中不太方便,因为:

只能看到 attach 之后的日志,以前的日志不可见。

退出 attach 状态比较麻烦(ctrl+p 然后 ctrl+q 组合键),一不小心很容器将容器杀掉(比如按下 ctrl+c)。

查看容器日志推荐的方法是用 docker logs 命令。

如下所示:

%小知识:Docker容器监控及日志管理实现过程解析-5猿站网-插图

dokcer logs能够打印自容器启动以来的完整日志,并且-f参数可以继续打印出新产生的日志,效果与linux的tail -f一样

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.51cto.com/11555417/2515823

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux通过匿名管道进行进程间通信

2023-3-29 18:45:20

建站知识

小知识:使用Docker搭建Redis主从复制的集群

2023-3-29 18:53:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索