当前位置: 首页 > article >正文

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作为系统资源监控方案
How to optimize the Netdata Agent’s performance | Learn Netdata
上面的网址中有netdata对系统资源占用的评估,以及优化的说明

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


http://www.kler.cn/news/163360.html

相关文章:

  • Linux 环境部署RabbitMQ
  • Qt/C++音视频开发58-逐帧播放/上一帧下一帧/切换播放进度/实时解码
  • 导入自定义模块出现红色波浪线,但是能正常执行
  • 微信机器人接口开发
  • SQL Server 数据库,多表查询
  • 设计模式——七大设计原则
  • 人工智能教程(三):更多有用的 Python 库
  • 12.Mysql 多表数据横向合并和纵向合并
  • 记录 | CUDA编程中用constexpr替代__host____device__
  • 爬虫学习(三)用beautiful 解析html
  • 最简单的基于 FFmpeg 的音频解码器
  • 3D Gaussian Splatting的使用
  • TortoiseGit 下载代码
  • uni-app 微信小程序之好看的ui登录页面(五)
  • SAP UI5 walkthrough step8 Translatable Texts
  • 【密码学引论】密码协议
  • nginx反向代理到aws S3 ,解决S3返回500、502、503错误
  • 微信小程序 纯css画仪表盘
  • CCKS2023-面向金融领域的主体事件检测-亚军方案分享
  • javascript实现Stack(栈)数据结构
  • PySpark开发环境搭建常见问题及解决
  • 网站内容审核功能的重要性
  • MYSQL练题笔记-子查询-换座位
  • unity 2d 入门 飞翔小鸟 小鸟碰撞 及死亡(九)
  • EOCR-CT电流互感器与SR-CT区别简介
  • 『Linux升级路』进度条小程序
  • vue使用甘特图dhtmlxgantt + gantt.addTaskLayer
  • 基于高通MSM8953平台android9.0的GPIO驱动开发
  • Hbase JAVA API 增删改查操作
  • 【电子取证篇】汽车取证数据提取与汽车取证实例浅析(附标准下载)