Docker 容器监控 - Weave Scope

news2025/1/14 0:53:52

image-20231003152754177

Author:rab


目录

    • 前言
    • 一、环境
    • 二、部署
    • 三、监控
      • 3.1 容器监控 - 单 Host
      • 3.2 容器监控 - 多 Host
    • 总结


前言

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

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

一、环境

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

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

二、部署

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

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

sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch

2、启动 Weave Scope

会以容器的方式运行。

scope launch
docker ps

image-20231003152849110

3、访问验证

http://192.168.56.120:4040/

image-20231003153012685

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

三、监控

3.1 容器监控 - 单 Host

1、运行两个测试容器

docker run -d --name webtest nginx:latest
docker run -d --name showdoc star7th/showdoc:latest

2、Web 查看监控情况

image-20231003160448886

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

image-20231003160804574

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

image-20231003161253990

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

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

image-20231003161800298

3.2 容器监控 - 多 Host

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

1、关联多主机

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

# 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 上再运行一个测试容器

docker run -d --name myweb2 nginx:latest

3、验证

http://192.168.56.120:4040/

http://192.168.56.121:4040/

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

image-20231003163757311

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

image-20231003163907574

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

总结

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

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

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

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

—END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1057970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ctfshow—1024系列练习

1024 柏拉图 有点像rce远程执行,有四个按钮,分别对应四份php文件,开始搞一下。一开始,先要试探出 文件上传到哪里? 怎么读取上传的文件? 第一步:试探上传文件位置 直接用burp抓包,…

PowerPoint如何设置密码?

PowerPoint,也就是PPT,是很多人工作中经常用的办公软件,而PPT和Word、Excel等一样可以设置密码保护。 PPT可以设置两种密码,一种是“打开密码”,也就是需要密码才能打开PPT;还有一种是设置成有密码的“只读…

python实现http/https拦截

python实现http拦截 前言:为什么要使用http拦截一、技术调研二、技术选择三、使用方法前言:为什么要使用http拦截 大多数爬虫玩家会直接选择API请求数据,但是有的网站需要解决扫码登录、Cookie校验、数字签名等,这种方法实现时间长,难度高。需求里面不需要高并发,有没有…

Docker系列--在容器中安装JDK的方法(有示例)

原文网址:Docker系列--在容器中安装JDK的方法(有示例)_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍如何在容器中安装JDK。 为什么要装JDK? JDK里有很多工具,比如jps、jstack、jmap等,可以排查问题。 本文目标 给Ubuntu系…

【数据结构】海量数据处理

【数据结构】海量数据处理 前言 海量数据处理是指基于海量数据的存储和处理,正因为数据量太大,所以导致要么无法在短时间内迅速处理,要么无法一次性装入内存。 对于时间问题,就可以采用位图、布隆过滤器等数据结构来解决。对于…

摄影后期图像编辑软件Lightroom Classic 2023 mac中文特点介绍

Lightroom Classic 2023 mac是一款图像处理软件,是数字摄影后期制作的重要工具之一,lrc2023 mac适合数字摄影后期制作、摄影师、设计师等专业人士使用。 Lightroom Classic 2023 mac软件特点 高效的图像管理:Lightroom Classic提供了强大的图…

分布式应用程序协调服务 ZooKeeper 详解

目录 1、ZooKeeper简介 2、ZooKeeper的使用场景 3、ZooKeeper设计目的 4、ZooKeeper数据模型 5、ZooKeeper几个重要概念 5.1、ZooKeeper Session 5.2、ZooKeeper Watch 5.3、Consistency Guarantees 6、ZooKeeper的工作原理 6.1、Leader Election 6.2、Leader工作流…

Docker中MySql容器的数据挂载

1.查看是否有数据卷 docker inspect mysql 说明:Name的值是随机生成的不是命令的。因此没有数据卷。 2. 目录挂载 说明:本地目录不允许简写;在执行docker runi命令时,使用-v本地目录:容器内目录可以完成本地目录挂载…

Python之函数、模块、包库

