46 lines
3.9 KiB
Markdown
46 lines
3.9 KiB
Markdown
# 生产与测试统一诊断工具安装(2026-10-08)
|
||
|
||
## 授权与规则
|
||
|
||
使用者明确批准:在既有测试机安装 tshark 并确保 tcpdump 具备;修改环境安装脚本,生产和测试均预装,不按环境跳过。安装不代表启用抓包,仍需显式 `--debug/-D` 和既有操作者权限;没有更改一般用户抓包权限、用户组或 sudo 规则。
|
||
|
||
本次仅在登记测试机执行安装,没有操作其他生产主机;没有真实外呼、AI 调用或现场抓包,没有更新业务制品或重启服务。
|
||
|
||
## 安装脚本
|
||
|
||
新增 `deploys/cell/install-diagnostics.sh`:root-only、无生产/测试切换或跳过参数,非交互使用系统 apt 安装 tcpdump/tshark。包索引、安装、版本检查和 SIP/RTP dissector 校验任何一步失败都明确退出,不降级。
|
||
|
||
- Go 部署包包含此 helper,由 `deploys/install.sh` 完成既有包/平台/发布授权校验后无条件调用。
|
||
- 原生 Asterisk 包包含 helper 和独立 SHA-256;用户安装器完成原有平台/制品/不覆盖检查后,通过现有 `sudo -n` 执行 helper,再改变用户安装目录。
|
||
- 没有放松 Debian/架构限制或生产发布门禁,`--nonprod` 仍只属于原生平台核验,不影响工具预装。
|
||
- helper SHA-256:`59325fb184e4b117a50c29614cf680c8808e63c0589026bd1b9fd767864dd41f`。
|
||
|
||
## 测试机事实
|
||
|
||
SSH 指纹按登记值严格核对后,将相同 helper 私密暂存、核对 hash,再执行安装。
|
||
|
||
- Debian 13;tcpdump **4.99.5**、TShark **4.4.19**。
|
||
- apt 操作:0 个已有软件包升级,19 个新包安装;没有执行系统升级或业务服务操作。
|
||
- 真实 tshark 协议能力检查通过;sip-call 所需 **17 个** SIP/SDP/RTP/网络字段全部存在。
|
||
- Asterisk 保持 active,MainPID **777461** 未改变;活动通道 **0**。
|
||
- `pjsip.conf` 仍为 `c319476e7e4962008899a11ae0461db282eed3d63871b2d8adcd143812408cf8`,没有修改线路。
|
||
- 抓包权限未改动,未开启实际抓包。主机缺少 getcap,因此没有据工具存在推断 tcpdump 的一般用户抓包权限。
|
||
|
||
私密安装日志及核验在本机 `.local/diagnostics-install-20261008-VqOqz7/`;现场补充记录为 `~/sip-call/diagnostics-verification-20261008.json`(0600)。原工具 `verification.json` 保留初始部署时间点的历史事实,不覆盖;现场 README 已同步当前工具状态。
|
||
|
||
## 本地验证与边界
|
||
|
||
`scripts/check-install-diagnostics.sh` 在 network-none 的 root 容器内用隔离包命令验证:production/development/test 都调用相同安装命令;拒绝环境切换和非 root;索引/安装/工具执行/缺 RTP 协议的失败均不吞;两个安装入口及两种包均包含 helper。已加入本地验收。
|
||
|
||
验证期间主工作区被另一条合同迁移工作切换并改动,当前合同目录/测试出现不一致;本任务没有覆盖、撤销或修补这些无关变动,也不声称该并行工作区已整体通过。
|
||
|
||
本任务使用独立 worktree `31466bd` + 已提交 `0f5efc6031d230eec475b6f08caed339bd268f84` 中仅七个安装/验收脚本的变更进行稳定核验:
|
||
|
||
- Shell 语法、安装专项、格式和原有 Proto/合同校验通过。
|
||
- 全仓 `go test -race ./... -count=1 -timeout=120s`、`go vet -x ./...`、覆盖率测试通过。
|
||
- 排除生成代码的业务单元覆盖率 **70.6%**。
|
||
- 两个制品构建和本地发布门禁通过;真实隔离 RabbitMQ/HTTPS/mTLS Mock 端到端通过。
|
||
- 完整 make 汇总曾超时;初次主工作区还有一次既有 ASR fixture 的 2 秒 deadline 超时,专项连续五次复核通过,未改 AI 源码或放宽时限。上述独立步骤逐项核验,不能把超时汇总当成成功记录。
|
||
|
||
这只证明安装逻辑、工具能力和隔离验证;不证明真实线路、现场逐通抓证或生产发布签收。实际 `-D` 仍须在每次执行时通过工具与抓包权限/就绪检查。
|