在日常管理云服务器时,我们经常需要通过 SSH 登录服务器,再使用 top、free、df 等命令查看 CPU、内存和磁盘使用情况。
如果只有一台服务器还比较方便,但随着 VPS、网站服务器或者 Docker 主机越来越多,每台服务器逐一登录检查就会比较麻烦。
Beszel 是一款轻量级服务器监控平台,可以通过 Web 页面集中查看多台服务器的运行状态,同时还支持 Docker 容器资源监控。
如果手上有多台 VPS、云服务器或者 Docker 主机,可以通过 Beszel 搭建一个比较直观的服务器监控面板。
1. 项目介绍
Beszel 主要采用 Hub + Agent 的方式工作。
Beszel Hub 负责提供 Web 管理后台以及保存监控数据,Beszel Agent 则安装在需要监控的服务器上,用于采集 CPU、内存、磁盘、网络以及 Docker 容器等运行信息。
简单来说,只需要先部署一套 Beszel Hub,然后在其他服务器安装 Agent,就可以在一个后台中统一查看多台服务器的运行状态。
Beszel 比较适合以下场景:
- 个人 VPS 监控
- 多台云服务器集中监控
- Docker 主机资源监控
- 网站服务器状态监控
- 开发测试服务器
- 家庭实验室
- 小规模业务服务器
相比每次通过 SSH 登录服务器手动检查,Beszel 可以保存历史监控数据,更方便观察 CPU、内存、磁盘以及网络流量的变化趋势。

2. 相关地址
GitHub 项目: https://github.com/henrygd/beszel
Beszel 官方文档: https://beszel.dev
3. 搭建环境
本次教程使用 Linux 云服务器,通过 Docker Compose 部署 Beszel Hub。
服务器: 本次为了方便演示,使用莱卡云 Linux 云服务器进行搭建。
查看官网购买链接: https://www.lcayun.com/&aff=IQITNBPM
9折优惠码:bloglcayun
本次参考环境:
- CPU:1 核及以上
- 内存:1GB 及以上
- 硬盘:20GB 及以上
- 操作系统:Debian 12
- Docker:需要
- Docker Compose:需要
- Beszel Hub 默认端口:
8090 - Beszel Agent 默认端口:
45876
如果只是部署 Beszel Hub 并监控少量服务器,对服务器配置要求通常不会特别高。
如果服务器同时还需要运行网站、数据库、Redis 或其他 Docker 项目,建议根据实际业务负载适当增加 CPU、内存和磁盘配置。
4. 搭建视频
哔哩哔哩:
如果更习惯跟着视频操作,可以先观看完整搭建过程,再配合下面的文字教程完成部署。
5. 正式搭建
5.1 安装 Docker 和 Docker Compose
本文使用 Docker Compose 部署 Beszel,因此服务器需要提前安装 Docker 和 Docker Compose。
如果服务器还没有安装,可以参考本站之前整理的教程:
安装教程: 服务器上安装docker和docker-compose教程
已经安装完成的用户,可以检查 Docker 版本:
docker --version
检查 Docker Compose:
docker compose version
如果两个命令都能够正常返回版本信息,就可以继续下面的 Beszel 部署。
5.2 创建 Beszel 项目目录
创建 Beszel 目录:
mkdir -p /opt/beszel
cd /opt/beszel
后续的 Docker Compose 配置以及 Beszel 数据都可以放在这个目录中,方便后期升级、备份和迁移。
5.3 创建 Docker Compose 配置
创建 docker-compose.yml:
nano docker-compose.yml
写入以下配置:
services:
beszel:
image: henrygd/beszel:latest
container_name: beszel
restart: unless-stopped
environment:
APP_URL: http://服务器IP:8090
ports:
- "8090:8090"
volumes:
- ./beszel_data:/beszel_data
需要把:
http://服务器IP:8090
修改成自己实际使用的 Beszel Hub 地址。
例如服务器 IP 为 192.0.2.10,则可以填写:
APP_URL: http://192.0.2.10:8090
如果后续使用域名并配置 HTTPS,则可以改成:
APP_URL: https://monitor.example.com
./beszel_data 是 Beszel 的数据持久化目录,后续升级或者重新创建容器时不要随意删除。

