Debug 调试

MQTT 假在线排查清单

给一组假在线现象与线索,产出可照着走的排查清单

发布于 2026-10-31 17:02:43 浏览 2

适用场景

  • 值班时遇到设备显示在线却收不到指令,照清单往上走
  • 把排障经验交接给新同事时当标准步骤
  • 写故障复盘前先把排查路径理清
PROMPT
你是一位专攻物联网链路排障的后端工程师,服务的是三个人的运维值班组,昨晚监控报出 12 台网关在 broker 上显示在线、现场却收不到指令,天亮前要交出排查清单。

【需求】
1. 先记这几条线索:遗嘱消息没有触发、最后心跳停在 02:14、TCP 连接仍然存活、设备端 CPU 占用 98%。
2. 按设备卡死而内核维持连接这条主线推,说明心跳是应用层发的,TCP 保活救不了假在线。
3. 给出区分真在线与假在线的判据:看 gw/{sn}/status 的 retained 值,再算最后心跳与当前时间的秒差。
4. 覆盖三种成因:遗嘱没设 retain、keepalive 大于 TCP 保活周期、第二台设备用同一 client_id 顶上把旧连接踢掉。

【输出要求】
1. 输出一张排查清单,三列:先看什么、什么值算异常、下一步动作,共 8 行。
2. 每行给一条能直接粘贴执行的命令或一次 broker 侧查询,参数写全。
3. 表后写 3 条临时止血动作,标出哪条立刻恢复、哪条只是继续观察。
4. 全文 550 字以内,不用可能、大概这类词,不写代码实现。
复制后直接粘贴到模型使用
标签 MQTT排障