Docker容器监控(十)--技术流ken

docker自带的监控命令docker自带了三个监控命令即ps,top,statspsdockerps可以帮助我们很快的了解当前正在运行的容器-a:会显示已经停掉的容器[root@host1~]#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES2dc535903c8fweaveworks/scope:1.10.1"/home/weave/...

Docker容器监控(十)--技术流ken

docker自带的监控命令

docker自带了三个监控命令即ps, top, stats

ps

docker ps 可以帮助我们很快的了解当前正在运行的容器

-a:会显示已经停掉的容器

[root@host1 ~]# docker psCONTAINER ID  IMAGECOMMANDCREATED STATUS  PORTSNAMES2dc535903c8f  weaveworks/scope:1.10.1"/home/weave/entrypo…"14 minutes agoUp 14 minutesweavescope9c0b7af8f210  busybox "sh"38 minutes agoUp 38 minutesb1039e40500da10  busybox "sh"38 minutes agoUp 38 minutesb93f5f98e0c5d2  busybox "sh"38 minutes agoUp 38 minutesb8a0cef436f61a  busybox "sh"38 minutes agoUp 38 minutesb7

top

如果想知道某个容器中运行了哪些进程,可以执行如下的命令:

[root@host1 ~]# docker top 266910b9bUID  PID  PPID C STIMETTY  TIME CMDroot 7162 7144 0 14:55pts/000:00:00sh

stats

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

而且是动态刷新的

[root@host1 ~]# docker stats 266910b9bCONTAINER ID  NAME CPU %MEM USAGE / LIMITMEM %NET I/O BLOCK I/O  PIDS266910b9bede  b30.00%52KiB / 487.5MiB 0.01%978B / 280B1.97MB / 8.19kB  1

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

sysdig

sysdig 是一个轻量级的系统监控工具,同时它还原生支持容器

第一步:安装运行

[root@host1 ~]# docker container run -it --rm --name=sysdig --privileged=true --volume=/var/run/docker.sock:/host/var/run/docker.sock --volume=/dev:/host/dev --volume=/proc:/host/proc:ro --volume=/boot:/host/boot:ro --volume=/lib/modules:/host/lib/modules:ro --volume=/usr:/host/usr:ro sysdig/sysdig

可以看到,sysdig 容器是以privileged方式运行,而且会读取操作系统/dev,/proc等数据,这是为了获取足够的系统信息。

第二步:进入容器

安装完之后默认进入了容器

第三步:启动sysdig

输入命令csysdig,进入到了如下的界面

第四步:使用sysdig

这是一个类似 linux top 命令的界面,但要强大太多。sysdig 按不同的 View 来监控不同类型的资源,点击底部Views菜单(或者按 F2),显示 View 选择列表。

我们选择进入containers,即容器监控

回车或者双击Containers,进入容器监控界面。

sysdig 会显示该 Host 所有容器的实时数据,每两秒刷新一次。

如果想按某一列排序,比如按使用的内存量,很简单,点一下列头VIRT。

如果想看某个容器运行的进程,比如b3,将光标移到目标容器,然后回车或者双击。

sysdig 的特点如下:

  1. 监控信息全,包括 Linux 操作系统和容器。

  2. 界面交互性强。


不过 sysdig 显示的是实时数据,看不到变化和趋势。而且是命令行操作方式,需要 ssh 到 Host 上执行,会带来一些不便。

weave scope监控容器

Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解、监控和控制容器。也是我个人比较喜欢的一款监控软件

第一步:安装

[root@ken ~]# curl -L git.io/scope -o /usr/local/bin/scope[root@ken ~]# chmod a x /usr/local/bin/scope

第二步:启动

scope launch将以容器方式启动 Weave Scope

[root@ken ~]# scope launch 8d4082e5447876fd5c6bdb8b22bef3e3624878321d20fea5c95f2efd4646ef01Scope probe startedWeave Scope is listening at the following URL(s):  * http://192.168.122.1:4040/  * http://10.32.0.3:4040/  * http://172.20.10.2:4040/

根据提示,Weave Scope 的访问地址为 http://[Host_IP]:4040/

如果要查看容器的详细信息,比如 sysdig,可以点击该容器的图标。

在容器信息的上面还有一排操作按钮。


分别是:


attach 到容器启动进程,相当于执行docker container attach

打开 shell,相当于执行docker container exec

重启容器,相当于执行docker conta

源文地址:https://www.guoxiongfei.cn/cntech/9846.html