INCIDENT DETECTIVE · ALPHA

别让 AI 猜根因。
先把证据找齐。

你只有 9 点预算,无法查看全部证据。沿着 Prometheus、Loki 和只读 MySQL 事实逐步排查,区分相关性、反证与仍然未知的部分。

DATA
完全合成
NETWORK
不连接监控
AI
本局不调用
RESULT
本地规则评分

SYNTHETIC INCIDENT · INTERMEDIATE

结账搜索变慢:先别重启 MySQL

一次应用发布后,结账搜索接口的延迟和超时开始升高。MySQL、应用、宿主机还是缓存都有可能,值班人员需要在有限预算内先取证再判断。

已使用 0剩余 9
已使用 0 / 9总预算 9 点;已获取证据不可退款。

提示 · 合成事故已载入

先选择证据再写结论。全部计算都在当前页面完成,不连接任何真实监控或数据库。

本局目标

  • 先区分服务不可用、宿主机饱和与查询变慢,不把发布时序直接当作根因。
  • 用时间、服务和合成 trace 关联指标、日志与只读数据库事实。
  • 在证据预算内保留反证与未知项,避免用重启掩盖尚未验证的机制。

安全边界

  • 全部指标、日志、查询、时间、服务和 trace 均为仓库内合成数据,不连接真实 MySQL、Prometheus、Loki 或 Grafana。
  • Loki Stream 只使用低基数的服务和环境标签;合成 trace 只出现在日志正文,不成为标签。
  • MySQL 证据只包含 SELECT 与 EXPLAIN 结果;重启、终止会话、DDL、DML 和删除动作不会执行。
  • 查询改写、索引与专用搜索机制只是候选建议,任何生产写操作都需要独立验证、回滚方案和人工批准。

EVIDENCE MENU

选择下一份证据

0 / 10 已获取

Topologystack-topology
1 点

合成可观测链路拓扑

确认结账请求、数据库、缓存、指标、日志和人工驾驶舱之间的责任边界。

前置条件和预算均满足
Prometheusprometheus-mysql-health
1 点

MySQL 与 Exporter 存活状态

先确认数据库和采集链路是否存活,避免把查询变慢误判成整个服务下线。

前置条件和预算均满足
Prometheusprometheus-checkout-latency
1 点

结账搜索延迟趋势

确定症状开始时间、持续方向和影响程度,为后续日志时间窗提供依据。

前置条件和预算均满足
Prometheusprometheus-connection-pressure
2 点

MySQL 连接压力趋势

检查延迟上升后活跃连接是否同步堆积,同时保留因果方向仍未知的边界。

需先获取:结账搜索延迟趋势
Prometheusprometheus-host-cpu
1 点

数据库宿主机 CPU

验证查询变慢是否只是宿主机 CPU 饱和造成,并为基础设施假设提供反证。

需先获取:MySQL 与 Exporter 存活状态
Lokiloki-checkout-trace
2 点

结账请求的合成 Trace 日志

在延迟窗口内关联慢查询形态、持续时间和上游超时,不记录真实参数。

需先获取:结账搜索延迟趋势
MySQLmysql-query-plan
2 点

慢查询形态的只读 EXPLAIN

验证合成查询能否使用普通索引,以及预计扫描行数是否足以解释持续时间。

需先获取:结账请求的合成 Trace 日志
MySQLmysql-order-state
1 点

订单业务状态只读摘要

确认延迟期间是否出现订单状态丢失或写入失败,并区分性能问题与数据损坏。

需先获取:结账请求的合成 Trace 日志
Lokiloki-release-events
1 点

发布窗口事件

检查事故前发布是否伴随启动失败、配置错误或回滚,避免仅凭时间接近断言因果。

前置条件和预算均满足
Runbookrunbook-slow-search
1 点

慢搜索只读排查手册

比较先取证、立即重启和直接加索引三种路径的风险与审批边界。

需先获取:合成可观测链路拓扑

EVIDENCE-REVEALED TIMELINE

当前可见时间线

2 个事件

  1. 变化

    结账应用完成一次合成发布并开启客户搜索功能,但初始简报没有证明发布就是根因。

    初始简报
  2. 症状

    结账搜索 p95 延迟告警触发,随后出现少量上游超时。

    初始简报

YOUR HYPOTHESIS

提交可审计推理

确定性规则评分 · 无 AI

怀疑服务(至少一项)
证据角色(支持至少一项,支持与反证不可重叠)

先获取证据,才能引用它支持或反驳假设。

你会采取哪些安全动作?