docker图形化监控容器资源使用情况【cadvisor和scope】
文章目录cadvisorcadvisor说明cadvisor容器获取创建cadvisor容器进入cadvisor界面查看总资源使用情况查看单台资源的使用情况scope说明【脚本准备】scope镜像获取安装scope容器打开scope界面查看总资源情况查看单台特点功能说明cadvisorcadvisor说明cadvisor工具是由谷歌提供cAdivisor 作用:分析docker中正在运行的容器的资
·
文章目录
cadvisor
cadvisor说明
-
cadvisor工具是由谷歌提供
-
cAdivisor 作用:分析docker中正在运行的容器的资源使用情况和性能特征。【同时cadivisor也另一个作用就是数据收集】
-
监控Docker Host
cadvisor会显示当前host的资源使用情况,包括CPU、内存、网络、文件系统等 -
逻辑简单来说如下图
-
我们创建3个容器,用于后面的测试
[root@ccx ~]# docker run -dit --name=c1 --restart=always hub.c.163.com/library/centos
b1f6dee2e727ef16147a9e0719623ba42d637f8e731dfb1d5f19f0f2dc56782e
[root@ccx ~]# docker run -dit --name=c2 --restart=always hub.c.163.com/library/centos
b50c0b555caa0fd9f64e3b98d0aa15cf0e09eb426ab5cd227eb3e49695a6cfb4
[root@ccx ~]# docker run -dit --name=c3 --restart=always hub.c.163.com/library/centos
49a05079400d9fbafc54fb549fcbc8bc45fcfd94c8517d9b9777cb34e83dcccf
[root@ccx ~]#
[root@ccx ~]#
[root@ccx ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49a05079400d hub.c.163.com/library/centos "/bin/bash" 3 seconds ago Up 2 seconds c3
b50c0b555caa hub.c.163.com/library/centos "/bin/bash" 8 seconds ago Up 7 seconds c2
b1f6dee2e727 hub.c.163.com/library/centos "/bin/bash" 14 seconds ago Up 13 seconds c1
[root@ccx ~]#
- 前面说明,可以在主机上使用
docker stats
查看docker的使用情况 ,不过我们这要说的是用图形化监控这些性能了
[root@ccx ~]# docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
49a05079400d c3 0.00% 376KiB / 3.683GiB 0.01% 656B / 0B 0B / 0B 1
b50c0b555caa c2 0.00% 368KiB / 3.683GiB 0.01% 656B / 0B 0B / 0B 1
b1f6dee2e727 c1 0.00% 372KiB / 3.683GiB 0.01% 656B / 0B 0B / 0B 1
cadvisor容器获取
- 可以直接下载网易的镜像仓库:
docker pull hub.c.163.com/xbingo/cadvisor:latest
[root@ccx ~]# docker pull hub.c.163.com/xbingo/cadvisor:latest
latest: Pulling from xbingo/cadvisor
09d0220f4043: Pull complete
151807d34af9: Pull complete
14cd28dce332: Pull complete
Digest: sha256:20ddac7ab8fdaff0549c5dcf046f0cb6f8ad064e20d9004dcc07132b907c4b68
Status: Downloaded newer image for hub.c.163.com/xbingo/cadvisor:latest
hub.c.163.com/xbingo/cadvisor:latest
[root@ccx ~]#
[root@ccx ~]# docker images|grep cad
hub.c.163.com/xbingo/cadvisor latest 4bc3588563b1 5 years ago 48.2MB
[root@ccx ~]#
[root@ccx ~]#
[root@ccx ~]# docker history hub.c.163.com/xbingo/cadvisor:latest |grep POSE
<missing> 5 years ago /bin/sh -c #(nop) EXPOSE 8080/tcp 0B
[root@ccx ~]#
可以看到,cadvisor使用的端口是8080
创建cadvisor容器
- 创建说明
- 因为容器的端口是8080,所以我们创建的时候要映射8080端口到本地物理机
- 又因为开头说过,该容器获取其他容器的信息是通过分析3个文件,所以我们需要把本地的这3个文件同步到容器中
- 创建过程如下: 3个文件我分开写,是为了更容易理解【-v 这是物理机位置:这是容器中的位置:ro是权限】
[root@ccx ~]#
[root@ccx ~]# docker images|grep cad
hub.c.163.com/xbingo/cadvisor latest 4bc3588563b1 5 years ago 48.2MB
[root@ccx ~]#
[root@ccx ~]# docker run -dit --name=mon --restart=always -p 8080:8080 \
> -v /var/run:/var/run \
> -v /sys:/sys:ro \
> -v /var/lib/docker:/var/lib/docker:ro \
> hub.c.163.com/xbingo/cadvisor:latest
a71418279db98dc62413a17347f293174a8ad2c2bad0861ef3803df3067ab47a
[root@ccx ~]#
[root@ccx ~]#
[root@ccx ~]# docker ps | grep mon
a71418279db9 hub.c.163.com/xbingo/cadvisor:latest "/usr/bin/cadvisor -…" 11 seconds ago Up 8 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp mon
[root@ccx ~]#
进入cadvisor界面
直接在浏览器输入:容器所属ip:8080
即可进入到下列界面
查看总资源使用情况
- 进入后当前界面下拉就可以看到总资源的使用情况了
查看单台资源的使用情况
- 点击
Docker Containers
- 进来以后就可以看到全部容器了,想看哪个容器的使用情况就点击哪个容器哈
- 如,我查看cadvisor的容器,创建名称为
mon
点进去以后界面就和主页一样的了,往下拉,就可以看到各种信息了。
scope
说明【脚本准备】
-
这是通过一个脚本自动部署的,比较简单,且功能和cadvisor类似,就不多做说明了
-
脚本准备
下载下面脚本并上传到主机中。
docker资源scope监控搭建脚本 -
然后给该脚本增加一个x权限
[root@ccx ~]# chmod +x scope
scope镜像获取
- 镜执行
./scope
会提示 镜像获取的路径
提示信息如下
[root@ccx ~]# ./scope
Usage:
scope launch {OPTIONS} {PEERS} - Launch Scope
scope stop - Stop Scope
scope command - Print the docker command used to start Scope
scope help - Print usage info
scope version - Print version info
PEERS are of the form HOST[:PORT]
HOST may be an ip or hostname.
PORT defaults to 4040.
Launch options:
Unable to find image 'weaveworks/scope:1.13.1' locally
^C
- 获取这个镜像的命令:
docker pull weaveworks/scope:1.13.1
[root@ccx ~]# docker pull weaveworks/scope:1.13.1
1.13.1: Pulling from weaveworks/scope
c9b1b535fdd9: Pull complete
550073704c23: Pull complete
8738e5bbaf1d: Pull complete
0a8826d26027: Pull complete
387c1aa951b4: Pull complete
e72d45461bb9: Pull complete
75cc44b65e98: Pull complete
11f7584a6ade: Pull complete
a5aa3ebbe1c2: Pull complete
7cdbc028c8d2: Pull complete
Digest: sha256:4342f1c799aba244b975dcf12317eb11858f9879a3699818e2bf4c37887584dc
Status: Downloaded newer image for weaveworks/scope:1.13.1
docker.io/weaveworks/scope:1.13.1
[root@ccx ~]#
[root@ccx ~]#
[root@ccx ~]# docker images| grep sco
weaveworks/scope 1.13.1 cd4cd8fcce1b 13 months ago 89.7MB
[root@ccx ~]#
启动scope容器
- 这是用脚本自动部署的,直接执行:
./scope launch
【脚本所属路径执行】
执行完毕以后,会提示你一些网址,然后用浏览器打开这些网址即可
[root@ccx ~]# ./scope launch
4f0335f0cc064f544d8ad8e89e05cc14dd6558485e628f8d3563c56e3ebd9a3d
Scope probe started
Weave Scope is listening at the following URL(s):
* http://192.168.159.129:4040/
* http://192.168.159.128:4040/
* http://10.1.0.1:4040/
* http://192.168.122.1:4040/
* http://172.18.0.1:4040/
[root@ccx ~]#
[root@ccx ~]#
[root@ccx ~]# docker ps |grep sc
4f0335f0cc06 weaveworks/scope:1.13.1 "/home/weave/entrypo…" 3 minutes ago Up 3 minutes weavescope
[root@ccx ~]#
关闭scioe容器
- 这个容器的创建是通过上面命令,容器删除是通过下面命令的:
./scope stop
【不建议直接删除容器啊,还是需要通过这种方式来停止该容器】
[root@ccx ~]# ./scope stop
[root@ccx ~]#
打开scope界面
- 直接在浏览器输入:
容器所属ip:4040
即可进入到下列界面【容器部署完毕的时候也会告诉你可以访问的所有地址,用任意一个就行】
注:如果打不开该网址,去主机上关闭防火墙:systemctl stop firewalld
查看总资源情况
注意看红色圈中的选项,这种模式虽然展示了所有容器【不包括自己scope的容器】,但并不是全部使用率都显示出来了,需要选择cpu或内存,然后鼠标放在容器名称上显示使用率
【选择了单台以后,回到当前界面就是点击下面红色框中内容】
查看单台
在主界面点击想查看的容器名以后,就到了下面这个界面。
特点功能说明
- scope比cadvisor多一个好处,就是有一个类似于控制台的功能,能够直接通过scope自带的功能进入容器的操作台,好评!
- 在主界面点击想进入控制台的容器,然后有一个显示器的标,点一下就好了。
更多推荐
已为社区贡献5条内容
所有评论(0)