一、Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直接的理解、监控和控制容器。
实践 Weave Scope。
安装
执行如下脚本安装运行 Weave Scope。
curl -L git.io/scope -o /usr/local/bin/scope
chmod a+x /usr/local/bin/scope
scope launch
[root@host1 ~]# curl -L git.io/scope -o /usr/local/bin/scope
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
100 616 100 616 0 0 140 0 0:00:04 0:00:04 --:--:-- 601k
100 11664 100 11664 0 0 1954 0 0:00:05 0:00:05 --:--:-- 17331
[root@host1 ~]# chmod a+x /usr/local/bin/scope
[root@host1 ~]# scope launch
Unable to find image 'weaveworks/scope:1.12.0' locally
Trying to pull repository docker.io/weaveworks/scope ...
1.12.0: Pulling from docker.io/weaveworks/scope
Digest: sha256:2f063422cd74d6b0cc6a4c7a26aeb531a69d719de1fa039ca592877662051446
Status: Downloaded newer image for docker.io/weaveworks/scope:1.12.0
d5bd5c0c9ac11d5eabec3b230bb6bf6cd3faf4c29cb2116fc0d9b374e3f1fe32
Scope probe started
Weave Scope is listening at the following URL(s):
* http://10.12.31.211:4040/
[root@host1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d5bd5c0c9ac1 weaveworks/scope:1.12.0 "/home/weave/entry..." About a minute ago Up About a minute weavescope
Weave Scope 的访问地址为 http://10.12.31.211:4040/
容器监控
Weave Scope 地图中间显示了 Host 当前运行的容器,不过少了几个 weave 相关的容器。
Weave Scope 将容器分为两类:Weave 自己的容器和其他容器,默认不显示Weave自己的容器
Weave Scope 界面是一个可交互的地图,使用起来很方便
1、Networks 、不同网络的容器,用不同的颜色标记出来
2、按容器类型筛选:Weave Scope容器和正常应用容器
3、按容器运行状态筛选:运行中和已停止
4、按是否是容器筛选:docker host不是容器,勾选 uncontained 可以显示docker host
按照页面顶部的分类进行展示
点击docker host 的图标,可以查看docker host 的一些监控信息
点击某个容器的图标,可以查看该容器的监控信息
另外还有几个图标 分别是 对应命令
docker attach
docker exec
docker restart
docker pause
docker stop
在容器信息的上面还有一排操作按钮。
分别是: attach 到容器启动进程,相当于执行
docker container attach
打开 shell,相当于执行
docker container exec
重启容器,相当于执行
docker container restart
暂停容器,相当于执行
docker container pause
关闭容器,相当于执行
docker container stop
这排按钮使我们能够远程控制容器,相当方便。最常用的可能就是 了。比如可以直接跳进 sysdig 容器,启动 csysdig
监控工具。
二、Weave Scope 多主机监控
Weave Scope 除了监控容器,还可以监控Docker Host。
点击顶部 HOSTS 菜单项,地图将显示当前host。
与容器类型,点击该host图标将显示host的详细信息
host当前的资源使用情况和历史曲线一览无余,除此之外也能很方便的查看host上运行的进程和容器列表,点击容器的名字还可以打开容器的信息页面
另外host上面有一个命令行的按钮,此按钮可以打开一个该host的命令行窗口
多主机监控
Weave Scope 还有一个重要功能,就是多主机监控。
真正的部署环境都会有多个host,如果能在一个界面上监控整个容器环境,那绝对是一件非常美妙的事情。
我们有两个docker host 10.12.31.211 和 10.12.31.212
在两个host上都执行 scope launch 10.12.31.211 10.12.31.212 这样不论访问http://10.12.31.211:4040 还是 http://10.12.31.212:4040 都可以监控到这两个host以及上面的容器
另外,当容器和主机数量很多的时候,我们还可以使用搜索功能