Beszel 轻量易用的服务器监控
什么是 Beszel?
Beszel 是一个轻量级的服务器监控平台,包含 Docker 统计信息、历史数据和警报功能。
它拥有友好的 Web 界面、简单的配置,并且开箱即用。它支持自动备份、多用户、OAuth 身份验证和 API 访问。
功能
- 轻量级: 比主要解决方案更小,资源占用更少。
- 简单: 易于设置,无需公网暴露。
- Docker 统计: 跟踪每个容器的 CPU、内存和网络使用历史。
- 警报: 可配置 CPU、内存、磁盘、带宽、温度、负载平均值和状态的警报。
- 多用户: 用户管理自己的系统。管理员可以在用户之间共享系统。
- OAuth / OIDC: 支持多种 OAuth2 提供程序。可以禁用密码验证。
- 自动备份: 从磁盘或 S3 兼容的存储保存和恢复数据。
- 电池: 主机系统电池电量。
架构
Beszel 由两个主要组件组成:中心 (hub) 和 代理 (agent)。
- 中心 (hub): 一个基于 PocketBase 构建的 Web 应用程序,提供用于查看和管理连接系统的仪表板。
- 代理 (agent): 在您要监控的每个系统上运行,并将系统指标传递给中心。
屏幕截图



支持的指标
- CPU 使用率 - 主机系统和 Docker / Podman 容器。
- 内存使用率 - 主机系统和容器。包括交换分区和 ZFS ARC。
- 磁盘使用率 - 主机系统。支持多个分区和设备。
- 磁盘 I/O - 主机系统。支持多个分区和设备。
- 网络使用率 - 主机系统和容器。
- 负载平均值 - 主机系统。
- 温度 - 主机系统传感器。
- GPU 使用率 / 温度 / 功耗 - 仅限 Nvidia 和 AMD。必须使用二进制代理。
Hub安装
从 releases 下载匹配您服务器 CPU 架构的最新二进制文件,并手动运行它。您需要手动创建一个服务才能使其在重新启动后继续运行。
vi /etc/systemd/system/beszel-hub.service
填入以下内容:
[Unit]
Description=Beszel Hub Service
After=network.target
[Service]
ExecStart=/opt/beszel/beszel serve --http "0.0.0.0:8090"
WorkingDirectory=/opt/beszel
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.targe
启动服务
systemctl daemon-reload
systemctl enable beszel-hub.service
systemctl start beszel-hub.service
访问 http://localhost:8090 或您自定义的ip:端口,即可进入登录页面,首次登录需要创建账号。登录成功后可添加需要监控的客户端。
Agent安装
从 releases 下载匹配您服务器 CPU 架构的最新二进制文件,并手动运行它。您需要手动创建一个服务才能使其在重新启动后继续运行。
vi /etc/systemd/system/beszel-agent.service
填入以下内容:
[Unit]
Description=Beszel Agent Service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/opt/beszel/beszel-agent
Environment="LISTEN=45876"
Environment="KEY=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN3CSRoVTBvSIBirs6pynLGoco8v6KeuARVsjuiFaFu4"
Environment="HUB_URL=http://172.18.39.35:8090"
Environment="TOKEN=4251f-56be29714-3470-b7e198f8a8"
Restart=on-failure
RestartSec=5
StateDirectory=beszel-agent
# 安全/沙盒设置
KeyringMode=private
LockPersonality=yes
NoNewPrivileges=yes
PrivateTmp=yes
ProtectClock=yes
ProtectHome=read-only
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectSystem=strict
RemoveIPC=yes
RestrictSUIDSGID=true
[Install]
WantedBy=multi-user.target
LISTEN为监听端口,KEY为在管理页面添加客户端时的公钥,HUB_URL为管理端地址,TOKEN为在管理页面添加客户端时的令牌
启动服务
systemctl daemon-reload
systemctl enable beszel-agent.service
systemctl start beszel-agent.service