Skip to main content
[ PIER ]

Beszel

无 Prometheus 复杂度的轻量级服务器监控。

Service #monitoring#server#docker#alerts#metrics

Beszel 是最小、现代的服务器监控栈 —— 一个 hub 容器加上你想要观察的每个服务器上的小型代理。基于 SQLite + PocketBase,它提供精致的 Web UI、Docker 统计、通过 email/SMS/Telegram/Discord/Slack/Gotify 的警报,以及小于 50 MB 的资源占用。"我只想要服务器 CPU 图和警报"的答案,无需建立 Prometheus + Grafana + Alertmanager。

使用 Pier 部署

  1. 1 打开 Pier 控制台,点击 Add service。
  2. 2 从模板列表中选择 Beszel。
  3. 3 选择版本、设置服务名称,Pier 会自动配置容器、存储和端口。
  4. 4 如需 HTTPS,请绑定域名。Traefik 会自动签发 Let's Encrypt 证书。

什么是 Beszel?

Beszel 是由 Henry Gressmann 构建的轻量级、现代、基于 Web 的服务器监控 系统。它存在于”我会 SSH 进去运行 htop”和”我会部署 Prometheus + Grafana + Alertmanager + node_exporter + Loki + cAdvisor + Pushgateway”之间的空白处。

架构是两个部分 —— 一个 hub(Web UI 加 SQLite 数据库,打包为 PocketBase 应用)和一个代理(在每个你想监控的服务器上运行的小型 Go 二进制或容器)。 Hub 发起到代理的出站连接(因此监控侧无需入站防火墙漏洞),每分钟抓取指标, 存储它们,并渲染仪表板。

你获得 CPU、内存、磁盘 I/O、网络吞吐量、系统负载、正常运行时间、每 Docker 容器统计、到每个常见聊天平台的警报、公共状态页面 —— 全部来自 50 MB hub 二进制加 10 MB 代理。

Pier 如何部署它

Pier 使用官方 henrygd/beszel 镜像。默认端口:8090(Web UI,在 Traefik 后)。数据卷挂载在 /app/data —— SQLite 数据库加 PocketBase 应用文件。

首次设置通过 Web UI 提示创建管理员用户。从那里,从 Settings → Servers 添加 服务器,在每个远程主机上运行打印的代理安装一行,指标开始流动。

要监控 Pier 主机本身,在 Pier 旁边以 network_mode: host 部署代理(本模板 中 hub 自动发现本地 Docker 守护进程用于容器统计)。

何时不要使用 Beszel

如果你已为应用程序指标运行 Prometheus / Grafana / Alertmanager,仅为主机 指标添加 Beszel 可能是多余的 —— node_exporter 在该栈内覆盖相同领域。 如果你需要亚秒级粒度用于性能调试,Netdata 专门为此构建。如果你只关心 公共 URL 是否响应,Uptime Kuma 是正确的工具。Beszel 命中特定的最佳点 —— “我有少数服务器,我想要一个简单的仪表板加警报。”

核心功能

微小占用

Hub 容器约 50 MB RAM,代理每个约 10 MB。在 5 美元 VPS 上与其他一切舒适运行 —— 无需专用监控主机。

Hub + 代理架构

一个 Web hub 聚合来自许多远程服务器的指标。每个远程运行小型 beszel-agent 并通过 WireGuard、Tailscale 或普通 SSH 隧道连接报告。

内置 Docker 统计

每个运行 Docker 容器的 CPU、内存、网络和磁盘 I/O —— 无单独的导出器。

警报到每个聊天平台

Email、SMS(通过 Twilio)、Telegram、Discord、Slack、Gotify、ntfy、webhook。每个指标可配置阈值 + 持续时间 + 冷却时间。

SQLite 支持(PocketBase)

整个 hub 是一个二进制加一个 SQLite 文件。备份是平凡的;无需管理迁移;恢复是一份副本。

公共状态页面

为服务或车队共享只读状态页面 —— 正常运行时间百分比、最近 24 小时图表、无需身份验证。

应用场景

多 VPS 小型车队监控

你跨 Hetzner、Vultr、OVH、专用机器运行 3-30 台服务器。Beszel 将它们全部聚合到一个仪表板中。

