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

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 的场景