Docker 一键部署 Beszel:新手也能搞定的多台 VPS 统一监控方案

厌倦了监控多台 VPS 时手动开窗口、重启就得重连的麻烦?离开设备就束手无策?别担心,新手也能轻松搞定!本文揭秘如何用 Docker 一键部署 Beszel,实现轻量级服务器统一监控。告别实时性焦虑吧——Beszel 追求低资源占用,提供简洁可视化面板,集中展示磁盘、CPU、内存等关键指标。部署过程超简单:只需复制几条 Docker 命令,在一台 VPS 搭面板,其他每台添加 Agent 容器。几分钟内,所有服务器状态尽收眼底,无论用电脑、手机还是平板,随时查看健康状态。告别手动操作,拥抱高效管理,立即阅读解锁详细步骤!

新手也能上手的服务器监控方案:Docker 一键部署 Beszel

Beszel网站项目介绍

 

目前我手里有几台 VPS,希望能在同一个页面集中查看这些服务器的运行情况,比如磁盘占用、内存使用率、CPU 负载等。

一开始,我用的是一种比较“原始”的方式:
通过 Termius 同时开四个窗口,每个窗口连一台 VPS,然后手动运行 htop,靠这种方法来观察各台服务器的实时状态。

这种方法有个明显优点:实时性确实很强,CPU 和内存的波动几乎可以立刻反映出来。但它的问题也同样明显。

通过 Termius 同时打开多个窗口,分别连接不同 VPS 并运行 htop 查看服务器实时状态的操作示意图。

使用 Termius 多窗口 + htop 查看多台 VPS 的实时运行状态

首先,这种方式极不方便
每次重启电脑都得重新连上服务器,再手动敲 htop。就算通过配置让它登录后自动启动,整体体验依然称不上友好。

其次,还有个更致命的限制:
只能在特定的一台电脑上查看
离开这台设备,或者临时换用手机、平板,就没法随时掌握 VPS 的运行情况。

基于这些痛点,我开始考虑换一种方案:
在尽量不拖累服务器性能的前提下,把所有 VPS 的运行状态统一展示在一个网页上,这样无论人在哪、身边是什么设备,都能直接打开页面查看。

至于“实时程度”,我并不强求到秒级。
秒级刷新的确更“酷”,但也意味着更高的资源消耗,而且要对网络稳定性和多机通信提出更高要求。

所以我的权衡是:

优先考虑低资源占用,其次是可视化展示,实时性可以适当放宽。
就算有十秒左右的延迟,对我来说完全能接受。

在这个前提下,其实现有方案不少,比如哪吒监控、Komari 等,它们通常能做到非常高的刷新频率,但同时也会占用更多系统资源,适合对实时性极度敏感的场景。

而 Beszel 走的是另一条路。
它定位为轻量级服务器监控:不追秒级刷新,而是用更低的资源占用换来一个简洁直观的状态总览页面,更适合“平时看看整体健康状况”的需求。

所以,这里更多是选择取向的问题,而不是谁更“高级”:

  • 如果你极度看重实时数据,可以选更偏“重型”的监控方案;
  • 如果你更在意轻量、低占用、部署简单,那 Beszel 会是很合适的选择。

在真正动手之前,我对 Beszel 多少有些顾虑:
只要涉及跨多台 VPS 统一监控,基本就意味着每台机器都要部署 Agent 程序,然后做一些连接配置,一听就不太像“简单方案”。

但实测下来发现,它的搭建过程比想象中顺滑很多。
核心步骤就是:在每台 VPS 上装好 Docker,然后跑几条容器命令。
面板和 Agent 都支持容器部署,对已经习惯 Docker 的人来说几乎是“复制粘贴式”操作,这种思路和部署 PanCheck、AdGuard Home 等 Docker 化服务是类似的,都是通过 docker-compose 或 docker run 快速拉起来,然后在浏览器中做可视化管理。[1][2][3]

下面就具体分享一下,我是 如何用 Docker 搭建 Beszel 这套轻量级服务器监控系统 的。


Docker 一键部署 Beszel(面板端)

在正式操作之前,先理清目标,避免后面步骤容易混淆。

部署目标说明

我们要实现的目标是:

在一台 VPS 上部署 Beszel 面板,用来统一监控其它多台 VPS 的运行状态。

也就是说:

  • 只需要 一台服务器 负责承载并展示监控页面(面板端);
  • 每一台 VPS(包括这台面板机)都需要运行一个 Agent 容器,用来采集数据并上报。

默认环境说明

下面的操作以一个比较常见、也比较容易复现的环境为例:

  • 一共 3 台 VPS
  • 系统为 Ubuntu 20.04 / 22.04 / 24.04
  • 拥有 root 权限,或者可以使用 sudo
  • 系统中已经安装 Docker

如果尚未安装 Docker,可以先通过官方脚本完成一键安装:

