容器监控工具WeaveScope初步安装,了解
Weave Scope是Docker和Kubernetes的可视化和监视工具。它提供了自上而下的应用程序视图以及整个基础架构视图,并允许您实时诊断将分布式容器化应用程序部署到云提供商时遇到的任何问题。
github开源项目地址: https://github.com/weaveworks/scope
Weave Scope可以监控Kubernetes集群的一系列资源的状态、资源使用情况、应用拓扑、还可以直接通过UI界面进行调式查看日志等操作
Scope 提供了至上而下的集群基础设施和应用的完整视图,用户可以轻松对分布式的容器化应用进行实时监控和问题诊断,以确保容器应用程序的稳定性和性能,通过查看容器上下文的度量/标记,以及原数据,在容器内部的进程之间可以轻松的确定运行服务消耗最多CPU/内存资源的容器
- 实时了解您的Docker容器 选择您的容器基础架构的概述,或专注于特定的微服务。轻松识别并纠正问题,以确保容器化应用程序的稳定性和性能。
- 上下文细节和深层链接 查看容器的上下文指标,标签和元数据。毫不费力地在容器内部的进程之间导航,以托管运行在可扩展,可排序表中的容器。
- 对于给定的主机或服务,使用最多CPU或内存的容器即可轻松找到该容器。与容器交互和管理 直接与您的容器进行交互:暂停,重新启动和停止容器。启动命令行。所有这些都无需离开示波器浏览器窗口。
- 通过插件扩展和自定义 通过创建范围插件,为主机,容器和/或进程添加自定义详细信息或交互。或者,仅从其他人已经在GitHub Weaveworks Scope插件组织中撰写的内容中进行选择。
Weave Scope由App和Probe两部分组成
- Probe负责收集容器和宿主的信息,并发送给App
- App负责处理这些信息,并生成相应的报告,并以交互界面的形式展示
安装与运行
由于我用的是Docker,这里主要介绍这个工具在Docker上的使用。
对于WeaveScope的安装相当简单,只要三行命令就可以了。官方的文档中是这样命令
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch
但是经过本人的实验,这个命令存在一些坑。第一个下载命令我下载下来的版本有问题,运行时会报错。第三个运行命令只是最基本的,不能很好的满足我的需求。
所以经过我的探索我建议使用如下命令
sudo curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch -app.basicAuth -app.basicAuth.password 123456 -app.basicAuth.username user -probe.basicAuth -probe.basicAuth.password 123456 -probe.basicAuth.username user
- 第一个下载命令换成从它官方的github上下载最新版本。
- 第二个命令只是加权限都一样没啥区别。
- 第三个运行命令是有很多道道的,官方的命令是最基本的运行。我改进版的是可以支持用户密码登录的功能,因为毕竟容器的监控我们不希望任何人都可以看到的。这个东西我也是搜了很久在官方的issues中找到了答案
scope launch可以这样使用scope launch {OPTIONS} {PEERS},scope help命令可以看到具体的{OPTIONS} {PEERS}。里面的东西很多,包括很多基础的设置,用户名和密码登录、端口设置等都可以通过这里来设置
完整安装步骤展示:
~ # curl -L https://github.com/weaveworks/scope/releases/download/latest_release/scope -o /usr/local/bin/scope
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 629 100 629 0 0 9 0 0:01:09 0:01:04 0:00:05 147
100 11664 100 11664 0 0 178 0 0:01:05 0:01:05 --:--:-- 25805
~ # chmod a+x /usr/local/bin/scope
~ # scope launch -app.basicAuth -app.basicAuth.password 123456 -app.basicAuth.username user -probe.basicAuth -probe.basicAuth.password 123456 -probe.basicAuth.username user
Unable to find image 'weaveworks/scope:1.13.1' locally
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
22d8d2bd5cf22bf75708e8f2ad5dfde51816d9fb51999c49fdac7f987ec5cc97
Scope probe started
Weave Scope is listening at the following URL(s):
* http://192.168.1.1:4040/
* http://192.168.0.253:4040/
* http://172.20.0.1:4040/
* http://172.19.0.1:4040/
使用 Scope
成功启动scope后,可以在浏览器中方法http://ip:4040,如果端口没有修改默认是4040。之后输入用户名和密码进入监控首页
实时资源监控,可以在Scope中查看资源的CPU和内存使用情况,并且支持HOST、Pod和Container
一般我们可以点击Container查看容器的情况,这里一般会列出你自己的容器和weave自带的容器,通过名字可以区别。点击相应容器可以对它进行在线bash操作,或者重启,暂停,关闭容器。
点击Hosts按钮,可以看到各个节点之间的关系,可以对自己的主机进行监控和操作,当然也可以在线bash。
点击by image可以看到自己现在docker中所有的镜像。