5.4 启动 Beszel
在 /opt/beszel 目录执行:
docker compose up -d
查看运行状态:
docker compose ps
也可以使用:
docker ps
如果 Beszel 正常运行,通常可以看到 8090 端口已经映射。
5.5 查看运行日志
如果容器没有正常启动,可以查看日志:
docker logs beszel
也可以查看最近 100 行:
docker compose logs --tail=100
实时查看日志:
docker compose logs -f
确认没有明显错误后,就可以进入 Beszel 管理后台。
5.6 访问 Beszel 管理后台
浏览器访问:
http://服务器IP:8090
例如:
http://192.0.2.10:8090
首次访问时,根据页面提示创建管理员账号即可。
建议使用独立的高强度密码,不要直接和服务器 SSH 密码保持一致。

5.7 8090 端口打不开怎么办?
如果浏览器无法访问 Beszel,可以先在服务器本机测试:
curl -v http://127.0.0.1:8090
检查端口监听:
ss -lntp | grep 8090
检查 Docker 容器:
docker ps
如果服务器本机能够访问,但是公网无法打开,则重点检查:
- 云服务器安全组
- UFW
- firewalld
- iptables
- 上游网络策略
如果出现 Connection refused 或 Connection timed out,可以参考本站之前发布的端口排查教程:
相关阅读: 云服务器端口不通怎么办?Connection refused 与 timed out 排查教程
6. 添加需要监控的服务器
Beszel Hub 部署完成以后,就可以添加需要监控的服务器。
登录 Beszel 后台,找到 Add System,根据页面提示创建新的监控节点。
Beszel 会为当前服务器生成 Agent 所需要的连接信息。
常见参数包括:
KEYTOKENHUB_URL
其中 KEY 和 TOKEN 用于 Agent 与 Hub 之间的认证,HUB_URL 则是 Beszel Hub 的访问地址。
实际部署时建议优先使用 Beszel 后台生成的配置,不要手工随意生成 KEY 或 TOKEN。

7. 部署 Beszel Agent
进入需要被监控的服务器。
创建目录:
mkdir -p /opt/beszel-agent
cd /opt/beszel-agent
创建配置文件:
nano docker-compose.yml
Agent 配置可以参考下面的结构:
services:
beszel-agent:
image: henrygd/beszel-agent:latest
container_name: beszel-agent
restart: unless-stopped
network_mode: host
volumes:
- ./beszel_agent_data:/var/lib/beszel-agent
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
LISTEN: 45876
KEY: "<Beszel后台生成的KEY>"
HUB_URL: "<Beszel Hub地址>"
TOKEN: "<Beszel后台生成的TOKEN>"
这里的 KEY、TOKEN 和 HUB_URL 必须替换成自己 Beszel 后台实际生成的内容。
不要直接照抄示例中的占位值。

8. 启动 Beszel Agent
执行:
docker compose up -d
查看 Agent 状态:
docker compose ps
也可以:
docker ps | grep beszel
如果需要查看 Agent 日志:
docker logs beszel-agent
配置正常的情况下,稍等片刻后,就可以在 Beszel Hub 后台看到对应服务器上线。