curl -fsSL https://get.docker.com | sh

(这类通过 Docker 部署自建服务的方式,在部署其他项目如 PanCheck、AdGuard Home 时也同样常见,方便快速迁移与管理。[1][2])

Beszel 的整体结构

先看一下 Beszel 的基本架构,有个整体印象会更容易理解后面的配置。

Beszel 采用的是 1 个面板 + N 个 Agent 的结构:

VPS-A(面板服务器)
├─ Beszel Dashboard(Web 页面)
├─ Beszel Agent
│
VPS-B
└─ Beszel Agent

VPS-C
└─ Beszel Agent

可以简单理解为:

  • Dashboard(面板)
    • 即你在浏览器中访问到的 Web 页面
    • 整个集群只需要部署一套 Dashboard
  • Agent
    • 运行在每一台被监控 VPS 上,用来采集这台机器的系统状态并上报
    • 包括面板所在的这台 VPS 自身也需要部署一个 Agent

选择一台 VPS 作为面板服务器

面板服务器理论上可以随便选一台,只要能正常对外提供 Web 访问即可,对配置没有特别苛刻的要求。

为了方便说明,下面统一假设:

  • 面板服务器:VPS-1
  • 被监控服务器:VPS-1 / VPS-2 / VPS-3

接下来的面板部署步骤,都在 VPS-1 上完成

第一步:创建 Beszel 项目目录

我习惯把所有 Docker 项目统一放在 /opt 下,便于集中管理。
你也可以根据自己的喜好选择其它路径。

mkdir -p /opt/beszel
cd /opt/beszel

第二步:新建 Docker Compose 文件

在当前目录下创建 docker-compose.yml 文件:

nano docker-compose.yml

然后将以下内容完整粘贴进去:

services:
  beszel:
    image: henrygd/beszel
    container_name: beszel
    restart: unless-stopped
    ports:
      - "8090:8090"
    volumes:
      - ./data:/beszel_data

保存文件:

  • Ctrl + O → 回车保存
  • Ctrl + X 退出编辑器

第三步:启动 Beszel 面板

/opt/beszel 目录中执行:

docker compose up -d

如果终端没有报错,说明容器已成功拉起。

你可以通过下面的命令再确认一下运行状态:

docker ps

看到 beszel 容器显示为 Up 状态即可。

通过执行 docker ps 命令确认 beszel 容器处于 Up 运行状态的终端界面示意图。

使用 docker ps 确认 beszel 容器正常运行(Up 状态)

第四步:访问面板页面

在浏览器中访问:

http://VPS-1的IP:8090

如果页面能够正常打开,并显示出 Beszel 的初始界面,说明:

Beszel 面板已经部署完成

到这里,面板端的部署工作就结束了,可以开始准备 Agent 端。

在浏览器中访问 beszel 面板页面,查看服务运行状态的界面示意图。

通过浏览器访问 beszel 面板页面

接下来要做的,就是在每一台 VPS 上部署 Beszel Agent,然后把它们添加到面板中,统一进行监控。
Agent 的部署步骤相比面板甚至更简单,基本就是复制一条命令执行即可。


在各台 VPS 上部署 Beszel Agent

面板部署完成后,下一步的任务就很清晰了:
在每一台需要纳入监控的 VPS 上运行 Beszel Agent。

有一点需要特别注意:

面板服务器本身同样需要部署一个 Agent。

也就是说,如果你一共 3 台 VPS,那么最终会有:

  • 1 个 Beszel Dashboard(面板)
  • 3 个 Beszel Agent(每台 VPS 各一个)

Agent 的作用是什么?

一句话概括:

  • Agent 负责采集本机的运行状态
    • CPU 使用率
    • 内存占用
    • 磁盘空间
    • 网络流量等
  • 然后将采集到的数据上报给面板,用于可视化展示

Agent 本身设计得比较轻量级,运行时常驻,但日常资源占用不高,适合部署在配置较小的 VPS 上。


第一步:在面板中创建 Agent 信息

在登录服务器运行命令之前,先在 Beszel 面板里完成 Agent 信息的创建,方便后面一键复制命令。

操作步骤:

  • 打开 Beszel 面板 http://VPS-1的IP:8090
  • 点击界面中的 Add System / Add Agent / 添加客户端(名称会随版本或语言略有差异)
  • 在部署方式里选择 Docker

完成这一步后,Beszel 会自动为你生成一段完整的 docker run 命令,其中会包含一个类似 KEY=xxxxx 的参数,用于身份校验。

Docker 一键部署 Beszel:新手也能搞定的多台 VPS 统一监控方案

在面板中复制用于部署 Agent 的 docker run 命令文本的操作界面示意图。

复制用于部署 Agent 的 docker run 命令

👉 这段命令非常关键,后续每台 VPS 部署 Agent 都要用到。


