#佳软 LTStats一个轻量级的服务器监控软件

最近看到有网友分享的一个开源的服务器监控软件(C语言编写),同时也放上了相关的Demo,看着还不错。最近准备安装在自己的闲置VPS测试一下。关于LTStats,下面是Github上的介绍:

LTStats 是一个轻量级的资源监控系统,专为Linux系统设计,采用Agent-Server架构,具有低资源消耗、易于部署等特点。

Demo:https://status.0lt.de/

主要特性

  • 轻量级设计:后端代码少于3000行C语言,前端少于2000行JavaScript
  • 低资源占用:Agent端仅需约250KB存储空间和300KB内存,Server端约150KB存储和500KB内存
  • 无需特殊权限:Agent和Server都以非特权用户运行,无需特殊端口
  • 本地数据缓存:当服务器不可达时,数据会保存在本地内存中
  • 安全设计:所有安装脚本都会验证二进制文件校验和,确保安全性

系统架构

LTStats 分为两个主要组件:

  1. Agent组件:运行在待监控系统上,收集各种数据点包括:
  • 内核信息、处理器信息、CPU核心数
  • 系统运行时间、CPU使用率、CPU等待时间、CPU窃取时间
  • 内存总量和使用量、交换空间总量和使用量
  • 磁盘总量和使用量、网络流量、磁盘IO
  • 将数据上传到服务器
  1. Server组件:只运行在一台服务器上,具有三大功能:
  • 保存数据
  • 发送通知
  • 显示Web界面

监控数据存储

  • 每个监控点的数据存储约为40字节
  • 默认设置下,每个监控点每分钟采集一次数据
  • 每个监控点每年的存储空间约为20MB

Web界面功能

  • 状态页面:显示系统状态概览
  • 监控详情:包含历史数据的图表
  • 管理界面:用于配置和管理监控系统
  • 响应式设计:支持桌面和移动设备
  • 主题切换:支持亮色和暗色模式

通知功能

  • 支持上下线通知
  • 支持资源阈值告警
  • 可自定义通知脚本和程序
  • 内置msmtp邮件通知支持

部署要求

  • 操作系统:目前仅支持Linux系统(x86_64架构)
  • 内核要求:近十年内编译的内核均可支持
  • 文件系统:Agent需要/proc文件系统,建议同时挂载/sys文件系统
  • 时间同步:服务器和Agent端都需要准确的时间(偏差小于5秒最优)

安装方式

提供自动化安装脚本,支持systemd系统。也支持手动安装和Docker部署(但不推荐Docker方式)。

注意事项

  • 目前仅支持x86_64架构,ARM支持正在计划中
  • 大规模自动化部署Agent的功能有限
  • 需要TLS反向代理进行HTTPS访问
  • 相比其他解决方案,监控项相对有限

项目地址https://github.com/lukastautz/ltstats

猜你 喜欢

关于作者: 微魔

小微魔,大智慧!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注