beszel 中文使用教程
2026-05-31发表于
beszel
Lightweight server monitoring with historical data, docker stats, and alerts.
项目简介
Beszel 是一款专为个人服务器和家庭实验室(Homelab)设计的轻量级监控系统,采用 Go 语言开发。相比传统的 Prometheus + Grafana 组合,Beszel 的部署复杂度大幅降低,同时保留了实用的核心功能。它支持 Docker 容器监控、历史数据存储、自定义告警、多用户协作以及 OAuth 认证等特性,非常适合希望快速搭建服务器监控平台的个人用户或小团队使用。
Beszel 项目在 GitHub 上已获得超过 22,000 颗 Star,社区活跃度较高,且提供 Docker 镜像和详细的官方文档支持,降低了用户的上手门槛。
核心功能与架构
Beszel 采用经典的「中心 + 代理」架构设计,由两个核心组件构成。理解这两个组件的职责分工,是掌握 Beszel 的关键。
Hub(中心节点) 是整个监控系统的控制台,基于 PocketBase 框架构建,提供基于 Web 的用户界面。用户可以通过浏览器访问 Hub,查看所有被监控服务器的状态仪表板、配置告警规则、管理用户权限、设置自动备份策略等。Hub 本身也是数据的存储中心,负责接收各 Agent 上报的数据并持久化保存。
Agent(代理程序) 需要部署在每一台你想要监控的目标服务器上。Agent 负责采集本机的各项运行指标,包括 CPU 使用率、内存占用、磁盘空间、网络流量、容器状态等,然后将数据定期上报给 Hub。Agent 的设计非常轻量,对宿主机的资源消耗极低,可以长期稳定运行在后台。
Beszel 支持采集的指标种类非常丰富,覆盖了服务器监控的各个方面:
- 基础系统指标:CPU 使用率、内存(含 Swap 和 ZFS ARC)、磁盘空间与 I/O、网络流量与带宽、负载平均值、系统温度传感器
- 容器相关指标:Docker 和 Podman 容器的 CPU、内存、网络使用情况,支持多容器批量监控
- 硬件健康指标:GPU 显卡使用率和功耗(Nvidia/AMD/Intel)、电池状态、S.M.A.R.T. 磁盘健康信息(包括 eMMC 寿命预警和 mdraid 阵列健康状态)
Beszel 还提供了完善的告警功能,支持针对 CPU、内存、磁盘使用率、带宽、温度、负载以及服务在线状态等多种条件设置阈值告警。告警触发后可发送通知通知管理员,帮助用户及时发现和处理服务器异常。

快速上手
Beszel 提供了 Docker Compose 一键部署方案,整个安装过程可以在几分钟内完成。以下是完整的部署步骤。
环境准备
确保目标服务器已安装 Docker 和 Docker Compose。如果尚未安装,可以使用官方脚本快速完成:
curl -fsSL https://get.docker.com | sh
sudo systemctl enable docker
sudo systemctl start docker
部署 Hub
创建一个专用的目录用于存放 Beszel 的配置文件和数据:
mkdir -p ~/beszel
cd ~/beszel
新建 docker-compose.yml 文件,内容如下:
services:
beszel:
image: henrygd/beszel
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090" # Web UI 访问端口
volumes:
- ./beszel_data:/pb_data # 持久化存储 PocketBase 数据
- ./beszel_config:/pb_config # 配置文件目录
启动 Beszel Hub:
docker compose up -d
容器启动后,通过浏览器访问 http://<服务器IP>:8090 即可打开 Beszel 的 Web 界面。初次访问时,系统会引导你创建管理员账户。
部署 Agent
在每台需要监控的目标服务器上,都需要部署对应的 Agent。以 Docker 方式运行 Agent 是最简便的做法:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--privileged \
--pid=host \
-e BSZL_HUB_ADDRESS="http://<Hub服务器IP>:8090" \
-e BSZL_HUB_KEY="<你的连接密钥>" \
-e BSZL_SYSTEM_ID="<服务器名称>" \
henrygd/beszel-agent
其中 BSZL_HUB_KEY 是 Agent 连接 Hub 时使用的密钥,可以在 Hub 的 Web 界面中生成。首先登录 Hub,进入「Systems」页面,点击添加新系统,系统会显示对应的密钥和 Agent 配置文件模板。
BSZL_SYSTEM_ID 用于标识这台服务器,可以设置为一个有意义的名字,如 nas、web-server、homelab-node1 等。
添加并验证监控
Agent 部署完成后,回到 Hub 的 Web 界面,你会看到新添加的服务器出现在系统列表中。点击进入该系统的详情页面,应该能够看到实时更新的 CPU、内存、磁盘等指标数据。如果数据正常显示,说明整个监控系统已经正常运行。

