介绍
ServerBee 是一个轻量级、高性能的 VPS 监控探针系统,使用现代 Rust 技术栈构建。
ServerBee 是一个轻量级、自托管的 VPS 监控探针系统,专为个人和小型团队的服务器监控需求而设计。它使用 Rust 全栈构建,兼具高性能和极低的资源占用。
ServerBee 是什么
ServerBee 由两个核心组件构成:
- Server:部署在管理服务器上的控制中心,提供 Web 管理面板、数据存储、告警评估、后台任务和 API 接口
- Agent:部署在每台被监控服务器上的轻量级采集程序,负责采集系统指标并实时上报,也可按授权执行探测、终端、文件、Docker 等操作
Agent 通过 WebSocket 与 Server 保持长连接,实现实时数据推送。所有数据存储在 SQLite 数据库中,无需安装外部数据库服务。
核心功能
实时监控与自定义仪表盘
通过 WebSocket 驱动的实时仪表盘查看所有服务器运行状态。支持 CPU、内存、磁盘、网络、负载、温度、GPU、磁盘 I/O、流量等指标,以及多仪表盘、多组件布局。
告警与服务监控
灵活的告警规则引擎支持资源阈值、流量周期、网络质量、离线、到期和 IP 变化事件,内置防抖逻辑和维护期抑制。服务监控支持 SSL 证书、DNS、HTTP 关键字、TCP 和 WHOIS 检查,并可通过 Webhook、Telegram、Bark、Email、APNs 等通知组发送告警。
Web 终端、远程任务与文件管理
通过浏览器在任意服务器上打开 PTY Shell,执行一次性命令,或调度带重试的 cron 任务。文件管理器提供受控的远程浏览、读取、编辑、上传和下载能力,配合路径沙箱和审计日志使用。
Ping、网络质量与 Traceroute
支持从多个 Agent 节点发起 ICMP、TCP、HTTP 探测,检测目标可用性、延迟和丢包,并提供图表、CSV 导出和预设网络目标。网络详情页还提供 Traceroute 排障能力。
Docker 管理
启用 Docker capability 后,可以查看容器列表、实时统计、生命周期事件、日志流、网络、卷,并执行容器操作。
公开状态页、主题和品牌
对外发布单个公开状态页(路径 /status,无需认证),可配置服务器范围、实时指标、90 天可用性时间线、可用性阈值、事件公告和维护窗口。外观设置支持预设/自定义 OKLCH 主题,以及白标站点标题、Logo、Favicon 和页脚文本。
VPS 成本洞察
录入每台服务器的价格和计费周期后,ServerBee 会把月度等价成本、消耗速率、单位资源成本、剩余天数等信号同时呈现在服务器列表、仪表盘服务器卡片以及服务器详情页的成本洞察面板,并给出客观的成本提醒(空闲烧钱、离线烧钱、账单过期、在线率偏低)。
OAuth 与移动端
支持通过 GitHub、Google 或任意通用 OIDC 提供商登录。iOS 客户端支持移动端会话、设备配对和推送通知。
完善的测试与 CI 把关
项目包含 3,800 项以上的自动化测试,其中的集成测试通过 mock-agent 测试桩,经由 HTTP 和 WebSocket 驱动真实的 Axum 路由。主 CI 工作流会把变更文件与基准提交对比,只针对变更涉及的领域运行零警告 Clippy、Rust 测试任务,以及前端和安装脚本检查。详见测试与质量。
技术栈
| 组件 | 技术选型 |
|---|---|
| Server | Rust (Axum 0.8 + sea-orm + SQLite + tokio) |
| Agent | Rust (sysinfo + tokio-tungstenite) |
| Frontend | React 19 + Vite + TanStack Router + TanStack Query + Bklit charts + shadcn/ui |
| 通信 | WebSocket(JSON 文本消息,终端数据 base64 编码) |
| 数据库 | SQLite (WAL 模式) |
| 部署 | 单二进制 / Docker / 安装脚本 |
为什么选择 Rust
- 高性能:Agent 冷启动约 4.3 MB、稳态约 27 MB(systemd cgroup);Server 生产环境通常 140–170 MB(已设置
MALLOC_ARENA_MAX=2),详见资源开销 - 安全可靠:Rust 的内存安全保证消除了大量常见的运行时错误
- 单二进制部署:Server 将前端静态资源通过
rust-embed嵌入二进制文件,部署时只需一个可执行文件 - 零依赖:无需安装 MySQL、Redis 等外部服务,SQLite 内嵌于程序中
工作原理
ServerBee 采用 hub-and-spoke(中心辐射)架构:
- Server 是中心节点:提供 Web 界面和 REST API,管理所有 WebSocket 连接,运行后台任务。
- Agent 跑在每台被监控的 VPS 上,每隔几秒采集并上报指标。
- 前端是嵌入 Server 二进制中的 React SPA,无需额外部署。
Agent 与 Server 之间的通信全部走 WebSocket(JSON 消息)。终端会话复用同一套 JSON 文本协议,PTY 原始字节流放在 base64 编码的 data 字段中传输。