我手里有几台服务器,一台家里的 NAS,两台云上的。之前一直没正经装监控,总觉得 Prometheus 加 Grafana 那一套太隆重:装时序数据库,配 exporter,画 dashboard,半天就过去了。就为了看看 CPU 和硬盘,有点不至于。
上周在 GitHub 上翻到一个叫 Beszel 的项目,26K Star,Go 写的,MIT 协议。官方一句话:轻量级服务器监控,带 Docker 统计、历史数据和告警。我花十分钟把它装上了,现在天天开着。

它是怎么工作的
Beszel 就两个部件:一个 hub,一个 agent。
hub 是那个网页面板,底座直接用了 PocketBase(一个单文件后端,作者直接拿来当数据库和认证用,思路很妙)。agent 装在每台你想盯的机器上,负责采集指标传回 hub。agent 就一个 Go 二进制,装完几乎感觉不到它的存在。
整个架构里 agent 不需要开端口,装上之后自己往 hub 报到,机器不用暴露公网,这点比很多同类省心。
装起来有多快
hub 一段 docker compose 就起来:
services:
beszel:
image: henrygd/beszel
ports:
- 8090:8090
volumes:
- ./beszel_data:/beszel_data
打开 8090,注册账号,点 Add System,页面会直接生成 agent 的安装命令,复制到目标机器一跑,列表里绿点亮起就算完事。本机监控更省事,agent 挂个 unix socket 就行,连网络配置都不用碰。

能看什么
点进一台机器,图表该有的都有:CPU、内存、磁盘用量和 IO、网络流量、负载、温度。容器级的统计也有,每个 Docker 容器的 CPU 和内存单独一条线,哪个服务在偷吃资源一眼就能看出来。

让我意外的是覆盖面:GPU 用量和功耗,N 卡 A 卡 I 卡都认;S.M.A.R.T. 磁盘健康,硬盘快坏了会通知你;连 ZFS 存储池状态、风扇转速、电池电量都有。家里折腾 NAS 的朋友看到 ZFS 和 SMART 这两条应该会眼前一亮。
告警够用
每项指标都能设阈值:CPU 超过多少、持续多少分钟就触发。通知渠道走 Shoutrrr,Telegram、邮件、webhook 这些常见的,一个 URL 就配上。我加了个 Telegram bot,硬盘要是半夜报警可以直接推到手机上。

一些细节
多用户是自带的,每个用户看自己的机器,管理员可以共享。登录支持 OAuth,密码登录都能关掉。数据自动备份到本地或者 S3,也有 REST API,想接自己的脚本很方便。
资源占用是我最满意的地方,hub 和 agent 加起来内存也就几十 MB 的量级,跑在 NAS、树莓派这种小设备上毫无压力。同样的活儿让 Prometheus 全家桶来干,光进程就得开四五个。
要说不足,它就是单纯做监控,没有日志聚合那一摊,也没有 Grafana 那种花式可视化。但多数人要的就是机器活着吗、资源紧不紧、硬盘还好吗这三件事,Beszel 把这三件事做到十分钟上手,我觉得就够了。
反正免费开源,有几台机器的都可以试试。我已经把树莓派也挂上去了,下一步把爸妈家那台软路由也盯起来。