服务器监控不想折腾?Beszel 这套轻量方案值得一看
手上有几台服务器的人,多数都经历过这个阶段:一开始懒得装监控,机器跑着跑着突然连不上,登上去一看磁盘满了或者内存被某个进程吃光。等到想补监控,市面上那几套主流方案一装,光依赖就够折腾半天。我一般会先问一句:你到底几台机器?如果不超过十台,真没必要上那么重的东西。
它到底轻到什么程度
Beszel 是这两年比较多人提到的一个开源监控面板。它的核心思路很简单:中心端跑一个 hub,负责收数据和出图;被监控的机器不需要装 agent,hub 通过 SSH 连过去,定时拉取 CPU、内存、磁盘、网络这些指标。
这个设计带来的直接好处是部署成本低。官方给出的最低要求大致是 512MB 内存起步,实际跑起来,1 核 1G 的小机器就能带十几台被监控的服务器。对比那些动辄要 2G、4G 内存、还要单独装数据库的监控系统,省下来的不只是一点内存。
我见过不少小团队,机器总数不到五台,却硬上了一套完整的 Prometheus 加 Grafana,结果监控本身成了要维护的负担。换我我会先用 Beszel 这种量级的工具,等机器数量真的上去了再换。
数据存储用的是 SQLite,单个文件,备份直接拷走就行。这一点对没有专职运维的团队很友好——不用操心数据库的连接数、主从、慢查询。
SSH 采集这件事,好处和代价都在这
不用装 agent,意味着新机器上线只要在 hub 里填一下 IP、端口、账号就能纳管。但它也带来两个现实问题,选之前得想清楚。
- hub 必须能 SSH 到被监控的机器,网络策略要放开;如果机器分布在多个机房,就得保证 hub 到各处的连通性
- 采集频率受 SSH 连接开销限制,秒级精度的实时告警不是它的强项
所以它的定位很清楚:日常巡检、容量趋势、磁盘水位这类需求,它完全够用。你要是想做秒级抖动的性能分析,那得上 agent 常驻的方案。
另外一点,SSH 账号的权限要收好。我一般建议单独建一个只能读基础指标的账号,别直接拿 root 密钥给监控用。
告警和实际用起来的取舍
Beszel 支持把告警推到常见的通知渠道,阈值可以按机器单独设。这里有个容易忽略的地方:默认阈值不一定适合你的业务。
比如磁盘告警,默认可能在 90% 触发。但如果你的机器上跑的是日志写入量很大的服务,90% 到写满可能就几个小时。反过来,一台只做静态分发的机器,长期在 85% 也不会有事。阈值要按机器角色分开配,别一套走天下。
多用户和权限方面,它做得比较基础。小团队几个人共用没问题,人一多、要分角色管理的时候就会觉得不够用。这也是它和商业监控平台的主要差距所在。
部署上,容器方式最省事,一条命令起来。要注意的是数据目录要挂出来,不然容器重建的时候监控历史就没了。这个坑我见过不止一次。
如果你手上有香港或者日本机房的独立服务器,SSH 采集这种模式对线路稳定性有点要求。拿 香港大带宽服务器 V 这类配置跑 hub,G 口带宽下采集十台机器的指标基本没有压力。日本方向的话,日本高防服务器 V 也能胜任,50M 带宽对监控流量来说绰绰有余。
什么时候该换掉它
明确一下适用边界,省得后面返工。
机器数量在十台以内、没有专职运维、只需要看资源和磁盘趋势的,Beszel 是性价比很高的选择。部署加配置,一个下午能搞定。
出现下面这些情况,就该考虑迁移了:需要秒级精度和复杂告警规则;机器超过几十台,SSH 采集的轮询开销开始明显;需要和现有的工单、发布系统打通。这些需求它都覆盖不了,硬撑下去只会越用越别扭。
监控工具本身不该变成负担。先用轻的跑起来,把数据积累起来,比纠结选哪套完美方案更有意义。