飞牛NAS部署 Beszel:轻量服务器监控
为什么选择 Beszel
在飞牛NAS上运行多个Docker容器或服务后,系统资源监控变得尤为重要。虽然飞牛自带资源面板,但如果你需要跨设备统一监控、历史数据回溯或更轻量的部署方案,Beszel是一个绝佳选择。它由Go语言编写,内存占用低、安装简便,支持多机聚合监控,非常适合NAS环境。
本文将教你如何在飞牛NAS上通过Docker部署Beszel,并添加本地主机监控,整个过程只需5分钟。
前期准备
在开始之前,请确认你的飞牛NAS满足以下条件:
- 已安装Docker(飞牛应用中心可一键安装)
- 确保NAS的端口 3000(Web界面)和 45876(Agent通信)未被占用
- 拥有SSH访问权限(飞牛默认开启SSH,端口22)
第一步:部署Beszel服务端(Hub)
Beszel采用客户端-服务器架构,服务端负责展示数据并提供Web界面。我们使用Docker Compose来部署。
创建项目目录
通过SSH登录飞牛NAS,执行以下命令创建目录结构:
mkdir -p /docker/beszel && cd /docker/beszel
编写docker-compose.yml
使用任意文本编辑器(如vi或nano)创建以下文件:
version: '3'
services:
beszel:
image: 'henrygd/beszel:latest'
container_name: beszel
restart: unless-stopped
ports:
- '3000:3000'
volumes:
- './data:/beszel/data'
environment:
- TZ=Asia/Shanghai
如果你习惯使用Portainer或飞牛自带的Docker管理器,可以直接在图形界面中按照上述参数创建容器。注意将数据卷映射到本地目录,防止容器更新后数据丢失。
启动服务端
在 /docker/beszel 目录下运行:
docker compose up -d
等待镜像拉取完成后,访问 http://你的NAS_IP:3000 即可看到Beszel的初始化页面。
第二步:创建管理员账户
首次访问时,Beszel会引导你创建管理员账号。填写用户名、密码和邮箱(可选),点击创建即可进入仪表盘。
此时仪表盘是空的,因为还没有添加任何监控目标。接下来我们添加飞牛NAS本机作为第一个监控节点。
第三步:添加本地监控(Agent)
Beszel通过Agent采集系统指标。我们需要在NAS上再启动一个Agent容器,并与Hub建立连接。
生成密钥对
在Beszel Web界面中,点击右上角的“添加系统”按钮。选择“手动添加”方式,系统会生成一对公钥和私钥。请务必复制并保存好私钥,它用于Agent与Hub的认证通信。
部署Agent容器
在NAS的SSH终端中,执行以下命令(注意替换命令中的 <公钥> 为实际值,以及将 你的NAS_IP 替换为实际IP):
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e KEY="<公钥>" \
-e PORT=45876 \
henrygd/beszel-agent
这里的关键参数说明:
- --network host:让Agent直接使用宿主机网络,避免端口映射问题
- -v /var/run/docker.sock:挂载Docker套接字,使Agent能监控容器状态
- KEY:填入刚才生成的公钥
- PORT:Agent监听端口,需与Hub配置一致
验证连接
回到Beszel Web界面,点击“添加系统”弹窗中的“完成”按钮。如果配置正确,几秒钟后仪表盘就会显示飞牛NAS的实时监控数据,包括CPU、内存、磁盘、网络和Docker容器列表。
第四步:配置飞牛NAS专用监控项
Beszel默认采集基础系统指标,但我们可以针对NAS特性进行优化。
调整数据保留周期
在Web界面点击右上角齿轮图标进入设置,将“数据保留天数”改为30天(根据你的存储空间调整)。这样既能回溯历史趋势,又不会占用过多磁盘空间。
添加磁盘温度监控(可选)
如果你的NAS支持S.M.A.R.T.,可以在Agent容器中添加以下挂载卷:
volumes:
- /dev:/dev:ro
然后通过Beszel的“自定义指标”功能,添加一个Shell命令来读取温度(例如 smartctl -A /dev/sda | grep Temperature)。不过大多数情况下,默认的磁盘使用率监控已足够。
第五步:日常使用技巧
设置告警通知
Beszel支持Webhook、Telegram、Slack等多种通知方式。在“告警”页面中,可以针对CPU超过80%、磁盘剩余空间不足10%等情况设置触发条件。例如,配置飞牛自带的通知服务或企业微信机器人,实现异常实时推送。
查看Docker容器详情
在主机详情页中,Beszel会列出所有运行中的容器,并显示每个容器的CPU和内存占用。点击容器名称可以查看更详细的资源消耗曲线,非常适合排查某个容器是否异常占用资源。
移动端适配
Beszel的Web界面完全响应式,在手机浏览器中打开也能正常显示。你可以将其添加到手机桌面,作为轻量级监控App使用。
总结
通过以上步骤,你已经在飞牛NAS上成功部署了Beszel监控系统。相比飞牛自带的资源面板,Beszel的优势在于跨设备统一管理、灵活的告警机制以及更精细的Docker容器监控。整个部署过程仅需两条Docker命令,内存占用不超过50MB,堪称NAS监控的“瑞士军刀”。
如果你管理多台飞牛NAS或其他Linux服务器,只需在其他设备上重复第三步的Agent部署操作,即可将所有设备汇聚到同一个仪表盘中,实现真正的集中监控。