Files
go-sip/docs/evidence/diagnostics-tools-install-20261008.md
T

3.9 KiB
Raw Blame History

生产与测试统一诊断工具安装(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 仍须在每次执行时通过工具与抓包权限/就绪检查。