ServerBee 在一处统一监控你的所有服务器。中心 Server 通过 WebSocket 接收来自轻量 Agent 的指标,存入内嵌 SQLite,并提供实时 React 仪表盘 —— 无外部数据库,无沉重运行时。
- 🪶 极致轻量 —— Agent 冷启动约 4.3 MB、稳态约 27 MB,Server 即便管理大量节点也保持精简。
- ⚡ 实时刷新 —— WebSocket 实时仪表盘,涵盖 CPU、内存、磁盘、网络、负载、温度、GPU、磁盘 I/O。
- 📦 单一二进制 —— Server 与内嵌 Web UI 打包成一个文件,支持 Docker、一行脚本、Railway 部署。
- 🔋 开箱即用 —— 告警、通知、Web 终端、文件管理、Docker、防火墙、状态页等功能。
- 🔒 默认安全 —— OAuth + 2FA、RBAC、审计日志、一次性 Agent 注册、Agent 自主掌管的能力门控。
- ✅ 充分测试 —— 3800+ 自动化测试,其中集成套件通过 mock-agent 测试桩驱动真实路由、经由 HTTP + WebSocket 演练控制面;每次 CI 全部通过。
Note
ServerBee 正在活跃开发中(v1.0.0-alpha.7),迭代频繁。
curl -fsSL https://raw.githubusercontent.com/ZingerLittleBee/ServerBee/main/deploy/install.sh | sudo sh -s -- server --method docker打开 http://your-server:9527。管理员密码会自动生成并打印在启动日志中 —— 首次登录后请修改。
安装脚本通过
--method docker|binary同时支持 Docker 与 二进制 两种安装方式。Server 推荐 Docker 安装;省略该参数则进入交互式选择。偏好云端?使用下方的 Railway 一键部署。
以管理员登录 → 设置 → 生成一个一次性 enrollment code(单次使用,约 10 分钟后过期)。然后在每个节点上:
curl -fsSL https://raw.githubusercontent.com/ZingerLittleBee/ServerBee/main/deploy/install.sh | sudo sh -s -- agent --method binary \
--server-url http://YOUR_SERVER:9527 --enrollment-code YOUR_ONE_TIME_CODEAgent 推荐二进制安装 —— 占用最小,且能采集完整的宿主机指标。如需在容器中运行 Agent,改用
--method docker。
Agent 首次连接时会保存每服务器 token 并自动重连 —— code 只需用一次。搞定。🎉
| 📊 监控 | 实时指标(CPU/内存/磁盘/网络/负载/温度/GPU/磁盘 I/O)· 历史图表(1h–30d)· Docker 容器统计、日志与事件 · 按计费周期统计月度流量并预测 · 成本洞察(burn rate、资源单价、0–100 价值评分) |
| 🔔 告警 | 14+ 指标类型 · 阈值 / 离线 / 流量 / 到期规则 · Webhook、Telegram、Bark、邮件、APNs 渠道,支持通知组 |
| 🌐 网络 | Ping 探测(ICMP/TCP/HTTP)· 网络质量监控(96 个中国三网 + 国际预设)· 服务监控(SSL/DNS/HTTP 关键字/TCP/WHOIS)· IP 质量与流媒体解锁检测,含欺诈风险评分 |
| 🛠️ 远程管理 | 浏览器 Web 终端(WS 上的 PTY)· 沙箱化文件管理 + Monaco 编辑器 · 基于 nftables 的防火墙封禁 · Agent 自主掌管的能力门控(支持主机本地临时授权)· Agent 自动更新 |
| 🔐 安全与访问 | SSH 登录 / 暴力破解 / 端口扫描检测 · OAuth(GitHub/Google/OIDC)+ TOTP 两步验证 · Admin/Member 角色 · 审计日志 · 一次性 Agent 注册码 |
| 🖥️ 仪表盘与分享 | 拖拽式自定义仪表盘(17 种 widget)· 含 90 天可用性时间线的公共状态页 · OKLCH 自定义主题 · 带国旗的服务器分组 · 原生 iOS 移动端 |
| ⚙️ 运维 | serverbee 管理 CLI · 备份与恢复 · GeoIP 地区检测 · OpenAPI/Swagger 文档(180+ 端点) |
通过 TOML 文件或 SERVERBEE_ 前缀的环境变量配置(__ 为嵌套分隔符,如 SERVERBEE_AUTH__MAX_SERVERS)。最小可运行配置:
# /etc/serverbee/server.toml
[server]
listen = "0.0.0.0:9527"
data_dir = "/var/lib/serverbee"
[admin]
password = "" # 留空自动生成# /etc/serverbee/agent.toml
server_url = "http://your-server:9527"
enrollment_code = "" # 来自设置页的一次性 code,仅用于首次注册
[collector]
interval = 3 # 上报间隔(秒)📖 完整参考:ENV.md · OAuth、数据保留、速率限制、GeoIP 等详见文档。
添加挂载到 /data 的 Volume 以持久化数据。Server 首次启动会自动创建管理员账号 —— 在部署日志中查找凭据横幅。
安装脚本会在 /usr/local/bin/serverbee 放置一个 serverbee CLI:
sudo serverbee status # 查看所有组件状态
sudo serverbee upgrade -y # 升级到最新版
sudo serverbee restart # 重启服务
sudo serverbee config # 查看 / 修改配置
sudo serverbee uninstall agent -y在 Nginx/Caddy 之后,将 / 代理到 127.0.0.1:9527,并确保 WebSocket 路由 /api/ws/ 和 /api/agent/ws 透传 Upgrade/Connection 头且设置较长读超时。完整可用的 Nginx 配置见部署文档。
git clone https://github.com/ZingerLittleBee/ServerBee.git
cd ServerBee
make dev-full # Server(:9527)+ Vite 开发服务器(:5173)—— 使用 admin / admin123 登录
make cargo-test # Rust 测试
make test # 前端测试
make cargo-clippy # Rust 代码检查
make dev-full启动带 HMR 的 Vite(http://localhost:5173),并代理/api/*到:9527的 Rust 服务端。在 设置 页生成一次性 enrollment code 即可接入开发用 Agent。
技术栈: Rust(Axum 0.8 · sea-orm · SQLite WAL)· React 19(Vite 7 · TanStack Router/Query · Recharts · shadcn/ui · Tailwind CSS v4)· Rust Agent(sysinfo · tokio-tungstenite)。
ServerBee 自带 3800+ 自动化测试 —— 其中 3200+ 为 Rust(单元测试 + 42 个集成套件,通过 mock-agent 测试桩驱动真实 Axum 路由、经由 HTTP/WebSocket 演练),以及 600+ 前端 Vitest 测试。覆盖率使用 cargo-llvm-cov 测量(common ~98%、agent ~90%、server ~92% region)。每次 push 都会在 CI 中运行零警告 Clippy、完整 Rust 测试套件,以及前端类型/lint 检查。详见 测试与质量 指南。
服务端运行时,可在 /swagger-ui 访问交互式 OpenAPI 文档。