docker监控方案

Docker监控方案
docker中有几个自带的监控方案:sysdig、uifd、scope

sysdig是命令行界面的监控,而后两者是web页面的图形化监控

日后,作者将会去研究普鲁米修斯的容器监控

sysdig容器监控的下载使用
下载
[[email protected] ~]# docker pull sysdig/sysdig
使用
运行之前需要让主机中的所有数据映射到该容器内

[[email protected] ~]# docker run -itd --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

d4ab4efbe108a9b626e9cd55af6059efccda761233243d30e008740272270397
进入容器

[[email protected] ~]# docker exec -it sysdig bash
[email protected]:/
启动容器并进入之后,sysdig还会在继续加载一些东西,如果网慢的朋友,第一次执行下面的操作报错时,请删除容器,重新运行,并等待一段时间

[email protected]:/# csysdig
接下来就会进入如下的界面
docker监控方案

sysdig1

容器监控
按q可以直接退出,因为现在没有容器在运行,所以退出先运行几个容器

[[email protected] ~]# docker run -itd --name web1 httpd
0a9397f90828e526c32f472848dd9c01f384bef15bfecd783cee3a024fc5fe7a
[[email protected] ~]# docker run -itd --name web2 httpd
d53969e159ba30c58ad2c8529d0f45f7ffa2bb735f896c9ec6a0fa7f66a58a67
[[email protected] ~]# docker run -itd --name web3 httpd
1a91df06daec5ab941fe5aa99f065de061c0c30e55bb951af7de8c3dfcd3c7ca
运行了三个web容器,然后进入sysdig继续查看

[[email protected] ~]# docker exec -it sysdig bash
[email protected]:/# csysdig
进入监控界面之后的画面的下方,有提示按键,F1帮助,F2编辑(可以查看监控类型)

按F2进入如图,查看containers查看所运行的容器
docker监控方案

sysdig2

监控到的容器对各项硬件的使用情况

还可以通过选择哪一个容器来查看容器所使用的进程

docker监控方案

sysdig3

鉴于其他操作,这里不多说,请查阅其他资料

uifd容器监控的下载使用
至今貌似有四年没有更新了

下载
[[email protected] ~]# docker pull uifd/ui-for-docker
使用
运行容器

[[email protected] ~]# docker run -itd --name docker-web -p 9000:9000
–volume /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
752374c0676f2fbc901e1a853fc05481199ec46b2049083b62a7e5c5b27e9a1a
我在运行容器是报了防火墙策略的错误如下

docker: Error response from daemon: driver failed programming external
connectivity on endpoint docker-web
(2c7ed23aa1f5caf36b8961b9754ee5c2fbb67063732b583f2f6ca40c533a989f):
(iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport
9000 -j DNAT --to-destination 172.17.0.6:9000 ! -i docker0: iptables:
No chain/target/match by that name.
这是因为防火墙策略造成的,而我本身的防火墙是关着的,所以要将防火墙先启用

systemctl start firewalld
iptables -F # 清空防火墙策略
iptables-save # 保存
管理容器
这是可以使用本机映射到的端口号访问,ui界面

看不懂英文的可以直接使用谷歌浏览器翻译,或者其他浏览器的页面翻译功能即可

如图显示的Running Container就是正在运行的几个容器
docker监控方案

在界面中可以直接对容器进行操作,随便点击进入一个容器的操作界面

可以对容器进行停止/杀死/挂载/重启/构建镜像/重命名等操作
docker监控方案

在该界面的最下方可以将容器删除,前提是必须先stop停止容器运行,点击stop
docker监控方案

较比之前已经少了一个容器,我删除了bbox1

docker监控方案

管理容器网络
通过点击上方的Container Network可以查看到使用docker网络的所有容器
docker监控方案

管理镜像
可以查看到docker下载的所有镜像
docker监控方案

也可以使用pull进行下载,可以指定下载源和版本

docker监控方案

docker网络
可以查看到docker network ls查看到的几块网卡,也可以进行添加网卡

docker监控方案

等还有一些操作,自己可以研究

scope容器监控的下载使用
下载
[[email protected] ~]# curl -L git.io/scope -o /usr/local/bin/scope
[[email protected] ~]# chmod +x /usr/local/bin/scope
使用
[[email protected] ~]# scope launch

  • http://192.168.122.1:4040/
  • http://192.168.1.11:4040/
    执行完成后的URL可以直接访问进行容器监控
    docker监控方案

实时监控
增加一个容器

[[email protected] ~]# docker run -itd --name c1 centos
771ff705f0fdbc5d91bd7cae7891c12b8c93c4eaec106f225ad53543178f4f34
页面不需要刷新,会自动增加该容器
docker监控方案

当如图所示,选择内存时,鼠标放到图中的小格子,可以查看到内存使用率,同样cpu也是
docker监控方案

通过如图的这块区域可以查看,运行容器使用的镜像,使用的物理机,使用weave网络的容器等等
docker监控方案

终端登录容器
刚才运行了一个centos的c1容器,可以点击查看详情

c1详情的下方,一排可以进行终端登录,重启,挂起等操作
docker监控方案

登录终端你操作
docker监控方案

安装了一个iproute之后,显示容器已经可以连接网络

docker监控方案