beszel是什么

1. Beszel 是什么

Beszel 是一个轻量级、自托管、现代化的主机与容器监控系统,目标非常明确:
极低的资源占用,提供足够实用的主机 / Docker / 容器级监控能力,替代那些“为了监控而监控”的重型方案。

e9e294d0f99be196c0f9951640d411fe.png


2. 核心架构与工作方式

2.1 架构组成

Beszel 的架构非常克制,只有两部分:

1. Hub(中心服务 / Web UI)

1.1 负责

  • Web 控制台
  • 节点管理
  • 数据展示
  • 告警通知(基于 Shoutrrr)

2. Agent(节点代理)

2.1 负责

  • 采集主机指标
  • 采集 Docker / 容器指标
  • 与 Hub 通过 WebSocket 通信

2.2 通信模型

  • Agent → Hub(主动连接)
  • WebSocket 长连接
  • Token + 公钥认证
  • 非反向暴露端口(非常适合内网 / NAT / 云主机)

2.3 架构流转示意

flowchart LR
    A[Beszel Agent] -->|WebSocket| B[Beszel Hub]
    B --> C[Web UI Dashboard]
    B --> D[Notification
Shoutrrr]

3. 能监控什么

3.1 主机层(Host)

  • CPU 使用率(整体 / 核心)
  • 内存使用情况
  • 磁盘使用率
  • 网络收发
  • 系统负载 Load

3.2 容器层(Docker)

  • 容器 CPU / 内存
  • 容器状态(running / exited)
  • 容器数量
  • Docker 守护进程状态

3.3 节点级状态

  • Agent 在线 / 离线
  • 最近心跳
  • 主机名、IP、标签

4. 告警与通知机制

4.1 通知底座
Beszel 使用 Shoutrrr 作为统一通知抽象层,这意味着:

  • 本身不“绑定”任何一家 IM
  • 通过 URL Schema 适配各种通知平台

4.2 常见支持渠道

  • Feishu / 飞书 Webhook/DingTalk (暂不支持)

4.3 告警类型

  • 节点离线
  • CPU / 内存 / 磁盘阈值
  • Docker 容器异常

5. 与常见监控方案的定位对比

5.1 Beszel vs Prometheus

  • Beszel:

    • 即装即用
    • 极低资源消耗
    • 面向“运维可视化 + 告警”
  • Prometheus:

    • 强大、灵活
    • 学习与维护成本高
    • 更适合指标分析、容量规划、SLO

5.2 Beszel vs Nezha

  • Beszel:

    • 现代 UI
    • Docker 原生感知
    • WebSocket 主动上报
  • Nezha:

    • 更偏传统主机监控
    • Docker 能力有限

6. 典型使用场景

6.1 非常适合

  • 中小规模服务器集群
  • 海外 / NAT / 无法反向开端口的机器
  • Docker / Compose 为主的环境
  • SRE / 运维自用监控面板

6.2 不适合

  • 超大规模集群
  • 复杂指标分析、长期时序存储
  • 需要自定义 Exporter 的场景