RustPBX 操作手册
本章节面向日常运维/值班同学,聚焦“如何保持系统稳定运行”。如需了解功能原理,请参考《概览》《基础配置》《路由、Trunk 与计费》等章节。
1. 日常巡检
- 早班巡检:登录控制台首页查看节点健康、并发呼叫、失败率,如异常立即进入 Diagnostics。
- 日志核查:关注
callrecord、proxy、console三类日志;建议通过集中化日志平台设置关键字告警。 - 容量余量:记录上一日的峰值 CPS、并发数,与可承载上限对比,作为扩容依据。
- 告警处理:建立告警分级 SOP(P1/P2/P3),保证 5 分钟内响应。
(此处可插入“运维仪表盘”截图)
2. 变更与发布流程
- 配置准备:在 Git 仓库(
config/、config.toml)创建分支,提交 MR/PR,并触发自动化语法校验。 - 灰度策略:
- 路由变更:先在低权重 DID 上验证;
- 分机/队列:利用测试账号演练;
- 计费模板:使用沙箱号段对比旧模板。
- 执行 Reload:严格按照《诊断工具》章节进行 Preflight 检查,再在控制台或 API 执行 Reload。
- 回滚:如出现异常,立即恢复上个 Git Tag,并重新 Reload;在 Diagnostics → Routing/Trunks 再次验证,直至测试结果与变更前一致。
3. 运行中常用操作
- 紧急封禁:通过
config/acl/或控制台快速封 IP/分机,防止恶意呼叫;操作完成后记得 Reload ACL。 - 限流/限额:借助频率限制或队列容量控制按需降载。
- 录音调取:在 Call Records 中按 call_id 搜索,导出录音与信令,满足合规或客户投诉调查。
- 批量任务:可使用自研脚本调用 API,批量重置分机密码、同步计费模板等。
4. 备份与合规
- 配置:将
config/与config.toml纳入 Git,搭配 CI 做格式与安全检查。 - 数据库:若使用 PostgreSQL,建议每日逻辑备份 + 每周全量快照;SQLite 部署需确保文件在可靠存储上。
- 录音/CDR:按法规保留 180/360 天,推荐同步到对象存储并建立生命周期策略。
- 审计:记录所有 Reload/变更操作,可在控制台或 Git commit 中追溯责任人。
5. 自动化与可观测性
- 健康探针:通过
GET /health(由handler::ami提供)监控数据库、SIP 线程与配置加载状态,可直接接入负载均衡或 Prometheus blackbox。 - 日志/Tracing:利用
log_level、log_file控制tracing输出,集中采集access.log与callrecord事件,结合告警条件触发 NOC。 - 合成监控:使用
examples/perfcli.rs或第三方拨测定时呼叫,验证真实业务路径,并将结果与 Diagnostics Evaluate 输出对比。 - 告警联动:在 ChatOps/NOC 中订阅
/health、日志关键字及数据库指标,确保 P1/P2 告警自动转派。
6. 操作安全红线
- 禁止在生产环境直接修改编译后的二进制或数据库结构,所有变更必须通过 Git 交付。
- Reload 前必须有两人复核关键配置(Trunk、Routing、计费)。
- 非工作时段的重大变更需提前报备并预留回滚窗口。
(此处可插入“操作流程”或“值班清单”截图)
遵循以上操作准则,可确保 RustPBX 在 7x24 的语音业务中保持稳定与可预测性。