Homelab 仪表板

你的家庭服务器车队的单一玻璃窗格 —— NAS、Proxmox 机器、Raspberry Pi、OPNsense、Synology。

SLA / 状态页面

客户的公共"X 是否在线?"页面,无需支付 StatusPage / Atlassian。

Docker 主机健康

每个容器的资源使用随时间变化 —— 找到泄漏的内存或失控的 worker 进程。

为小操作替换重型栈

Prometheus + Grafana + Alertmanager + node_exporter 对于"我想知道我的服务器是否在死"过度。Beszel 用 5% 的操作表面覆盖 90% 的小团队监控。

代码示例

在远程服务器上安装代理(一行) bash
curl -sL https://get.beszel.dev | sh -s -- \
  --hub https://beszel.example.com \
  --token <来自 hub UI token>
Docker compose 代理 yaml
services:
  beszel-agent:
    image: henrygd/beszel-agent:latest
    container_name: beszel-agent
    restart: unless-stopped
    network_mode: host
    environment:
      LISTEN: 45876
      KEY: "你的公钥"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./data:/var/lib/beszel-agent
Discord webhook 警报配置 text
警报:CPU
阈值:> 90%
持续:5 分钟
渠道:Discord
Webhook URL:https://discord.com/api/webhooks/...
备份 hub 数据 bash
docker stop pier-beszel
tar czf beszel-backup-$(date +%Y%m%d).tgz /opt/pier/data/beszel
docker start pier-beszel

对比

vs Prometheus + Grafana + Alertmanager "标准"云原生栈 —— 强大、复杂、资源密集。Beszel 是小型车队不需要 PromQL 或 30 个仪表板时的更简单答案。
vs Netdata Netdata 是每主机实时监控,秒级粒度。Beszel 是多主机聚合监控,分钟级粒度。为不同目标使用两者。
vs Uptime Kuma Uptime Kuma 从外部监控端点(HTTP/HTTPS/TCP/ping)。Beszel 从内部监控服务器(CPU、RAM、Docker 统计)。配对它们 —— Kuma 用于"URL 可达?",Beszel 用于"主机健康?"。
vs Zabbix Zabbix 是重型企业监控。Beszel 是轻量级 homelab/小团队监控。不同的世界;按团队大小和指标要求选择。

常见问题

代理如何认证?
每个代理在 hub 中注册了一个公钥。Hub 通过 WireGuard 或 SSH 隧道发起到代理的连接 —— 代理端无需入站端口。
Beszel 收集什么指标?
CPU、内存、交换、磁盘空间、磁盘 I/O、每接口网络吞吐量、系统负载、正常运行时间,加上每 Docker 容器 CPU/内存/网络/IO。通过 shell exec 的自定义指标在路线图上。
保留策略?
1 分钟粒度持续 1 天,10 分钟持续 1 周,每小时持续 30 天,每日永远。在 hub 设置中可配置。
支持的警报渠道?
Email (SMTP)、Discord、Slack、Telegram、Gotify、ntfy、Twilio SMS、通用 webhook。每个警报多个渠道。
多用户 / RBAC?
PocketBase auth 支持 Beszel —— 基本用户 + 只读查看器。尚无细粒度每服务器权限;具有登录的每个人看到所有主机。
它与 PRTG / Nagios 有何不同?
现代 UI,小于 1 MB 代理二进制,小于 100 MB hub。PRTG 和 Nagios 是 15 年的企业工具,操作模式非常不同。
Pier 部署什么版本?
官方 henrygd/beszel 镜像,默认为 latest 标签。如果你需要升级间的稳定性,在选择器中固定版本。

相关服务

在你的 VPS 上部署

Beszel 是最小、现代的服务器监控栈 —— 一个 hub 容器加上你想要观察的每个服务器上的小型代理。基于 SQLite + PocketBase,它提供精致的 Web UI、Docker 统计、通过 email/SMS/Telegram/Discord/Slack/Gotify 的警报,以及小于 50 MB 的资源占用。"我只想要服务器 CPU 图和警报"的答案,无需建立 Prometheus + Grafana + Alertmanager。

部署此服务 →