今天来介绍一个很有意思的服务器资源监控工具 Beszel。Beszel 的特点是:轻量级部署简单、支持 docker 部署、可监控多设备。
Beszel 分为 Hub 和 Agent 两部分:Agent 负责数据采集(可以理解为客户端),Hub 负责展示数据(可以理解为服务端看板)。都可以通过 docker 进行快速部署。
Beszel 部署 Hub 端
通过 docker compose 来快速部署 beszel 的 Hub 端。Hub 端默认访问端口为 8090:
部署 Hub 端后,通过 8090 端口访问 Hub 端页面。首先创建一个账户:
然后进入首页选择 add system 按钮新建一个 Agent 端口:name 填写设备名字, host 添加设备的 IP 地址, 默认的通信端口为 45876。beszel 会自动生成一个公钥,而且会自动生成 Agent 端的 docker compose 部署命令:
复制生成的 docker compose 部署命令保存成 compose.yaml 然后放到客户端上去部署。如果你还想监控特定硬盘信息,根据客户端硬盘设备路径填写 FILESYSTEM: 参数。
注意 docker compose 部署命令需要映射 /var/run/docker.sock 、且 network 模式为 host。注意权限设置正确防止运行失败。
成功运行 Agent 端后,我们在 Hub 端页面就可以看到设备的运行情况了:
点击可以查看运行详情:
beszel 可以整合监控多台设备,又部署简单,是一个不错的多服务器资源监控方案。beszel 还可以针对服务器运行情况设置报警提醒。
不过我在实际部署中发现 beszel 的 Agent 端在 UGOS、DSM 等一些 NAS 系统上,以及 WSL 部署的 Linux 系统上失效,估计是防火墙及权限限制的原因,需要自己花时间去排除一下。
就介绍到这里~