docker图形化监控容器资源使用情况【cadvisor和scope】

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

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 ~]#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值