用途:排查测试/生产环境(非本地)的故障,如接口变慢、查询慢、延迟升高、Pod 崩溃或重启循环、OOMKilled、疑似限流,以及 Sentry 中的失败或降级事务。
前置条件:确认可访问 Sentry 与 Kubernetes 工具;优先使用 k8s-tool,未安装或未配置时回退到原始 kubectl;执行前确认命名空间与目标环境(test 或 prod)。
使用流程:先按主要症状分流。Pod 崩溃/重启类先看 Pod 状态与日志;延迟/慢接口类先看 traces,再关联日志与 Pod 状态。
检查 Pod 状态与日志,可用 k8s-tool describe --resource pod --name <pod-name> --env <env>、k8s-tool logs --pod <pod-name> --env <env> --tail 200,或 kubectl describe pod <pod-name> -n <namespace>、kubectl logs <pod-name> -n <namespace> --tail 200。关注重启原因、终止消息、探针失败与重复启动错误。
用 Sentry 定位慢数据库调用、外部延迟与事务级失败,关注数据库查询时间(本项目常以 ~500ms 为经验基线,非通用阈值)、外部 API 延迟、重复错误模式与性能退化趋势。
查看应用日志,关注 [Server]、[SSR]、[tRPC]、[DB Pool] 及 ERROR/WARN 等模式,常见问题包括串行 API 调用未用 Promise.all、数据库连接获取过慢、SSR 渲染慢。
用 k8s-tool top --env <env> 检查资源使用,CPU >70% 可能受限流影响,内存 >80% 可能提高 OOM 风险。用 kubectl get pod <pod-name> -n <namespace> -o yaml 查看 resources.limits/requests 的 CPU 与内存、环境变量、镜像版本。Helm values 位置:web-app 为 /kubernetes/helm/web-app/values.{test,prod}.yaml,详见 references/helm-values-locations.md。
修改前先确认证据:每项改动对应 traces、日志、Pod 事件或资源指标中的具体证据,优先最小可回滚改动,部署后复查 traces/日志验证效果。
常见原因:CPU/内存限流、网络延迟、数据库连接池问题(关注 idleTimeoutMillis 与池大小)、串行 API 调用。
限制:资料未提供内置阈值之外的通用判定标准与自动化修复能力,需人工确认证据后调整配置。