Beszel 轻量服务器监控:多台服务器状态统一看,搭起来比 Prometheus 省事太多
Beszel是一款轻量级服务器监控工具,支持Docker部署和多主机管理。它通过中心hub+agent模式运行,可监控CPU、内存、磁盘、网络等基础指标及Docker容器状态。安装仅需一个docker-compose配置文件,占用资源低且无需额外数据库。本文详细介绍了在极空间NAS上部署Beszel的步骤,包括SSH连接验证、Docker环境检查、容器部署及客户端添加方法,支持Linux Dock
前言
手里有几台服务器的人,多多少少会经历这个阶段:服务多了之后,不知道哪台现在负载高、哪个容器挂了、硬盘还剩多少空间。登进去看太费时间,Prometheus + Grafana 搭一套又太重,小团队或者个人根本没有精力维护这一套。
Beszel 就是这个场景下的选择。它是一个专门做轻量级服务器监控的工具,安装方式是 Docker,一个配置文件启动,支持同时管理多台服务器。能监控 CPU、内存、磁盘、网络等基础指标,也能深入到 Docker 容器内部看每个容器的状态。界面简洁,占用资源极低,不需要额外数据库。
部署逻辑是中心 hub + agent 模式:一台装 Beszel 作为主控端,其他要监控的服务器各装一个 agent,连进来之后在同一个界面里看所有机器的状态。支持 Linux Docker、Linux 二进制、Windows 二进制等多种客户端形式。
这篇说说怎么装和基本配置。

1.什么是Beszel?
Beszel是一个由开发者henrygd创建的轻量级、Docker原生的服务器与容器监控平台,强调简洁、开箱即用和快速部署。它虽未成为主流工具,但在特定场景下(如个人VPS监控、临时DevOps看板)具有实用价值。其名称蕴含“看见不可见之物”的隐喻,契合监控系统的本质使命。
Docker 镜像存在
- 镜像地址:henrygd/beszel(可在Docker Hub搜索验证)
- 启动端口:默认8090
- 功能描述(根据你之前的描述):
- 监控主机资源(CPU、内存、磁盘、网络)
- 收集Docker容器统计信息
- 存储历史数据
- 支持告警(Alerting)
- 提供 Web 界面
- 支持多用户、OAuth 登录、API 访问、自动备份
部署方式简单
通过docker-compose.yml即可一键启动,依赖本地挂载目录(beszel_data存数据,beszel_socket用于访问Docker Daemon)。
定位明确
面向轻量级、低运维成本场景,适合个人或小团队快速搭建监控看板,避免复杂配置。
2.前提条件
2.1ssh远程连接到极空间
- 开启【SSH 服务】
- 使用终端(Windows PowerShell / Mac Terminal)登录:
ssh root@IP
没有ssh的小伙伴可以参考这篇文章:
连接成功:极空间别再吃灰了!开启SSH,秒变全能服务器! - cpolar 极点云官网

2.2验证docker是否开启
使用命令:
docker -v
systemctl status -v
没有docker的小伙伴可以参考这篇文章:极空间开箱实录:从拆箱到远程访问保姆级教程,30分钟上手! - cpolar 极点云官网

3.安装Beszel
首先创建一下安装的目录并进入到该目录:
sudo mkdir -p /docker/beszel
cd /docker/beszel

创建并编辑 docker-compose.yml文件:
version: "3"
services:
beszel:
image: henrygd/beszel
container_name: beszel
restart: unless-stopped
ports:
- 8091:8090
volumes:
- ./beszel_data:/beszel_data
- ./beszel_socket:/beszel_socket
启动容器:
docker-compose up -d

部署完成后,在浏览器中输入 http://极空间IP:8091 就能看到beszel的界面:

4.使用Beszel
第一次登录,先注册账户密码:

进来页面就是这样的啦:

跟我开始添加被监控系统吧!
使用docker命令在被监控主机上部署agent服务。等服务启动后,添加的客户端数据会显示在页面中:
docker run -d --name beszel-agent --network host --restart unless-stopped -v /var/run/docker.sock:/var/run/docker.sock:ro -v beszel_agent_data:/var/lib/beszel-agent -e KEY="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEVghS28S9ON4Ppffa2K2JgBiqSiSACPKk6GTYJwnfe/" -e LISTEN=45876 -e TOKEN="1380-d81b442ca4-2275-dfc4219154" -e HUB_URL="http://192.168.50.213:8091" henrygd/beszel-agent


