今天来介绍一个很有意思的服务器资源监控工具 Beszel。Beszel 的特点是:轻量级部署简单、支持 docker 部署、可监控多设备。

Beszel 分为 Hub 和 Agent 两部分:Agent 负责数据采集(可以理解为客户端),Hub 负责展示数据(可以理解为服务端看板)。都可以通过 docker 进行快速部署。

Beszel 部署 Hub 端

通过 docker compose 来快速部署 beszel 的 Hub 端。Hub 端默认访问端口为 8090:

services: beszel: image: 'henrygd/beszel' container_name: 'beszel' restart: unless-stopped ports: - '8090:8090' volumes: - ./beszel_data:/beszel_data

部署 Hub 端后,通过 8090 端口访问 Hub 端页面。首先创建一个账户:

轻量的多服务器资源监控工具 Beszel

然后进入首页选择 add system 按钮新建一个 Agent 端口:name 填写设备名字, host 添加设备的 IP 地址, 默认的通信端口为 45876。beszel 会自动生成一个公钥,而且会自动生成 Agent 端的 docker compose 部署命令:

轻量的多服务器资源监控工具 Beszel

复制生成的 docker compose 部署命令保存成 compose.yaml 然后放到客户端上去部署。如果你还想监控特定硬盘信息,根据客户端硬盘设备路径填写 FILESYSTEM: 参数。

services: beszel-agent: image: 'henrygd/beszel-agent' container_name: 'beszel-agent' restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: PORT: 45876 KEY: 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIM50g4vasLPtS/OmN0yp4WdBS0u0HnqNQceFCF5PHac' # FILESYSTEM: /dev/sda1 # set to the correct filesystem for disk I/O stats

注意 docker compose 部署命令需要映射 /var/run/docker.sock 、且 network 模式为 host。注意权限设置正确防止运行失败。

成功运行 Agent 端后,我们在 Hub 端页面就可以看到设备的运行情况了:

轻量的多服务器资源监控工具 Beszel

点击可以查看运行详情:

轻量的多服务器资源监控工具 Beszel

beszel 可以整合监控多台设备,又部署简单,是一个不错的多服务器资源监控方案。beszel 还可以针对服务器运行情况设置报警提醒。

轻量的多服务器资源监控工具 Beszel

不过我在实际部署中发现 beszel 的 Agent 端在 UGOS、DSM 等一些 NAS 系统上,以及 WSL 部署的 Linux 系统上失效,估计是防火墙及权限限制的原因,需要自己花时间去排除一下。

就介绍到这里~

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

,

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。