9. Docker Socket 有什么作用?
Agent 配置中使用了:
/var/run/docker.sock:/var/run/docker.sock:ro
它主要用于让 Beszel Agent 获取宿主机上的 Docker 容器信息。
其中 :ro 代表只读挂载。
如果服务器运行了 Docker 容器,Beszel 可以进一步查看容器的运行状态以及相关资源使用情况。
如果服务器没有运行 Docker,也不会影响普通的 CPU、内存、磁盘和网络资源监控。
10. 为什么 Agent 使用 host 网络?
Agent 配置中使用:
network_mode: host
主要是为了让 Agent 更方便地获取宿主机网络接口等相关信息。
默认情况下 Agent 监听端口为 45876。
如果需要修改 Agent 监听端口,可以修改 Compose 中的:
LISTEN: 45876
例如修改成:
LISTEN: 45877
修改完成后重新运行:
docker compose up -d
即可应用新的配置。
11. 查看服务器监控数据
Agent 成功接入 Beszel Hub 后,就可以在后台查看服务器资源状态。
通常可以查看:
- CPU 使用率
- 系统负载
- 内存使用情况
- Swap 使用情况
- 磁盘使用情况
- 磁盘 I/O
- 网络流量
- 服务器运行时间
- Docker 容器状态
例如服务器偶尔出现 CPU 突然升高、内存持续增长、磁盘空间不足或者网络流量异常,通过历史监控数据会更加容易定位问题发生的时间。
相比每次登录 SSH 手动执行 top、free -h、df -h 等命令,监控面板更适合长期观察服务器状态。
12. Agent 一直显示离线怎么办?
如果 Beszel Hub 可以正常访问,但是添加的服务器一直处于离线状态,可以先检查 Agent。
查看 Agent 容器:
docker ps | grep beszel
查看日志:
docker logs beszel-agent
重点检查以下内容:
KEY是否正确TOKEN是否正确HUB_URL是否正确- Agent 是否可以访问 Hub
45876端口是否正常- 系统防火墙是否存在拦截
- 云服务器安全组是否存在限制
如果使用 UFW,可以查看:
ufw status
如果使用 firewalld,可以查看:
firewall-cmd --list-all
如果 Agent 日志中已经出现明确报错,优先根据日志提示进行处理。
13. 给 Beszel 配置域名
如果只是临时测试,可以直接使用:
http://服务器IP:8090
如果准备长期使用,可以配置独立域名,例如:
monitor.example.com
然后使用 Nginx 等 Web 服务反向代理到:
127.0.0.1:8090
并配置 HTTPS。
完成域名配置以后,将 Docker Compose 中的 APP_URL 修改成实际域名:
APP_URL: https://monitor.example.com
然后重新运行:
docker compose up -d
即可。
14. 安全建议
Beszel 属于服务器管理和监控后台,不建议在没有任何保护的情况下长期暴露到公网。
建议做好以下措施:
- 使用高强度管理员密码
- 配置 HTTPS
- 不要公开 KEY 和 TOKEN
- 不需要的端口保持关闭
- 根据实际需求限制后台访问来源
- 定期更新 Beszel
- 定期备份监控数据
如果 Beszel 只提供自己使用,也可以通过内网、VPN 或防火墙限制来源 IP 等方式进一步减少公网暴露。
15. 更新 Beszel
进入 Hub 目录:
cd /opt/beszel
拉取最新镜像:
docker compose pull
重新创建容器:
docker compose up -d
查看运行状态:
docker compose ps
Beszel Agent 也可以按照相同方法更新:
cd /opt/beszel-agent
docker compose pull
docker compose up -d
建议升级之前先做好重要数据备份。
16. 备份 Beszel
按照本文部署方式,Beszel Hub 数据主要保存在:
/opt/beszel/beszel_data
可以直接备份整个项目目录:
cd /opt
tar -czf beszel-backup-$(date +%Y%m%d).tar.gz beszel/
如果以后需要迁移服务器,可以先停止 Beszel:
cd /opt/beszel
docker compose down
然后将 docker-compose.yml 和 beszel_data 等相关文件复制到新的服务器。
进入新服务器对应目录后重新启动:
docker compose up -d
即可恢复。
17. Beszel 适合什么服务器配置?
如果只是部署一个 Beszel Hub,并监控少量 VPS,可以先从比较基础的服务器配置开始。
例如:
- 1 核 CPU
- 1GB 内存
- 20GB 磁盘
如果接入的服务器数量比较多、历史数据保存时间较长,或者 Hub 所在服务器还同时运行网站和其他 Docker 服务,则可以适当提高配置。
本次教程使用莱卡云 Linux 云服务器完成部署。
查看官网购买链接: https://www.lcayun.com
可以根据服务器所在地区、网络线路、配置以及实际预算选择适合自己的产品。
对于 Beszel 这类轻量级 Docker 项目,不一定需要一开始就选择较高配置,可以先部署使用,再根据实际 CPU、内存和磁盘占用情况进行调整。
18. 总结
Beszel 的整体搭建流程并不复杂,首先准备 Linux 云服务器并安装 Docker,然后部署 Beszel Hub,在管理后台创建管理员账号并添加需要监控的服务器,最后在目标服务器部署 Agent 即可。
对于个人 VPS、多台云服务器、Docker 主机以及小规模业务环境来说,Beszel 可以提供一个相对轻量、直观的服务器监控方案。
如果部署过程中遇到 8090 端口无法访问、Agent 离线或者 Docker 容器无法识别等问题,建议优先检查容器状态、运行日志、端口监听、安全组和系统防火墙。
相比频繁登录每台服务器手动执行系统命令,Beszel 更适合长期集中查看服务器 CPU、内存、磁盘、网络以及 Docker 容器的运行变化。








