服务器监控工具Beszel上手:轻量到一台树莓派就能跑
Beszel是一款基于Go的轻量服务器监控工具,单二进制文件部署,资源占用极低,支持多节点与Docker容器监控。本文介绍其安装配置、告警设置与实战避坑要点,适合中小站长和运维人员自建监控。
为什么又冒出一个监控工具值得试
服务器跑着跑着就卡了,登上去一看CPU飙满、内存被吃光,这种事每个站长都遇到过。商业监控方案按主机收费,几台机器还好,机器一多账单就不好看。Beszel是个用Go写的开源监控工具,整个服务端就是一个二进制文件,丢到机器上跑起来就能用,内存占用常年徘徊在几十MB。
它的架构很直白:一个Hub负责收数据和展示界面,每台被监控的机器上跑一个Agent。Agent通过SSH或者WebSocket把CPU、内存、磁盘、网络、Docker容器状态报给Hub。没有复杂的中间件,不需要额外装数据库,数据直接写进本地文件。
安装与配置:十分钟能跑起来
最省事的办法是用Docker Compose起Hub。拉一个镜像,映射好端口,挂一个数据目录,起来之后浏览器访问就能看到登录页。第一次登录会让你设管理员账号,然后添加系统。
添加被监控机器有两种方式。一种是填SSH信息,Hub主动去拉数据;另一种是在目标机上手动部署Agent,通过WebSocket连回来。后者更适合NAT后面的机器,也避免把SSH密钥交给监控端。
- Hub建议放在一台稳定的小机器上,别和业务高峰抢资源。
- Agent二进制只有几MB,直接scp上去加个systemd服务就完事。
- Docker容器监控需要在Agent侧挂载docker.sock,注意权限控制。
如果你手头有闲置的物理服务器,拿一台低配的来跑Hub就够用。比如香港服务器6这种E5双路加64G内存的配置,跑监控Hub绰绰有余,还能顺便放点别的小服务。
告警怎么设才不烦人
Beszel的告警走的是阈值触发,CPU、内存、磁盘、网络上下行都能设。关键是别把所有阈值都拉满,不然一天到晚收通知,最后直接屏蔽。
比较实用的做法是分层。磁盘使用率超过85%必须告警,这是硬伤;CPU持续5分钟超过90%再报,避免瞬时毛刺误报;网络流量适合设个上限,防止被刷。告警通道支持邮件、Webhook,接企业微信或者Slack都行。
有个坑要注意:Beszel默认的数据保留策略会定期清理旧记录,如果你需要长期趋势分析,得把保留周期调长,或者定期导出数据。另外多节点场景下,Hub本身的负载也要留意,节点数量超过几十台时建议给Hub加资源。
适合谁用,不适合谁
如果你就管几台到几十台机器,想要一个不折腾、不花钱、界面清爽的监控,Beszel很合适。它的定位就是轻量,不追求Prometheus那种全维度指标采集,也不做复杂的大盘联动。
但如果你需要精细到每个进程的调用链追踪、需要和海量日志系统打通,那它撑不住,还是得回到专业方案。监控工具没有万能解,看清楚自己的规模再选,比盲目追新更重要。