排障中心(按现象)
按你看到的现象组织,不按源码组织。 每条路径:现象 → 可能原因 → 诊断命令 → 判读 → 处置 → 验证。
现象速查表
| 你看到的 | 去哪 |
|---|---|
| 进程起不来 / 启动报错 | 启动失败 |
| 401 / 403 / 404 / 429 / 503 / 504 | 网关错误 |
| 数据看不见 / 迁移失败 / PG 报错 | 数据库问题 |
| 计量滞后 / NATS / 对账不平 | MQ 与计量 |
| Pod 不 Ready / 403 RBAC / mTLS / 路由不生效 | K8s 与 Istio |
万能三板斧
bash
# 1) 面上的状态(比日志先看)
curl -s http://<gw>/healthz; curl -s http://<gw>/ready | jq .
curl -s http://<gw>/metrics | grep -E 'rls_denied|audit_chain|authz_denials'
# 2) trace_id 反查(客户端回执里的 trace_id 是跨服务线索)
kubectl -n <ns> logs deploy/rustsvc-<svc> --since=30m | grep <trace_id>
# 3) 错误码定界(1xxx 网关 / 2xxx metadata / 3xxx iam / 4xxx orch /
# 5xxx metering / 6xxx gis / 7xxx 公共)
# 见 /integration/error-model 与 /reference/error-codes判读 /ready 的注意
网关 /ready 恒 200(设计如此:报 jwks/quota 状态但不翻红)—— 判断依赖健康要看 JSON 内容与指标,不能只看状态码。各服务语义矩阵见 启动生命周期。
何时怀疑是安全事件
rustsvc_rls_denied_total增长(P0 runbook rls-violation);rustsvc_audit_chain_broken_total增长(P0 runbook audit-chain-break);authz_denials突增(可能是扫描/撞库前奏,P2 但要人看)。
相关页面
- 参考:端口 · 环境变量 · 错误码
- Runbook 索引(告警视角)