Docker 容器监控 - Weave Scope

Author:rab


目录


前言

Docker 容器的监控方式有很多,如 cAdvisorPrometheus 等。今天我们来看看其另一种监控方式 ------ Weave Scope,此监控方法似乎用的人很少了,现在比较热门的就是 cAdvisor + Prometheus 的监控方式。但不管何种监控,都有其优势,我们不可否认 Weave Scope 在监控界的一席之地。接下来将对 Weave Scope 进行相关实验,看看 Weave Scope 有什么特点或能监控哪些东西。

官方网站:https://www.weave.works/oss/scope/

一、环境

Host Server 备注
base/192.168.56.120 docker、Weave Scope -
test/192.168.56.121 docker、Weave Scope -

**说明:**两台测试服务器均部署 Weave Scope 服务、运行相关测试容器进行本次测试验证。

二、部署

安装文档:https://www.weave.works/docs/scope/latest/installing/

1、下载 Weave Scope 容器启动脚本

sh 复制代码
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch

2、启动 Weave Scope

会以容器的方式运行。

sh 复制代码
scope launch
docker ps

3、访问验证

http://192.168.56.120:4040/

**说明:**以上步骤先在 120 服务器节点上进行实验,即先测试单点下容器的监控情况。

三、监控

3.1 容器监控 - 单 Host

1、运行两个测试容器

sh 复制代码
docker run -d --name webtest nginx:latest
docker run -d --name showdoc star7th/showdoc:latest

2、Web 查看监控情况

3、如何查看具体容器监控信息

在容器详情页中,我们可以对现有容器进行相关操作:

说明:监控信息包括容器 CPU、内存、容器中进程占用的CPU/内存等信息。

要清楚的是:weave scope 不仅能够监控 Docker 容器的状态信息,也能监控 Host 主机的状态信息,如下图所示,当前仅有一个 Host 主机被监控,因为我就只在这台主机(base)上部署了 weave scope 和测试容器。

3.2 容器监控 - 多 Host

在实际生产中不仅仅是一台服务器上运行整个服务,而是多个 Host 上运行多个 container(在如今的微服务时代尤其如此)。

1、关联多主机

注意:两台主机均分别执行以下命令

sh 复制代码
# 120
scope launch 192.168.56.120 192.168.56.121

# 121
scope launch 192.168.56.120 192.168.56.121

2、创建测试容器

120 主机上已经运行了两个容器了,接下来我们在 121 上再运行一个测试容器

sh 复制代码
docker run -d --name myweb2 nginx:latest

3、验证

http://192.168.56.120:4040/

http://192.168.56.121:4040/

两者任意访问其中一个 url 均可

在看看 test 主机上是否运行 myweb2 容器:

没问题,至此,单节点、多节点主机即容器监控就已经实验完成,更多 weave scope 用法可自行参考官方文档,比较简单,无非就是鼠标点点点的事情。

总结

Weave Scope 可实现单 Host 和多 Host 的监控及 Host 上容器的监控,我们可按需进行监控工具选择。

选择它,你就需要知道它能帮你解决什么问题:

  1. 容器监控(可跨主机)
  2. 主机监控(多 Host 节点)

因此,作为基础的容器监控,我认为 Weave Scope 是有优势的,如轻量、资源占用较低、提供可视化 Web UI 等,对于我们研发工程师来说是最好的一手选择。

---END

相关推荐
xrlfreedom6 小时前
大厂 MCP 面试实录:内部 REST API 封装为可审计 MCP Tools 的落地方案
docker·mcp·提示注入防护
摇滚侠7 小时前
《Docker技术入门与实战 第4版》阅读笔记 2 Docker 镜像
笔记·docker·容器
云原生指北8 小时前
Docker Sandboxes 工作区怎么接:Direct、Clone 和它们的边界
git·docker·agent
玉宇夕落9 小时前
Docker + Nginx + Node.js 容器化部署 —— 从零到一理解反向代理与容器化原理
docker
ly768910 小时前
Docker 从入门到实践:镜像、容器、Dockerfile 与 Docker Compose 详解
运维·docker·容器
梦梦代码精11 小时前
基于UniApp+Vue3+ThinkPHP 8,这套知识付费系统的架构设计有点东西
java·低代码·docker·uni-app·开源·php
moMo14 小时前
从“巨轮”到“本地开发”:用 Docker 和 Nginx 解决你的端口焦虑
nginx·docker
有脚就行14 小时前
第33篇-KServe推理平台-标准化的K8s推理服务管理
人工智能·云原生·容器·kubernetes
名字还没想好☜15 小时前
Kubernetes StatefulSet 实战:为什么数据库不能用 Deployment 部署
数据库·云原生·容器·kubernetes·statefulset
地衣君15 小时前
Hermes Docker 容器交互一些技巧
docker·hermes