项目地址:https://gitcode.com/zhenglc/linux-server-monitor


一、前言:我为什么需要一个监控面板?

事情是这样的。

我有一台云服务器,平时跑着几个服务,偶尔还要跑跑 AI 推理任务。以前监控服务器状态全靠 SSH 进去敲命令:

top          # 看 CPU
free -h      # 看内存
df -h        # 看磁盘
nvidia-smi   # 看 GPU

说实话,挺麻烦的。每次都要打开终端、SSH 连接、敲命令,看完再关。而且这些命令的数据都是静态的,想看趋势还得自己记。

后来试过一些主流的监控方案:

  • Grafana + Prometheus:功能强大,但部署太重了,光配置就搞了半天,而且 7×24 采集数据,我的小服务器 CPU 常年多占 5%
  • Netdata:开箱即用,但资源占用也不低,内存常驻 200MB+
  • 各种面板:要么依赖 Docker,要么需要 Nginx 反向代理,部署起来头大

直到我发现了这个项目 —— linux-server-monitor

用了一周之后,我想说:这才是我想要的监控工具。


二、初体验:部署居然这么简单?

说实话,第一次看到这个项目的 README 时,我有点怀疑。

抱着试试看的心态,我跟着文档走了一遍:

# 克隆项目
git clone https://gitcode.com/zhenglc/linux-server-monitor.git
cd linux-server-monitor

# 构建
chmod +x build.sh manage.sh
./build.sh

# 编辑配置,改个密码
vim settings.conf

# 启动
./manage.sh start

整个过程不到 5 分钟。

没有 Docker,没有 Nginx,没有数据库,没有依赖安装。就是一个二进制文件 + 一个管理脚本 + 一个配置文件。

打开浏览器访问 http://服务器IP:8888,输入账号密码登录,进入主界面,一个深色主题的监控面板就出现在眼前了。

在这里插入图片描述
好家伙,这颜值,比我之前用的那些面板都好看。


三、实际使用体验

1. 系统概览:一目了然

首页就是系统概览,服务器基本信息、运行时间、系统负载、CPU/内存/磁盘的快速统计,全部一目了然。

以前我要打开 4 个终端窗口才能看完的信息,现在一个页面就搞定了。

2. 内存和磁盘:告别 free -h 和 df -h

在这里插入图片描述

在这里插入图片描述

内存页面不仅有物理内存的使用情况,还有交换分区的统计,进度条可视化,一眼就能看出内存够不够用。

磁盘页面更实用,每个分区的使用率、已用空间、可用空间、I/O 读写速度,全部展示出来,还能按列排序。以前磁盘满了还得一个个分区查,现在直接排序就能找到哪个分区快满了。

4. 网络监控:流量一目了然

在这里插入图片描述

网络页面展示了每个网卡的收发速率,对于排查网络问题特别有用。以前要 iftop 或者 nload,现在直接在浏览器里看。

5. GPU 监控:AI 训练党的福音

在这里插入图片描述

这个功能我是最满意的,也是我最需要的。

我偶尔会跑一些 AI 推理任务,以前监控 GPU 状态只能反复切终端敲 watch -n 1 nvidia-smi,现在直接在面板上看温度、利用率、显存、功耗,数据每秒刷新,比命令行直观太多了。

而且温度还有颜色警告,正常是绿色,温度高了会变黄变红,再也不用担心 GPU 过热了。

6. 磁盘分析:Web 版 ncdu

这个项目还内置了一个类似 ncdu 的磁盘分析工具,可以可视化地查看每个目录的大小,支持展开折叠,快速定位磁盘空间被谁吃掉了。

这个功能我用了两次,一次发现 /var/log 占了 20GB,一次发现某个项目的 node_modules 占了 8GB,清理之后磁盘空间直接多了 20G。
在这里插入图片描述


四、最让我惊喜的两个设计

设计一:没人看就自动休眠

这个设计真的太贴心了。

我之前用的那些监控工具,不管有没有人看,都是 7×24 小时不间断采集数据,我的小服务器 CPU 常年被监控工具占用 3%-5%。

这个面板不一样——没人访问的时候,它会自动进入休眠状态,不占用任何 CPU 资源。

我特意用 top 观察了一下:

  • 打开面板时:进程正常采集数据,CPU 占用约 1%
  • 关闭面板 2 分钟后:进程进入休眠,CPU 占用 0%
  • 再次打开面板:瞬间唤醒,数据实时更新

这才是轻量级监控该有的样子。

设计二:单文件部署,scp 就能用

这个项目的部署方式让我印象深刻。

整个项目构建之后,output/ 目录里只有三个文件:

output/
├── server-monitor    # 单文件二进制
├── manage.sh         # 服务管理脚本
└── settings.conf     # 配置文件

部署到服务器只需要:

scp -r output/ user@server:/opt/server-monitor/
ssh user@server
cd /opt/server-monitor
./manage.sh start

没有 Docker,没有 Nginx,没有依赖,三个文件搞定。

对于我这种经常需要在多台服务器之间切换的人来说,这个部署方式简直太友好了。


五、和主流方案对比

对比项 linux-server-monitor Grafana+Prometheus Netdata
部署难度 ⭐ 极简,单文件 ⭐⭐⭐⭐⭐ 复杂 ⭐⭐ 中等
资源占用 ⭐ 极低,休眠时 0% ⭐⭐⭐⭐⭐ 高 ⭐⭐⭐ 中等
GPU 监控 ✅ 内置 ❌ 需额外配置 ✅ 支持
磁盘分析 ✅ 内置 ncdu 风格 ❌ 不支持 ❌ 不支持
按需休眠 ✅ 支持 ❌ 不支持 ❌ 不支持
适合场景 个人/小团队/低配服务器 企业级/大规模 中等规模

结论:如果你只需要监控几台服务器,这个工具比 Grafana 轻量太多了。


六、一些小建议

用了一周,整体体验很好,提几个小建议给作者参考:

  1. 移动端适配:目前移动端查看体验一般,希望能进一步优化
  2. 告警功能:希望能增加阈值告警,比如 CPU 超过 90% 推送通知
  3. 历史数据:目前是实时数据,希望能增加历史趋势图

不过这些都不影响它已经是一个非常优秀的工具了。


七、总结

如果你也在找一个轻量、好部署、颜值高的 Linux 服务器监控工具,我强烈推荐试试这个项目。

它的核心优势:

  • 单文件部署,没有依赖,scp 就能用
  • 按需休眠,没人看就不占资源
  • 功能全面,CPU/内存/磁盘/网络/GPU/磁盘分析,一个面板搞定
  • 颜值在线,深色主题,科技感仪表盘
  • 内置认证,生产环境安全可用

适合谁用:

  • 个人服务器管理员
  • 跑 AI 任务需要监控 GPU 的开发者
  • 不想部署重型监控方案的小团队
  • 喜欢轻量工具的极客

📌 项目地址https://gitcode.com/zhenglc/linux-server-monitor

具体的技术架构、API 设计、源码实现,大家可以去仓库查看。Rust + Next.js 的技术栈,代码质量很高,值得学习。


如果你也用过这个项目,欢迎在评论区分享你的使用体验!觉得有帮助的话,别忘了给项目点个 Star~

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