第二步:在 VPS 上运行 Agent 容器

接下来,分别登录你需要监控的各台 VPS(比如 VPS-2、VPS-3)。

第一次部署的时候,建议最稳妥的方式就是:
直接复制面板上生成的 docker run 命令,粘贴到 VPS 上执行(记得提前在该 VPS 安装好 Docker 环境)。

在 VPS 服务器上执行 docker run 命令,启动 Agent 容器的终端操作界面示意图。

在 VPS 上运行 Agent 容器

如果你想提前了解一下命令结构,大致会是下面这种形式:

docker run -d \
  --name beszel-agent \
  --restart unless-stopped \
  -v /:/host:ro \
  -p 45876:45876 \
  -e KEY="这里填写面板生成的 KEY" \
  henrygd/beszel-agent

其中几个关键参数可以简单解释一下:

  • -v /:/host:ro
    将宿主机系统目录以只读方式挂载到容器中,让 Agent 能够读取到系统各项指标信息
  • -p 45876:45876
    指定 Agent 对外暴露的端口,面板后续就是通过这个端口去拉取监控数据的
  • -e KEY="..."
    用于和面板进行身份校验的密钥
    如果缺少这个 KEY,Agent 容器虽然可能能启动,但无法成功注册到面板

第三步:确认 Agent 是否正常运行

命令执行完后,可以用下面的命令查看容器状态:

docker ps

如果输出中能看到类似:

beszel-agent Up ...

就说明 Agent 容器已经正常跑起来了。

通过执行 docker ps 命令确认容器是否处于正常运行状态的终端界面示意图。

使用 docker ps 确认容器是否正常运行


第四步:在面板中添加这台 VPS

Agent 启动成功后,回到 Beszel 面板页面。

  • 再次点击 Add System
  • 填写必要信息:
    • Name:自定义显示名称,例如 VPS-2
    • AddressVPS-2 的 IP:45876(即你在 docker run 命令里映射的端口)
  • 确认并保存

如果设置无误,稍等几秒钟,这台 VPS 就会出现在面板列表中,并开始展示各项运行指标。

在 beszel 面板中添加一台新的 VPS 节点,用于接入并开始监控的操作界面示意图。

在面板中添加这台 VPS


重复以上步骤

接下来按同样的方式操作:

  • VPS-1 上也部署一个 Agent(面板机同样需要被监控)
  • VPS-2VPS-3 分别部署 Agent
  • 在面板中依次添加对应的节点信息

完成后,你就能看到:

所有 VPS 的运行情况,都整齐地集中展示在同一个 Dashboard 页面中。

在监控面板中集中展示所有 VPS 运行状态,包括 CPU、内存、磁盘等信息的总览页面示意图。

所有 VPS 的运行情况集中显示在同一个页面中


注意事项

刚部署完成、开始使用 Beszel 时,你可能会留意到:

  • CPU / 内存等指标并不是“每秒一跳”;
  • 页面上的数据可能会有几秒到十几秒的延迟。

这并不是系统异常,而是 Beszel 的产品设计取向:
它更注重 整体状态和趋势变化,而不是对瞬时波动进行毫秒级捕捉。这种思路与一些通过 Docker 进行周期性检测或监控的工具类似,借由适当降低实时性来换取更低的资源消耗和更好的系统稳定性。[1][3]

如果你的核心需求是:

  • 在一个页面上集中查看多台 VPS 的健康状态;
  • 部署成本尽量低;
  • 服务器性能损耗尽量小;

那么用 Docker 一键搭建 Beszel,会是一个既简单又实用的选择。

原创文章,作者:kp51,如若转载,请注明出处:https://www.kepu51.com/instant-messaging/464.html

(0)
上一篇 2025年12月30日 11:38
下一篇 2026年1月8日 00:12

