ServerBox 推送通知和 ServerBoxMonitor 组件怎么配置
为什么需要 ServerBoxMonitor
ServerBox 是客户端拉取模式——打开 App 才连服务器,关了 App 就断了。如果你想要服务器主动推送(比如 CPU 超过阈值时手机立刻弹通知),就需要装 ServerBoxMonitor。
ServerBoxMonitor 是一个轻量级 Go 程序,装在服务器上,定期采集系统指标,超过预设阈值时通过 Webhook 或 API 调用 ServerBox 的通知服务。
安装 ServerBoxMonitor
方式一:一键安装脚本(推荐)
在服务器上执行:
curl -fsSL https://serverbox.lolli.tech/monitor/install.sh | bash
脚本会自动下载对应架构的二进制(支持 linux-amd64 / linux-arm64 等),放到 /usr/local/bin/serverbox-monitor,并创建 systemd 服务文件。
方式二:手动安装
- 到 ServerBox GitHub Releases 页面下载 ServerBoxMonitor 二进制
chmod +x serverbox-monitor && mv serverbox-monitor /usr/local/bin/- 创建 systemd service:
[Unit]
Description=ServerBox Monitor
After=network.target
[Service]
ExecStart=/usr/local/bin/serverbox-monitor
Restart=always
[Install]
WantedBy=multi-user.target
systemctl daemon-reload && systemctl enable --now serverbox-monitor
配置 ServerBoxMonitor
ServerBoxMonitor 需要一个 JSON 配置文件,路径 /etc/serverbox-monitor/config.json:
{
"server_name": "production-web",
"webhook_url": "https://serverbox.lolli.tech/api/notify?key=你的API密钥",
"thresholds": {
"cpu_percent": 85,
"memory_percent": 90,
"disk_percent": 95
},
"interval_seconds": 30
}
关键配置:
- webhook_url:在 ServerBox App 的「设置 → 推送通知」里生成,包含你的唯一 API 密钥
- thresholds:各项告警阈值,超出后触发推送
- interval_seconds:采集频率,默认 30 秒
接收推送通知
- ServerBox App → 设置 → 推送通知 → 生成 webhook URL
- 把这个 URL 填到服务器上 ServerBoxMonitor 的 config.json 里
- 重启 ServerBoxMonitor 服务:
systemctl restart serverbox-monitor - 测试:在服务器上
stress --cpu 4模拟 CPU 过载,30 秒内手机应该收到推送
ServerBoxMonitor 不影响服务器性能
ServerBoxMonitor 的设计目标是极轻量:
- Go 编译的单文件二进制,无运行时依赖
- 内存占用约 10~20MB
- 每次采集执行的就是标准
top / free / df命令 - systemd 守护进程,崩溃自动重启
推送 vs 手动查看
| 方式 | 触发时机 | 适合场景 |
|---|---|---|
| ServerBoxMonitor 推送 | 指标超出阈值时 | 想及时响应告警,不等 App |
| ServerBox App 手动看 | 打开 App 时 | 日常巡检,主动去看 |
| 主屏小组件 | 后台定时刷新 | 打开手机就能扫一眼 |
三者互补,生产服务器建议三者都用。