Docker 玩法

飞牛NAS部署 Beszel:轻量服务器监控

2026-07-30 2 admin

为什么选择 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部署操作,即可将所有设备汇聚到同一个仪表盘中,实现真正的集中监控。