相关推荐

  • Oracle Cloud Always Free 2026 还能用吗?ARM 免费配额变化、扣费风险与替代 VPS 选择

    Oracle Cloud Always Free 2026 还能用吗?ARM 免费配额变化、扣费风险与替代 VPS 选择 如果你正在寻找一台免费的云服务器用来学习、跑小型项目或部署个人服务,Oracle Cloud 的 Always Free 层曾经是无可争议的首选。但进入 2026 年,不少用户发现 ARM 实例的免费配额似乎悄悄缩水,账号风控更加严格,偶…

    2026年7月3日
  • 最新野卡(wildcard)全攻略:详细全面的使用指南与深度评测

    野卡(Wildcard)是一个海外支付平台,专为解决国内用户订阅海外软件服务的支付难题而设计。它提供虚拟卡号、有效期和CVC码等信息,支持订阅ChatGPT Plus、Claude、Midjourney等海外服务,并兼容美区Apple ID、Netflix等主流平台。野卡还提供一键升级、API转发、海外邮箱和手机号等增值服务,帮助用户绕过地域限制和验证问题。…

    2025年6月5日 网络技术
  • 狗云香港大硬盘 VPS 怎么选:容量、带宽、备份和自托管场景分析

    狗云香港大硬盘 VPS 怎么选:容量、带宽、备份和自托管场景分析 当你在香港 VPS 上搭建自托管服务时,常见的 NVMe 硬盘往往只有 20-40GB 可用空间,装完系统和 Docker 就所剩无几。照片备份、监控存档、个人网盘这些“吃容量”的需求,很快就把小硬盘塞满。狗云(DogYun)近期推出的香港大硬盘 VPS 系列,将起步容量提升到 250GB,最…

    2026年7月9日
  • 2026 年台湾 VPS 选购指南:便宜 VPS、家宽 IP、HiNet/TFN 线路对比

    2026 年台湾 VPS 选购指南:便宜 VPS、家宽 IP、HiNet/TFN 线路对比 跨境业务、流媒体解锁、账号环境稳定——这些需求的背后,一个台湾节点的 VPS 常常是绕不开的选择。但在中文互联网里,「台湾 VPS」属于典型的高意图、低信息密度的选题:找个便宜方案并不难,难的是分辨 HiNet 与 TFN 线路的真实表现、区分原生 IP 与家宽 IP…

    2026年7月4日
  • HostDare 深度评测:便宜的 CN2 GIA 三网优化 VPS,到底值不值得买?

    引言:想要 CN2 GIA,又不想花大价钱? 很多人买 VPS 时都会遇到一个经典矛盾: 想要 CN2 GIA、三网优化、访问国内速度快 但又不想一年动辄一两百美元的预算 这时 HostDare 这类“小而专”的服务商就会进入视野: 洛杉矶 CN2 GIA 三网回程优化 年付 35.99 美元起,对标很多大厂一年 150–200 美元的同类线路 支持支付宝、…

    2025年12月26日
  • 部署mail-in-a-box电子邮局,在服务器 NAS搭建域名邮箱

    本文详细介绍了如何在服务器或NAS上使用“mail-in-a-box”项目搭建自己的域名邮箱系统。从域名邮箱的概念、所需环境(如25端口开放、Ubuntu 22.04系统)、部署步骤到DNS解析配置和SSL证书申请,作者提供了完整的操作指南,并强调了测试收发邮件的重要性及可能遇到的问题(如邮件被标记为垃圾邮件)。如果感觉配置繁琐,您可以看看之前文章Cloud…

    2025年6月15日 Linux运维
  • VPS CPU 性能怎么测?sysbench+Steal Time 实战完整教程

    如何测试 VPS 的 CPU 性能?新手也能看懂 如果你刚买了台 VPS,看着商家写的配置:4 核 CPU、高性能处理器,听起来很不错,但实际用起来网站加载慢、应用响应卡顿,甚至 SSH 都要转圈半天,这时候就要怀疑一个问题:这台 VPS 的 CPU 性能到底靠不靠谱,是不是被严重超售了? VPS 和自己的电脑不一样,你看不见硬件,也摸不到真实配置,但我们可…

    2026年1月8日
  • NGINX(NPM)+ GeoIP 实现地区与运营商级访问控制,构建内网安全防线

    一、前排说明:为什么需要地区运营商级防护 飞牛NAS的漏洞风波之所以能波及如此广泛,根本原因在于大量用户将NAS直接暴露在公网,且缺乏基础防护措施。网络扫描器(如Shodan)只需输入特定关键词,就能轻松发现数千台未加防护的NAS管理后台,这些设备随即成为黑客眼中的”肥肉”。 我的防护思路很简单但极其有效:在网络入口层直接限制仅允许特…

    2026年2月26日 Linux运维
  • 开源工具 Change Detection 实时监控网页更新/库存变动

    Change Detection 是一款开源的网页变动监控工具,能够实时检测网页内容更新(如库存、价格变动等),并通过多种通知方式提醒用户。支持 Docker 快速部署,提供灵活的配置选项,包括监控频率、通知格式及元素筛选功能,适用于抢购、优惠追踪等场景。 关键要点列表: 功能特点:实时监控网页内容变动(如库存、价格),支持查看具体变动内容并发送通知。 安装…

    2025年6月30日 Linux运维
  • 数字游民必备:奥地利匿名eSIM完全指南

    本文介绍了如何通过Red Bull MOBILE Data:eSIM获取奥地利家宽IP的100M流量eSIM,用于注册账号(如N26),并详细说明了注册、激活和使用步骤。此外,还提到了Xesim和9sim等实体卡的购买链接及激活方法。 关键要点列表: 下载Red Bull MOBILE Data:eSIM应用,注册账号并验证邮箱。 输入邀请码激活eSIM,开…

    2025年7月15日 网络技术