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
- 可以直接下载网易的镜像仓库:
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
5 years ago /bin/sh -c #(nop) EXPOSE 8080/tcp 0B
[root@ccx ~]#
可以看到,cadvisor使用的端口是8080
-
创建说明
-
因为容器的端口是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 ~]#
直接在浏览器输入:容器所属ip:8080
即可进入到下列界面
查看总资源使用情况
- 进入后当前界面下拉就可以看到总资源的使用情况了
查看单台资源的使用情况
- 点击
Docker Containers
- 进来以后就可以看到全部容器了,想看哪个容器的使用情况就点击哪个容器哈
- 如,我查看cadvisor的容器,创建名称为
mon
点进去以后界面就和主页一样的了,往下拉,就可以看到各种信息了。
====================================================================
-
这是通过一个脚本自动部署的,比较简单,且功能和cadvisor类似,就不多做说明了
-
脚本准备
下载下面脚本并上传到主机中。
- 然后给该脚本增加一个x权限
[root@ccx ~]# chmod +x 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 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 ~]#