项目进行容器化之后,配套的基础设施包括监控、编排、管理等都需要进行一并完善。这里也是自己一边学习一边进行记录。
Weave Scope 的最大特点是会自动生成一张 Docker 容器地图,让我们能够直观地理解、监控和控制容器。千言万语不及一张图,先感受一下。
我这里用的是阿里云,首先下载Weave Scope并启动:
curl -L git.io/scope -o /usr/local/bin/scope
chmod a+x /usr/local/bin/scope
scope launch
执行完上面三条命令会在本地运行Weave Scope,scope launch命令表示以容器化方式运行。
然后我们可以通过IP:4040的方式访问可视化界面:
可以看到,阿里云上跑了两个容器,一个是Weave Scope自己的进程(默认不显示),另外一个是Redis。
点击对应的容器图片会先显示更加详细的信息,除了监控容器,Weave Scope 还可以监控 Docker Host。
host 页面上部有一个按钮,点击可直接打开 host 的 shell 窗口,这个远程管理功能真的很贴心。
多主机监控
前面我们已经领略了 Weave Scope 的丰富功能和友好的操作界面。不过它还有一个重要功能:多主机监控。
真正的部署环境都不可能只有一个 host,如果能在一个界面上监控整个容器环境,那绝对是件非常有效率的事情。下面我们就来实践这个功能。
两个 Docker Host:
ubuntu: 192.168.56.102
ubuntu2: 192.168.56.103
在两个 host 上都执行如下命令:
scope launch 192.168.56.102 192.168.56.103
这样,无论访问 http://192.168.56.102:4040 还是 http://192.168.56.103:4040,都能监控到两个 host。
点击 CONTAINERS
菜单项,将显示部署环境中所有的容器。
容器图标下面标明了所在的 host。
如果部署的容器数量太多(很常见),Weave Scope 还提供了强悍的搜索功能。
输入关键词 sysd
,立刻会在地图中定位到容器 sysdig
。
Weave Scope 还支持逻辑条件查询,比如输入 cpu > 2
,立刻回找出 CPU 利用率高于 2% 的容器。
更多过滤方法可点击搜索框下面的
下面是参考帮助以及示例。