注:本文所有操作在centos8环境下进行!

一.Docker监控命令

1.docekr ps 命令

docker ps命令用来查看容器状态,示例代码如下:

[root@Docker ~]# docker ps 

另外,通过docker container Is命令也可以达到相同的效果,示例代码如下:

[root@Docker ~]# docker container ls

注意,若docker contne命令执行失收,更新Docker版本即可。

2.docker top 命令

docker top命令用于查看容器中的进程,示例代码如下:

[root@Docker ~]# docker top 4f1

以上示例通过在d0 cker top命令中添加容器D号查看到了容器内进程。

除此之外,还可以在命令中添加容器名称,达到相同的效果,示例代码如下:

[root@Docker ~]# docker container top upbeat_neumann

在docker top命令中添加参数即可显示特定的进程信息,此处以-u参数为例,示例代码如下:

[root@Docker ~]# docker container top upbeat_neumann -u

以上示例通过给docker top命令添加-u参数,将sysdig容器的进程信息以用户为主的格式显示出来。

3.docker stats 命令

docker stats命令用于查询容器的各项资源消耗情况,示例代码如下:

[root@Docker ~]# docker stats

以上示例执行了docker stats命令,在终端通过一个动态列表显示出各个容器的资源使用情 况,如CPU使用率、内存、容器网络等信息。在没有限制容器内存的情况下,此处将显示宿主 机的内存。

此处的动态列表有一项明显的不足,就是只显示容器ID号,不显示容器名称。但只要在命令中添加容器名称,即可查看指定容器的信息,示例代码如下:

[root@Docker ~]# docker stats upbeat_neumann

Doker 自带的容器监控命令能够灵活捕提容器的实时信息,且使用方便。但它们无法反映容器资源占用的趋势,且只能显示有限的数据。

二.Weave Scope

1.安装Weave Scope

Weave Scope为用户提供了更直观的监控视角,它将整个监控以图形界面的形式呈现出来。

下载Weave Scope二进制安装包

下载链接:

https://github.com/weaveworks/scope/releases/download/latest_release/scope

创建并进入scope安装目录

[root@Docker ~]# mkdir -p /usr/local/bin/scope
[root@Docker ~]# cd /usr/local/bin/scope

上传下载好的scope文件

Weave Scope安装包的本质是一个脚本,所以需要赋予其执行权限,示例代码如下

[root@Docker scope]# chmod a+x scope
[root@Docker scope]# ll

然后,通过命令执行该脚本,示例代码如下

[root@Docker scope]# ./scope launch

此时,Weave   Scope监控巳经开启,通过浏览器访问系统提示中的bttp://192.168.88.141:4040/即可进入监控界面。在进入界面之前先查看容器状态,示例代码如下

[root@Docker scope]# docker ps -a

从以上示例中可以到,宿主机中增加了个名为weavescope的新容器,这说明Weave   Scope

以容器的方式在宿主机中运行

下面根据提示进入Weave  Scope界面。

宿主机中的所有容器都以图形的形式呈现出来,更加便于用户管理。

2.监控容器

Weave Scope界面中,宿主机上的容器被分为多个种类,默认不显示Weave Scope本身的容器。若要查看所有容器,就需要在界面左下角的选项中进行操作。

在左下方单击All选项,即可查看宿主机中所有运行的容器。

若要查看容器的资源占用情况,需要在界面上方选项中进行操作。

在上方单击CPU选项,即可显示界面中容器的CPU使用情况。

单击CPU选项之后,CPU使用悄况将会以液位商度的形式在容器图标上显八此时,,将µ汁移动到容器图标之上,即可显示体数据。

若要查看某一容器的详细信息,单击该容器图标即可。

其中,容器的详细信息包括以下各项

  • Status

CPU与内存的实时状态曲线图

  • Info

镜像、镜像标签、命令等信息

  • Processes

该容器中实时运行的进程信息

  • Docker labels

维护人员或容器的启动命令等信息

  • Image

该容器的镜像信息。

容器详细信息界面中,行可对该接进行操作的选项。

到右分别表示:通过docker attach命令进入容器终端;通过docker exec令彤\容器端;通过docker restart命令重新启动容器;通过docker pause命令暂停容器;通rt docker stop命令终止容器

有了这些选项,用户就不需要在终端中输入命令,直接单击选项即可对容器进行操作。若得言要执行这些选项之外的操作,可通过选项进入容器终端完成。

3.监控宿主机

Weave  Scope为用户提供广阔的监控视角,除了监控容器,还可以对宿主机进行监控。单击·界恒i

上方的Hosts选项,即可查看宿主机。

与容器操作相同,单击宿主机图标即可查看其详细信息

与容器相比,宿主机的Staus项中增加了负载信息。详细信息还包含了宿主机中的容器信息、,单l击容器名称即可查看容器的详细信息。

宿主机信息中只有一个供用户对其进行操作的选项,单击即可进入宿主机终端

4.多宿主机监控

在企业生产环境中,通常需要使用多台宿主机部署容器业务,所以容器监控也需要同时监控多台宿主机。而Weave Scope恰好拥有多宿主机监控的功能。下面通过示例来演示该功能的使用方式。

首先,准备两台安装了Weave   Scope的服务器,并分别在启动命令中添加两个服务器的IP

进行启动,示例代码如下

[root@Docker scope]# ./scope launch 192.168.88.141 192.168.88.133

[root@Docker2 scope]# ./scope launch 192.168.88.141 192.168.88.133

根据两台宿机中启动命令的执行结果,无论是访问http://192.168.88.141:4040/还是http://192.168.88.133:4040/,都可以监控到两台宿机.

单击界面上方的Containers选项,查看所有宿主机中的容器。

为了便于用户分辨,Weave Scope在每个容器图标下的容器名称后都会标注该容器所属宿主机的主机名。

在生产环境中部署了容器,要对某一容器进行操作时,可以使用Weave    Scope界面左上

的搜索功能,对该容器进行搜索。此处以关键词“ten为例,搜索结果如图

另外,Weave Scope还支持逻辑条件搜索。例如,搜索CPU占用率大千1%的容器,在搜索栏

输入“cpu>1"即可,搜索结果如图示。

界面的右下角有四个选项,从左到右前三个是调试界面示的选项,最后个是Weave Scope的帮助选项

单击帮助选项,即可查看Weave Scope的帮助文档。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