Beszel 轻量服务器监控:装在独立服务器上到底值不值
手上有几台独立服务器的人,大概都经历过这个阶段:机器跑着跑着负载上去了,等到用户反馈变慢才发现。想装套监控,一看 Prometheus 加 Grafana 那套东西,光组件就好几个,小内存的机器还没跑业务就先被监控吃掉一块。我一般会先问一句:你是要长期存指标做容量规划,还是只想在出问题前收到一条通知。答案不同,选的东西完全不同。Beszel 属于后者,一个用 Go 写的单文件二进制,Hub 加 agent 两个角色,装完基本不用管。下面把采集方式、资源开销、告警配置和服务器搭配分开说,重点放在「什么时候它够用、什么时候它不够」。
它到底采什么,和 Zabbix、Prometheus 差在哪
Beszel 的定位很窄,就是主机层面的基础指标:CPU 使用率、内存、磁盘占用、网络收发、系统负载,加上 Docker 容器的状态。agent 通过 SSH 或者内置的 WebSocket 把数据推给 Hub,Hub 用 SQLite 存历史,默认保留周期不长,想留久一点得自己改配置。
这和 Prometheus 的差别不在功能多少,在数据模型。Prometheus 是拉模式加多维标签,适合做聚合查询和长期趋势;Beszel 是推模式加固定字段,适合看单机当前状态。Zabbix 更重,模板和触发器体系完整,代价是要维护数据库和一堆配置项。
按我的经验,单看资源占用就能筛掉一批人:
- Beszel agent 常驻内存通常在几十 MB 这个量级,Hub 端也差不多
- Prometheus 单实例跑起来,内存占用经常在几百 MB 起步,指标量大了还要往上加
- Zabbix server 加上数据库,一台 2G 内存的小机器基本别想同时跑业务
所以判断标准很直接:机器本身内存就紧张,比如美国洛杉矶那类 16G 的入门独立服务器,还要跑数据库和 Web 服务,那 Beszel 是更合适的选择。反过来,如果你要做跨十几台机器的容量趋势分析,或者需要按标签做复杂聚合查询,那还是得回到 Prometheus 那一套,Beszel 补不上这块。
装之前先想清楚:告警能不能真的叫醒你
监控装完没人看,等于没装。这是我最想强调的一点。
Beszel 的告警走的是阈值触发,比如 CPU 连续超过多少、磁盘剩余低于多少,然后通过邮件或者 Webhook 推出去。Webhook 是关键,能接到聊天工具或者自建的通知服务上。如果只配了邮件告警,而你的邮箱平时不怎么看,那这套监控的价值会打不少折扣。
这里有个取舍:想省事就用现成的邮件通道,但响应慢;想及时就得接 Webhook,多花十几分钟配置。我一般建议后者,一次配好长期省心。
另外,阈值不要一上来就卡得很死。刚上线的机器,备份任务、日志切割这些定时操作都会造成短时负载尖峰,阈值设太紧会天天误报,报多了人就麻木了。可以先按一周的实际数据把基线摸出来,再收紧。
哪些机器适合先上,哪些别折腾
轻量监控最适合的场景,是机器数量不多、但每台都担着实际业务的独立服务器。这类机器通常没有云厂商自带的那套监控面板,出问题只能靠 SSH 上去看,装个 Beszel 补上这一环,性价比很高。
比如香港自营物理服务器这类配置,40 核 80 线程加 64G 内存,本身资源宽裕,跑一个 Hub 加 agent 几乎感觉不到开销,还能顺便把同机房其他机器纳管进来。带宽跑到 100M 的机器,网络指标的变化也看得清楚。
反过来,下面这几种情况我会劝你先别装:
- 机器只有 1G 内存,业务本身已经吃紧,再加监控进程意义不大
- 需要保留半年以上的指标做审计,Beszel 的存储模型不适合
- 已经有成熟的监控体系在跑,重复部署只会增加维护面
还有一点,agent 的安装方式决定了维护成本。用 SSH 模式的话,Hub 要持有各台机器的凭据,安全性上要多想一层;用 WebSocket 模式则要在每台机器上单独装 agent,机器多了会累一点。机器数量在十台以内,两种都还行;再往上,就得考虑自动化部署了。
和服务器选型绑在一起看,才是完整的账
监控工具本身不贵,Beszel 是开源免费的,真正要算的是它帮你省下什么。
一台独立服务器出一次磁盘写满导致的宕机,损失的时间和数据往往比服务器月费高得多。装监控的成本主要是配置时间,这部分投入换回来的是「提前知道」,而不是「事后排查」。
如果你的机器分布在不同地区,建议 Hub 部署在访问最稳定的那台上,比如德国法兰克福那类大带宽高配机器,10G 带宽下 agent 上报的延迟更可控。机器本身配置高,多跑一个 Hub 也不影响业务。
至于要不要为监控单独买一台机器,我的判断是:机器总数低于五台,没必要,直接跑在业务机上就行;超过十台,或者业务机内存本来就紧,那单独找一台低配机器做 Hub 更划算。
最后给个能直接照着做的结论。机器数量在三到十台之间、跑的是独立服务器、只需要看基础指标和收告警,Beszel 是当前比较省心的选择,配置时间大概半小时到一小时。需要长期存指标、做多维查询、或者机器规模上了几十台,就别在这上面花时间,直接上 Prometheus 那套。预算紧、机器内存小,又只想知道「机器还活着吗」,那 Beszel 的轻量正好对上。