zabbix、netdata和glances,做最简单的系统资源监控

软件需要显示服务器的资源信息(CPU、内存、网络、硬盘等),但是软件是在Docker容器中运行。

目前方案

通过ssh在主机上远程运行ps、free等指令,获取相应的信息。这种方案需要代码配置主机的IP,以及用户名和密码,一方面对于安全性来说不好,另一方面容器和主机通过IP进行了耦合,所以想看看有没有其他的方案。
要求:

  1. 开源
  2. 可以本地部署,也可以容器部署
  3. 在容器中部署,可以监控主机的资源
  4. 对系统资源占用的越小越好
  5. 需要支持ARM架构

zabbix

Zabbix:企业级开源监控解决方案
功能非常齐全,手册非常详细。
server没有windows版本,agent有windows版本;
但是zabbix感觉有些重,需要部署多个容器。

glances

nicolargo/glances: Glances an Eye on your system. A top/htop alternative for GNU/Linux, BSD, Mac OS and Windows operating systems.
glance是python编写的轻量级系统监控,可以命令行交互,也可以web交互,对系统资源的占用非常小。它是基于psutil开发的,psutil可以在容器中获取主机信息,参考:Allow specifying /proc and other needed folders · Issue #558 · giampaolo/psutil,以及psutil inside docker container reports host stats · Issue #1011 · giampaolo/psutil

但是看了一下glances的代码,发现其中把“/proc”路径写死在代码中
在这里插入图片描述
如果想在容器中监控主机资源,就需要把所有的“/proc/”硬编码改为变量,有些犯懒了,不想改。
可以考虑使用psutil修改原来的代码,这样可以不用保存密码和主机IP,应该也能解决问题。

也可以考虑把对应的文件从主机映射到容器中,例如:如果要检测主机的启动时间-v /proc/uptime:/proc/uptime:ro
但是有些文件如果从主机映射到容器,可能会影响容器的运行,这个就需要一个一个测试了。

netdata

Learn Netdata
netdata基本功能开源,高级功能收费,部署较为简单(一个容器即可),对系统的资源占用可以根据开启的功能优化,
计划使用netdata作为系统资源监控方案

CPU:As a general rule, for modern hardware and VMs, the total CPU consumption of a standalone Netdata installation, including all its components, should be below 5 - 15% of a single core. For example, on 8 core server it will use only 0.6% - 1.8% of a total CPU capacity, depending on the CPU characteristics.
Memory:The memory footprint of Netdata is mainly influenced by the number of metrics concurrently being collected. Expect about 150MB of RAM for a typical 64-bit server collecting about 2000 to 3000 metrics.
Disk:By default, Netdata should not use more than 1GB of disk space, most of which is dedicated for storing metric data and metadata. For typical installations collecting 2000 - 3000 metrics, this storage should provide a few days of high-resolution retention (per second), about a month of mid-resolution retention (per minute) and more than a year of low-resolution retention (per hour).

How to optimize the Netdata Agent’s performance | Learn Netdata
上面的网址中有netdata对系统资源占用的评估,以及优化的说明

netdata好像还没有windows的版本,但是有windows的exporter,Windows Monitoring

  • 设置数据采集频率 Reduce the data collection frequency​,​Reduce collection frequency
  • 设置数据保存次数 Running Netdata on embedded devices​
  • 关闭不需要的采集器和插件 Disable a collector or plugin​,Collectors
  • 关闭报警和提示 Disable a specific alert​,Turn of all alerts and notifications​,是关掉部分,还是全部,还没有想好
  • 系统是多机部署时,采用分布式部署 How metrics streaming works
    • Use memory mode ram or save for the child nodes​
    • ​Disable health checks on the child nodes
    • Disable machine learning on the child nodes​
  • 降低数据保留的内存使用 Change how long Netdata stores metrics
  • 使用反向代理​ Running Netdata behind a reverse proxy
  • 关闭dashboard的数据压缩 Disable/lower gzip compression for the dashboard​
  • 开启KSM Enable KSM in kernel​,对ksm不是很了解,需要测试一下对其他服务的影响

这是我的设置:
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

指针(笔记1)