使用场景
Beszel 的轻量化设计和易用性,使其非常适合以下几个典型场景。
家庭实验室(Homelab)监控 是最常见的应用场景。许多爱好者在家中搭建了 NAS、软路由、媒体服务器等基础设施,Beszel 可以帮助他们集中监控这些设备的运行状态,及时发现硬盘即将写满、CPU 过热、内存不足等问题。尤其是 Docker 容器统计功能,对于运行了大量容器服务的 Homelab 用户来说非常实用,可以直观地了解每个容器消耗了多少资源。
个人开发者服务器监控 同样适用。很多开发者租用或购买了云服务器、VPS 来部署自己的项目,使用 Beszel 可以监控这些服务器的性能状况,当服务出现异常(如磁盘空间不足、CPU 异常飙升)时及时收到告警通知。相比购买商业监控服务,Beszel 完全免费且数据完全自主可控。
小团队内部监控 场景下,Beszel 的多用户支持功能可以派上用场。团队成员可以各自管理自己的服务器,管理员也可以将特定系统共享给其他用户查看。这种权限分离的设计比所有人都共享同一个监控账户更加清晰安全。
注意事项
在生产环境中使用 Beszel 时,以下几点值得特别关注。
数据安全与备份方面,Beszel Hub 的数据默认存储在本地目录中。虽然 Beszel 支持自动备份功能,但建议用户尽早配置备份策略,可以选择将备份保存到本地指定目录或 S3 兼容的对象存储服务中。这样即使服务器出现故障,也能快速恢复监控数据和配置。
Agent 权限要求是另一个需要注意的点。由于 Agent 需要读取系统状态信息(如 /proc 文件系统、S.M.A.R.T. 数据等),Docker 容器需要以 --privileged 模式运行,并共享宿主机的 PID 命名空间。如果对安全性要求较高,可以考虑使用宿主机直接安装 Agent 二进制文件的方式运行,而非容器化部署。
网络配置方面,Agent 与 Hub 之间的通信采用 HTTP 协议。如果 Hub 部署在内网环境中,Agent 所在服务器需要能够直接访问 Hub 的地址。对于跨公网的场景,建议通过 VPN 或 Cloudflare Tunnel 等方式建立安全通道,避免监控数据暴露在公网上。
资源占用方面,Beszel Hub 本身基于 PocketBase 运行,资源消耗相对较低,但在高密度监控场景下(如同时监控数十台服务器、数百个容器),建议确保 Hub 服务器有足够的内存和 CPU 资源,并定期检查数据存储的增长情况。

总结
Beszel 作为一款专注于轻量级服务器监控的开源工具,在功能与易用性之间取得了很好的平衡。它的架构简洁清晰,Hub + Agent 的设计让用户可以根据需要灵活扩展监控节点;Docker 一键部署的特性大幅降低了使用门槛,无需复杂的配置即可快速投入使用;丰富的监控指标覆盖了服务器运维的大部分需求,配合灵活的告警机制,可以帮助用户及时发现和响应系统异常。
对于个人开发者、家庭实验室爱好者或小型团队来说,Beszel 是一个值得考虑的监控解决方案。它既避免了 Prometheus + Grafana 组合的笨重与复杂,又提供了足够完善的监控功能,能够满足大多数场景下的实际需求。如果你正在寻找一款简单可靠的自托管服务器监控工具,不妨给 Beszel 一个尝试的机会。
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | henrygd/beszel |
| 语言 | Go |
| Star | 22,267 |
| Fork | 820 |
| 主页 | https://beszel.dev |
参考链接
30
6
1
560
文章目录
评论