Beszel 轻量服务器监控:一台 1 核小鸡也能跑起来的值班工具

2026-10-02 19:25 1003 次浏览

手里机器一多,最怕的不是出故障,是出了故障你还不知道。我见过不少人给一台 2 核 2G 的 VPS 装上一整套监控,结果监控自己吃掉一半内存,被监控的站点反而被挤得卡顿。这种时候需要的是「够用就好」的工具:能看 CPU、内存、磁盘、网络和容器状态,能发告警,自己别太重。Beszel 就是冲着这个定位来的——单二进制、自带 Web 面板、Agent 常驻内存通常只有几十 MB。下面按「它解决什么问题、怎么部署、看哪些指标、什么时候不该用它」的顺序讲,预算紧或者机器不多的人可以直接照着做。

为什么小机器上装监控,第一件事是看它自己吃多少

监控工具本身的开销,比很多人想的重要。传统方案通常要跑一个时序数据库加一个可视化面板,再配一个采集端,三件套叠起来,内存占用轻松到几百 MB 甚至上 G。这在 8G 以上的机器上无所谓,落到 1 核 1G 的小鸡上就是灾难。

Beszel 的架构简单:Hub 负责面板与数据存储,Agent 装在被监控的机器上,通过 SSH 或内置的 HTTP 接口上报数据。Hub 用 Go 写,单文件部署,不需要额外装数据库。按我的经验,Hub 在小规模场景下常驻内存大致在几十 MB 到一百多 MB 之间,具体看保留多久的历史数据。

这个差别值多少钱?一台 1 核 1G 的小机器月付可能就十几美元,如果监控自己吃掉 500MB,等于白买半台。省下来的内存留给业务,才是这类工具存在的意义。

它默认采集的指标覆盖:

  • CPU 使用率、负载、核心数
  • 内存与 Swap 占用
  • 磁盘容量与读写
  • 网络上下行流量
  • Docker 容器状态与资源占用

够不够用,取决于你要监控什么。只看机器活着没、资源有没有跑满,这些完全够。

部署这件事,Hub 和 Agent 分开放更省心

Hub 建议放在一台相对稳定的机器上,别和业务挤同一台。原因很直接:业务机器重启、迁移、重装系统的概率,比一台专职监控机高得多,监控跟着业务一起挂,等于没有监控。

我一般会先拿一台低配机器专门跑 Hub,配置不用高,1 核 1G 通常就够。如果要监控的机器在十几个以内,这个配置能撑住;再多就得看历史数据保留策略,或者考虑把数据落盘周期调短一些。

Agent 装在被监控机器上,通过 SSH 方式接入时,Hub 需要能连上目标机器的 SSH 端口。这里有个坑:不少机房默认改过 SSH 端口,或者只开放了密钥登录,配置时要把端口和密钥路径写对,否则面板上会一直显示离线。另一种方式是 Agent 主动向 Hub 上报,适合目标机器在 NAT 后面、Hub 连不进去的场景。

网络这块,如果 Hub 和目标机器跨机房,延迟会体现在数据刷新上。国内到海外机房延迟通常在 150ms 以上,面板刷新慢一点无所谓,但告警延迟会跟着变大。对告警时效要求高的,Hub 尽量选在离业务近的机房。

要是手上是香港的物理机,本身线路稳、延迟低,把 Hub 放上去监控同区域的其他机器,是比较省事的做法,比如香港自营物理服务器(20M)⑤,E5-2695V4 十八核三十六线程、32G 内存、20M 带宽,月付 1350 元,跑 Hub 之余还能兼做别的用途,不算浪费。

告警配得好不好,决定了它是工具还是摆设

监控最大的价值在告警,而告警最容易踩的坑是「阈值拍脑袋定」。CPU 超过 80% 就报警,听起来合理,实际上很多站点白天本来就会冲到 80% 以上,一天收几十条通知,最后你直接把通知静音了。

我的做法是分两类:一类是硬阈值,比如磁盘使用率超过 90%、内存持续 10 分钟高于 95%、机器失联,这类必须报,而且优先级最高。另一类是趋势类,比如磁盘每天增长多少、带宽是否接近套餐上限,这类适合定期看一眼,不必实时推送。

Beszel 支持把告警推到常见的通知渠道,配置时注意两点:

  • 同一台机器的同类告警要设冷却时间,否则故障期间会被刷屏
  • 失联告警的判定时间别设太短,跨机房网络抖动几秒很常见,设 3 到 5 分钟比较稳

还有一点常被忽略:告警发出去之后,谁来看。机器少的时候自己看没问题,机器多了得排值班,否则半夜的告警没人理,第二天才发现磁盘满了。

磁盘满这件事在老机器上尤其常见。日志不清理、备份文件堆积,几个月就能把盘吃满。Beszel 的磁盘指标能提前看到增长曲线,比等到服务写不进文件再救火强得多。

它不适合所有人,这几种情况别硬上

先说结论:如果你要的是大规模集群监控、复杂的查询语言、多租户权限体系,Beszel 不是为这个设计的。它的定位是轻量、单人或小团队、机器数量在几十台以内。

具体来说,这几种场景我会建议换方案:

  • 需要秒级精度、长期保留原始数据的,轻量方案的采样间隔和数据保留都会打折
  • 需要按业务维度做复杂聚合与告警规则的,它的规则表达能力有限
  • 机器规模上百台、要多人协作分权的,得用更重的体系

反过来,如果你手上就几台到十几台机器,预算有限,又不想为了监控专门买一台高配服务器,那它很合适。省下来的钱可以花在更实在的地方,比如把带宽从 20M 升到 50M,或者给站群多备一台机器。

跨区域的机器尤其适合这种轻量方案。比如马来西亚机房的大带宽机器,马来西亚大带宽服务器 XIV,双路 E5-2698v4、64G 内存、50M 带宽,月付 628.50 美元,这类机器通常跑的是面向东南亚的业务,用 Beszel 监控资源占用和带宽走势,比装一套重型监控划算。

美国洛杉矶的高防机器也是类似的逻辑,美国洛杉矶高防服务器36,双路 Gold-6133、64G 内存、100M 带宽,月付 319 美元,被攻击时 CPU 和网络流量会明显异常,监控能帮你第一时间看出是哪台在被打。

最后给个可执行的判断:机器在 20 台以内、想省内存和预算、只需要基础指标加告警,就选 Beszel,Hub 放 1 核 1G 的机器上,Agent 铺到各业务机,告警先只配磁盘满和失联两条。机器规模大、要复杂分析和多人协作,就别在这上面花时间,直接上更重的方案。至于 Hub 放哪,离业务近、线路稳的那台优先,这点比配置高低更影响体验。