一、内存和地址 内存及其管理方法: 1.计算机主存储器由一个一个存储单元组成,微型计算机以字节作为存储单元 2.内存区的每一个字节有一个唯一的编号,这就是“地址”,它相当于教学楼中的教室号 3.内存地址,是一个无符号整数(un…

04.仿简道云公式函数实战-QLExpress基础语法

1. 前言 小伙伴大家好,在上一篇文章我们简单初探了QLExpress表达式引擎,我们简单写了一个HelloWorld的程序,并成功的运行期望的结果。在本篇文章中我们来熟悉一下QLExpress的语法,因为我们在后面简道云公式实战的时候&#xff0c…

java之SpringBoot开发实用篇

MENU SpringBoot开发实用篇KF-1.热部署KF-1-1.手动启动热部署KF-1-2.自动启动热部署KF-1-3.参与热部署监控的文件范围配置KF-1-4.关闭热部署 KF-2.配置高级KF-2-1.ConfigurationPropertiesKF-2-2.宽松绑定/松散绑定KF-2-3.常用计量单位绑定KF-2-4.校验KF-2-5.数据类型转换 KF-3…

MFC CLXHHandleEngine动态库-自定义设置对话框使用

实现的效果如下所示: void CSampleDlg::OnBnClickedButton2() { // TODO: 在此添加控件通知处理程序代码 CSgxMemDialog dlg(180, 100); dlg.SetEnable(true); dlg.SetWindowTitle(_T("自定义对话框")); dlg.AddStatic(1000, //控件资源…

Sbatch, Salloc提交任务相关

salloc 申请计算节点,然后登录到申请到的计算节点上运行指令; salloc的参数与sbatch相同,该部分先介绍一个简单的使用案例;随后介绍一个GPU的使用案例;最后介绍一个跨节点使用案例; 首先是一个简单的例子&a…

SpringBoot整合ZXing创建二维码和条形码

文章目录 1、引入依赖2、Service层实现3、Controller4、效果 之前SpringSecurity时,登录用到了图片验证码辅助登录:【 整合hutool实现集成图片验证码】,以下为整合zxing实现二维码和条形码的生成。 1、引入依赖 引入ZXing依赖的坐标&#x…

探索未来新趋势:鸿蒙系统的崭新时代

探索未来新趋势:鸿蒙系统的崭新时代 随着科技的不断发展,操作系统作为计算机和移动设备的核心,扮演着至关重要的角色。近年来,一种备受瞩目的操作系统——鸿蒙系统(HarmonyOS)崭露头角,正引领着…

Servlet学习笔记

简介 浏览器请求处理流程:浏览器发请求 > 服务器tomcat( > 应用程序 ( > servlet) ) Servlet应用的三大作用域:request,session,application tomcat存放项目的层级结构 注释:servlet原引用包名 javax.serv…

城市道路积水如何有效预警?内涝积水监测仪效果

在城市中道路积水是一个常见的问题,特别是在暴雨季节还可能形成城市内涝。为了解决这个问题建立一个有效的预警系统是至关重要的。城市内涝积水监测仪应该能够实时监测道路积水情况,并及时向后台工作人员发出警报,以便他们能够采取适当的措施…

mysql中的DQL查询

表格为: DQL 基础查询 语法:select 查询列表 from 表名:(查询的结果是一个虚拟表格) -- 查询指定的列 SELECT NAME,birthday,phone FROM student -- 查询所有的列 * 所有的列, 查询结果是虚拟的表格&am…

【Spring教程23】Spring框架实战:从零开始学习SpringMVC 之 SpringMVC简介与SpringMVC概述

目录 1,SpringMVC简介2、SpringMVC概述 欢迎大家回到《Java教程之Spring30天快速入门》,本教程所有示例均基于Maven实现,如果您对Maven还很陌生,请移步本人的博文《如何在windows11下安装Maven并配置以及 IDEA配置Maven环境》&…

LANDSAT_7/02/T1/RAW的Landsat7_C2_RAW类数据集

Landsat7_C2_RAW是指Landsat 7卫星的数据集,采用的是Collection 2级别的数据处理方法,对应的是Tier 1级别的原始数据(RAW)。该数据集包括了Landsat 7卫星从1999年4月15日开始的所有数据,共涵盖了全球范围内的陆地和海洋…

【开源】基于Vue和SpringBoot的森林火灾预警系统

项目编号: S 019 ,文末获取源码。 \color{red}{项目编号:S019,文末获取源码。} 项目编号:S019,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 系统基础模块2.3 烟…

Aligning Large Multi-Modal Model with Robust Instruction Tuning

Abstract 尽管多模态任务取得了有希望的进展,但当前的大型多模态模型(LMM)很容易产生与相关图像和人类指令 不一致的描述的幻觉。 LRV-指令。我们通过引入第一个大型且多样化的视觉指令调整数据集来解决这个问题,该数据集名为大…

【项目实现】ResShift:通过残差位移实现图像超分辨率的高效扩散模型(NeurIPS 2023,聚焦)

基于扩散的图像超分辨率(SR)方法主要受到数百甚至数千个采样步骤要求导致推理速度低的限制。现有的加速度采样技术不可避免地在一定程度上牺牲了性能,导致SR结果过于模糊。为了解决这个问题,我们提出了一种新颖而高效的SR扩散模型…

天池SQL训练营(四)-集合运算-表的加减法和join等

-天池龙珠计划SQL训练营 4.1表的加减法 4.1.1 什么是集合运算 集合在数学领域表示“各种各样的事物的总和”, 在数据库领域表示记录的集合. 具体来说,表、视图和查询的执行结果都是记录的集合, 其中的元素为表或者查询结果中的每一行。 在标准 SQL 中, 分别对检索结果使用 U…

AWS Ubuntu设置DNS解析(解决resolve.conf被覆盖问题)

众所周知: Ubuntu在域名解析时,最直接使用的是/etc/resolve.conf文件,它是/run/systemd/resolve/resolve.conf的软链接,而对于刚装完的ubuntu系统,该文件的内容如下 ubuntuip-172-31-36-184:/etc$ cat resolv.conf #…

02-Nacos和Eureka的区别与联系

Nacos和Eureka的区别 联系 Nacos和Eureka整体结构类似: 都支持服务注册, 服务拉取, 采用心跳方式对服务提供者做健康监测的功能 区别 Nacos支持服务端主动检测服务提供者状态: 临时实例采用心跳模式,非临时实例采用主动检测模式但对服务器压力比较大(不推荐) 心跳模式: 服务…

华为数通方向HCIP-DataCom H12-831题库(多选题:161-180)

第161题 以下关于IS-IS路由渗透的描述,正确的有哪些项? A、若要配置Level-2区域的路由向Level-1区域渗透,则需要在Level-1设备上配置命令import-routeisis level_-2 into level_-1 B、缺省情况下,Level-2区域无Level-1区域的路由信息,需要通过在Level-1-2设备上配置impor…

PPT插件-好用的插件-插入媒体-大珩助手

批量媒体 包含批量视频、批量音频、批量图片,可实现从光标所在的位置开始,每页插入一个视频、一个音频、一张图片,且图片和视频的尺寸与当前幻灯片尺寸一致 插入文本 包含黑字无底、白字红底、白字黛底、白字绿底、白字蓝底预设一键文本&am…