函数、模块、包库基础概念和作用 A、函数 减少代码重复 将复杂问题代码分解成简单模块 提高代码可读性 复用老代码 """ 函数 """# 定义一个函数 def my_fuvtion():# 函数执行部分print(这是一个函数)# 定义带有参数的函数 def say_hello(n…

列表的增删改查和遍历

任务概念 什么是任务 任务是一个参数为指针,无法返回的函数,函数体为死循环不能返回任务的实现过程 每个任务是独立的,需要为任务分别分配栈称为任务栈,通常是预定义的全局数组,也可以是动态分配的一段内存空间&#…

农产品团购配送商城小程序的作用是什么

农产品覆盖稻麦油蛋等多种细分类目,各地区经营商家众多,随着人们生活品质提升,对食物的要求也在提升,绿色无污染无激素的农产品往往受到不少人喜爱,而在销售中,也有不少人选择自建商城线上经营。 通过【雨…

【软考】磁盘工作原理 计算最多最少读取时间

这个题目重复看了三四遍讲解,才完全搞懂计算过程,特此记录 解析 磁头不会停止旋转 单缓冲区:读取完一个物理块后,只有等该物理块处理完成,才能继续读取后面的物理块。 最长时间 摆放顺序如下: 从 R0 开始…

【JavaEE】JavaScript webAPI的基本知识

JavaScript Web API 文章目录 JavaScript Web APIwebAPI背景DOMDOM树 获取元素querySelectorquerySelectorAll 事件初识键盘事件onkeydownonkeypressonkeyup 操作元素获取/修改元素内容1.innerText2.innerHTML 获取/修改元素属性获取/修改表单元素属性获取/修改样式属性行内样式…

JUC——并发编程—第四部分

理解JMM Volatile是Java虚拟机提供的轻量级的同步机制。有三大特性。 1.保证可见性 2.不保证原子性 3.禁止指令重排 定义:Java内存模型,是一个概念。 关于JMM的一些同步的约定: 1、线程解锁前,必须把共享变量立刻刷回主存. 2、线程加锁前&#x…

华为鸿蒙手表开发之动态生成二维码

华为鸿蒙手表开发之动态生成二维码 前言: 最近入职新公司,由于之前的哥们临时离职,走得很突然,所以没有任何交接和文档,临时顶上公司手表应用的上架,更换了新的密钥和key之后重新测试功能和流程&#xff…

FFmpeg 基础模块:下载编译与安装、常用命令、处理流程

FFmpeg源码下载 我们会逐步分析作为 API 用户我们需要了解的 FFmpeg 中的重要模块,比如 AVFormat 模块、AVcodec 模块、AVfilter 模块、swscale 模块、swresample 模块。 在具体讲解如何使用 FFmpeg 的 API 之前,为了方便你查看 API 对应的代码&#x…

图像处理初学者导引---OpenCV 方法演示项目

OpenCV 方法演示项目 项目地址:https://github.com/WangQvQ/opencv-tutorial 项目简介 这个开源项目是一个用于演示 OpenCV 方法的工具,旨在帮助初学者快速理解和掌握 OpenCV 图像处理技术。通过这个项目,你可以轻松地对图像进行各种处理&a…

Transformer学习-self-attention

这里写自定义目录标题 Self-attentionMulti-head self-attention用self-attention解决其他问题 Self-attention 用Wq、Wk、Wv分别乘输入向量得到q、k、v向量 用每个q向量乘所有的k向量得到对应项的attention,即用每项的query向量去匹配所有的key向量,得…

由于找不到d3dx9_43.dll无法继续执行此代码怎么解决?全面解析d3dx9_43.dll

在使用计算机过程中,我们可能会遇到各种各样的问题。其中之一就是d3dx9_43.dll文件丢失的问题。这个问题通常会出现在运行某些应用程序或游戏时,导致程序无法正常启动或运行。那么,如何解决这个问题呢?小编将为您提供一些解决方案…

Leetcode字符串题目

1 sslist(s) ttlist(t) ss.sort() tt.sort() return sstt 时间复杂度更低的代码 2 dict1{} dict2{} for ch in s:dict1[ch]dict1.get(ch,0)1 # 如果有ch,则原有位置加一,没有的话就创建了(01) for ch in t:dict2[ch]dict2.get(ch,0)1 return dict1…