添加执行命令的主机ip,然后点击"添加系统":

回到主页面刷新就可以看到所监控主机啦啦!

没有docker的小伙伴还可以使用二进制方式,有很多形式,我这里演示windows服务:
& iwr -useb https://get.beszel.dev -OutFile "$env:TEMP\install-agent.ps1"; & Powershell -ExecutionPolicy Bypass -File "$env:TEMP\install-agent.ps1" -Key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEVghS28S9ON4Ppffa2K2JgBiqSiSACPKk6GTYJwnfe/" -Port 45876 -Token "1380-d81b442ca4-2275-dfc4219154" -Url "http://192.168.50.213:8091"


添加windows信息:

添加后windows信息就显示成功啦!

点击刚刚填加的客户端,可以查看具体的监控指标:

点击右上角“所以容器”:

可以看见本机所部署的docker容器详细信息:

还可以查看详细日志:

点击右上角如图所示:

可以查看设备更多信息:

切换多种语言:

在上一节中,我们成功在本地服务器上部署了Beszel —— 一个轻量级、开箱即用的多服务器监控平台。通过docker-compose启动后,只需访问http://localhost:8091,即可查看主机与容器的实时状态、历史数据及告警信息。然而,这一便捷的监控能力目前仅限于内网环境:如果你身处办公室、家中或任何非服务器所在网络的位置,将无法直接访问该Web界面。
对于远程运维、异地团队协作或临时调试场景,我们亟需一种安全、稳定的方式,将运行在内网的Beszel服务暴露到公网。此时,传统的方案如配置公网IP、端口映射(NAT)、DDNS或反向代理虽可行,但往往涉及复杂的路由器设置、云服务商限制,甚至安全隐患。
为此,我们可以借助一款现代化的内网穿透工具 ——cpolar。
5.安装cpolar实现随时随地开发
5.1 什么是cpolar?
cpolar是一款安全高效的内网穿透工具,无需公网IP或复杂配置,只需一条命令,即可将本地服务器、Web服务或任意端口映射到公网,让你随时随地远程访问内网应用,特别适合开发调试、远程运维和应急部署等场景。
5.2 部署cpolar
cpolar可以将你本地电脑中的服务(如SSH、Web、数据库)映射到公网。即使你在家里或外出时,也可以通过公网地址连接回本地运行的开发环境。
❤️以下是安装cpolar步骤:
使用一键脚本安装命令:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入虚拟机主机IP加9200端口即:【http://ip:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:
打开浏览器访问本地9200端口,使用cpolar账户密码登录即可,登录后即可对隧道进行管理。

6.配置公网地址
登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:
- 隧道名称:可自定义,本例使用了:beszel,注意不要与已有的隧道名称重复
- 协议:http
- 本地地址:8091
- 域名类型:随机域名
- 地区:选择China Top

打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑或者移动端设备(异地)上,使用地址访问。

访问成功:

7.保留固定公网地址
使用cpolar为其配置二级子域名(cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站),该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china Top,然后设置一个二级子域名名称,我使用的是beszel,大家可以自定义。填写备注信息,点击保留。

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑。

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
- 地区: China Top
点击更新

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

最后,我们使用固定的公网地址在任意设备的浏览器中访问,可以看到成功访问的页面,这样一个永久不会变化的二级子域名公网网址即设置好了。

总结
Beszel 适合这些场景:管理几台到十几台服务器、不想维护复杂监控体系、小团队或者个人开发者需要快速看到机器状态。它的优势是搭起来快、界面清爽、不占资源;局限是功能不如 Prometheus 丰富,告警和可视化能力有限,不适合需要精细化监控的生产环境。
用下来最直接的价值是把多台服务器的状态收拢到一个界面里,不需要逐台登录去看。在 NAS 或者软路由上跑也不占多少资源,配一个 cpolar 穿透之后出门在外也能看到,省得临时要去查状态还得找 VPN。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)