在管理多台服务器时,我们往往面临一个两难的选择:要么使用像 Zabbix、Prometheus + Grafana 这样功能强大但配置极其复杂的“巨无霸”方案,要么使用一些过于简陋、缺乏可视化美感的单机监控脚本。
如果你需要的是一个轻量级、部署快、界面现代化且能统一管理多台机器的监控工具,那么 Beszel 绝对是目前的最佳选择。
什么是 Beszel?
Beszel 是一款开源的轻量级服务器监控系统。它采用了典型的“Hub-Agent”架构:一个中心控制面板(Hub)负责汇总数据和展示,而安装在每台被监控服务器上的轻量级代理(Agent)负责收集实时资源指标。
它的核心设计哲学是:去掉所有不必要的功能,只保留最核心的性能指标,并用最优雅的 UI 呈现。
核心特性
- 极低资源占用:Agent 运行在后台,几乎不消耗 CPU 和内存。
- 现代化 UI:采用响应式设计,支持深色模式,在手机和电脑上都能完美显示。
- 实时监控:提供 CPU、内存、磁盘、网络带宽的实时波动曲线。
- Docker 深度集成:不仅监控宿主机,还能直接查看每个 Docker 容器的资源占用情况。
- 快速部署:通过 Docker Compose 几分钟内即可完成全套搭建。
- 多设备管理:在一个面板中管理数十台服务器,无需频繁切换 SSH 窗口。
快速上手实例:从零部署 Beszel
为了让你快速体验,这里提供一套基于 Docker Compose 的完整部署方案。
第一步:部署 Beszel Hub (控制面板)
Hub 是你的监控中心,建议部署在一台常开的 VPS 或 NAS 上。
创建 docker-compose.yml:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
ports:
- "8090:8090"
volumes:
- ./beszel_data:/data
运行命令:
docker compose up -d
此时,访问 http://你的服务器IP:8090,你将看到 Beszel 的初始化界面。你需要先创建一个管理员账号。
第二步:部署 Beszel Agent (被监控端)
现在,你需要在所有想要监控的服务器上安装 Agent。
- 在 Hub 的 Web 界面中,点击 “Add System”。
- 输入该服务器的名称和 IP 地址。
- 关键步骤:Hub 会为你生成一段
PUBKEY(公钥)。复制这段密钥。
在被监控的服务器上,创建 docker-compose.yml:
services:
beszel-agent:
image: henrygd/beszel-agent:latest
container_name: beszel-agent
restart: unless-stopped
ports:
- "4556:4556"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # 用于监控Docker容器
environment:
- PORT=4556
- KEY=你的HUB公钥 # 将此处替换为刚才复制的 PUBKEY
运行命令:
docker compose up -d
第三步:验证连接
回到 Hub 面板,刷新页面。你现在可以看到该服务器的 CPU 占用率、内存使用情况以及网络流量图表实时跳动。如果你开启了 docker.sock 挂载,点击进入详情页,还能看到具体哪个容器在“吃”资源。
Beszel 与其他方案的对比
| 特性 | Beszel | Netdata | Prometheus + Grafana |
|---|---|---|---|
| 部署难度 | 极低 (Docker) | 低 | 高 (需配置 Exporter) |
| 资源占用 | 极低 | 中等 | 较高 |
| 多机统一管理 | 原生支持 (Hub) | 需付费或复杂配置 | 强大但配置繁琐 |
| 界面美观度 | 现代/极简 | 工业风/信息密集 | 高度可定制/专业 |
| 学习曲线 | 几乎无需学习 | 较低 | 陡峭 |
进阶使用技巧
1. 监控 Docker 容器的精髓
Beszel 最实用的功能之一是对 Docker 容器的细粒度监控。在 Agent 的配置中挂载 /var/run/docker.sock 后,你可以在面板中直接看到:
- 哪个容器导致了 CPU 飙升。
- 哪个容器的内存泄漏导致宿主机 OOM。
- 容器的实时重启状态。
2. 网络安全建议
由于 Beszel Agent 监听在 4556 端口,建议采取以下安全措施:
- 防火墙限制:在被监控端设置防火墙(如 ufw 或 iptables),仅允许 Hub 服务器的 IP 访问 4556 端口。
- 反向代理:为 Hub 面板配置 Nginx 或 Caddy,加上 SSL 证书并开启 Basic Auth 或通过 Cloudflare Tunnel 暴露。
3. 适用场景推荐
- 个人自建服务 (HomeLab):管理几台树莓派、NAS 或小型 VPS。
- 小型团队运维:不需要复杂的告警链路,只需要一个直观的“健康看板”。
- 性能敏感型服务器:不希望监控软件本身占用过多内存。
总结
Beszel 填补了“简单脚本”与“企业级监控”之间的空白。它不追求功能的绝对全面,但追求在核心指标展示和用户体验上的极致。如果你厌倦了在多个 SSH 窗口中敲 htop,或者被 Grafana 复杂的 PromQL 搞得头大,那么 Beszel 就是为你准备的。



还没有评论,来说两句吧...