WQINF.COM

WQINF.COM

内网服务状态监控神器-Beszel搭建教程

15
2025-11-29

不少人会在家里的虚拟机或者Docker中部署了很多的服务,但是天有不测风云,总会有些时候某些服务会发生不可用或者宕机的情况,那么有没有一个能够监控这些服务的工具,可以在服务不可用的时候自动通知我们?

答案是有的,我们今天分享一款我最近发现的好工具-Beszel,Beszel是一个轻量级平台,可实时洞察所接入的服务器性能。借助 Beszel可以轻松获得 CPU 和内存使用情况的历史数据,以及 Docker 容器指标(例如特定于容器的 CPU 和内存统计信息)。还可以收到针对潜在问题的可自定义警报通知,以便采取主动措施来优化服务器性能。

接下来,我会从原理到部署,一步一步带你快速搭建属于自己的内网监控系统,优化监控体验,让服务器始终保持最佳状态。

程序特征

轻量级:比主要解决方案更小,资源占用更少,但界面非常精美,且支持中文,对国内用户十分友好。

简单: 易于设置,无需公网暴露。

Docker 统计: 跟踪每个容器的 CPU、内存和网络使用历史。

警报: 可配置 CPU、内存、磁盘、带宽、温度、负载平均值和状态的警报。

多用户: 用户管理自己的系统。管理员可以在用户之间共享系统。

OAuth / OIDC: 支持多种 OAuth2 提供程序。可以禁用密码验证。

自动备份: 从磁盘或 S3 兼容的存储保存和恢复数据。

电池: 主机系统电池电量。

程序组成

Beszel 由两个主要组件组成:中心 (hub) 和 代理 (agent)。

中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。

代理 (agent): 在您要监控的每个系统上运行,并将系统指标传递给中心。

程序指标

CPU 使用率 - 主机系统和 Docker / Podman 容器。

内存使用率 - 主机系统和容器。包括交换分区和 ZFS ARC。

磁盘使用率 - 主机系统。支持多个分区和设备。

磁盘 I/O - 主机系统。支持多个分区和设备。

网络使用率 - 主机系统和容器。

负载平均值 - 主机系统。

温度 - 主机系统传感器。

GPU 使用率 / 功耗 - Nvidia, AMD, 和 Intel。

电池 - 主机系统电池电量。

程序部署

这里我们将以飞牛NAS中的Docker部署方式进行演示。

下载镜像

首先是在镜像仓库下载镜像,如下图所示:

如果下载不成功可能是因为前段时间国内屏蔽了Docker,可以设置镜像加速,推荐毫秒镜像(https://docker.1ms.run)

安装部署

切换到本地镜像,点击该镜像右侧的启动按钮,然后勾选开机自动开启,然后点击下一步,如下图:

设置端口和存储位置,这里务必注意要将/beszelData映射到本地的一个路径,否则在更新Beszel这个Docker应用之后数据会丢失,设置好之后点击下一步,如下图:

然后点击下一步直到成功创建容器即可,还是很容易完成部署的。

注册账户

在确认Beszel启动成功的前提下,我们通过飞牛NAS的内网IP加刚刚设置的端口号,就可以访问Beszel服务的前台页面了,首次访问需要注册管理员账号,如下图:

Beszel05.png

添加监控

点击首页的右上角的“+添加客户端”按钮来为被监控的客户端部署Beszel Agent,Agent相当于Beszel的客户端,负责采集数据并上报给Hub(服务端,就是我们刚刚部署的),我们需要在每一台服务器都安装Agent,这样就可以监控所有服务器,如下图所示:

名称:被监控设备的名称,按照自己的喜好填写即可

主机/IP:可以填写内网IP,如果不在内网的设备可以填写公网IP或域名

端口:默认的不要动,但是一定要注意被监控设备开通防火墙

公钥:保持默认即可

令牌:保持默认即可

可以先暂时不用点击添加客户端按钮,将复制下来的docker run 命令到您要添加的服务器上执行即可(如果你更熟悉docker-compose方式也可以,因为我比较熟悉docker run 命令,所以就用这种方式了,当然系统也支持二进制方式添加客户端),添加成功之后的效果如下图:

设置邮件告警

首先进入设置:

设置SMTP服务器,也就是指定从哪里发出来:

首次进入需要登录一次,然后设置SMTP服务器,因为不同的邮箱的设置方式不一样,这里我们不做演示,注意保存之后测试发送一下看看设置的有没有问题:

然后回到设置界面,设置接收邮箱:

最后我们还需要设置告警规则,只有当满足告警规则的时候,才会发送提醒到邮箱(微信可以设置QQ邮箱提醒,间接实现微信提醒还是很不错的):

可以设置单台机器的告警规则,也可以设置所有机器的统一规则:

那么到这里我们的教程就结束了,Beszel 是一款专为轻量化服务器监控设计的开源工具,能够通过简单的配置满足中小型服务器的日常监控需求。在 Docker 环境中,Beszel 的部署特别方便,支持对 Docker 容器资源监控。同时,它还具备告警、数据备份和 API 集成等功能,帮助用户在异常情况发生时快速响应。虽然在一些高级监控功能上比不上 Prometheus 这样的成熟方案,但对于不需要复杂配置的个人服务器或小型项目,Beszel 依然是一个很好的选择。

如果只需要监控服务是否正常不需要具体的性能参数,可以考虑使用另一款监控程序Uptime Kuma,后续我们将单独写一篇文档来介绍。