【边缘计算实战】P4:巡检边缘可观测与规则诊断(附可视化面板)

系列:巡检机器人边云协同(P1→P2→P3→P4)
代码仓库:https://gitee.com/ghaweiuptgb/edge-computing
本篇目录projects/p04-observability-diagnosis
定位:运维辅助;科研主线仍是边云卸载(P1/P3)


一、为什么要做 P4?

系统跑起来以后,导师/评委通常会问:

出问题你怎么发现?怎么解释?

P4 不追求工业级 Prometheus/Grafana 全家桶,而是做一个 够演示、够讲清 的最小闭环:

采集指标 → 规则告警 → 调工具取证 → 结构化诊断报告

并且提供浏览器面板,真正「看得见」。


二、六个关键指标(宁少勿杂)

指标 含义
node_up 节点是否存活
infer_queue_length 队列/在途请求
infer_latency_ms 探测时延
task_timeout_ratio 探测失败比例
network_rtt_ms 网络往返(可注入)
robot_battery_percent 机器人电量

指标超过一屏幕就失去教学意义。研0 控制在 6 个左右足够。


三、五条诊断剧本

ID 典型触发 建议方向
D1 队列高 / 时延高 过载 → 卸载或降级
D2 节点 down 失联 → 切走流量
D3 RTT 高 弱网 → 慎上云
D4 超时率高但节点仍活 查负载/模型
D5 电量低 降负载提示(不控车)

诊断报告必须包含:

  • hypothesis(假设)
  • evidence(证据)
  • recommendations(建议)
  • tool_trace(调用了哪些检查)

不是纯 ChatBot 空话。


四、启动可视化面板

建议先启动 P2(可选,但更真实):

cd edge-computing/projects/p02-edge-runtime
docker compose up -d

启动 P4:

cd ../p04-observability-diagnosis
pip install -r requirements.txt
python scripts/run_dashboard.py

浏览器打开:

👉 http://127.0.0.1:8010/

面板按钮:

  • 刷新采集
  • 注入过载 / 弱网 / 低电量
  • 一键诊断

五、API 一览(二次开发友好)

接口 作用
GET /metrics/snapshot 采集快照
GET /alerts 评估告警
POST /inject 注入/清除故障观测
POST /diagnose 对单条告警诊断
POST /diagnose/from_alerts 对当前告警批量诊断
GET / 可视化页面

注入示例:

curl -X POST http://127.0.0.1:8010/inject ^
  -H "Content-Type: application/json" ^
  -d "{\"queue\":{\"edge-node-a\":12}}"

六、验收

python scripts/accept_p4.py

脚本会检查:

  • 单元测试
  • 面板可访问
  • 注入过载后出现告警与诊断
  • 报告含 evidence / tool_trace
  • 弱网、低电量剧本可触发

七、和前三篇如何收束成一条故事?

项目 一句话
P1 仿真证明策略有效
P2 节点变成真服务
P3 策略上线 + 复杂环境
P4 出问题能看见、能诊断

对导师的正确表述:

主贡献是边云卸载的可复现实验与在线验证;可观测面板是运维辅助,不是用 LLM 套壳当主成果。


八、系列总结(可作第四篇结尾)

如果你正处于研0,想做一个能打比赛、能进组会、能延伸论文的边缘计算小方向,建议路径是:

  1. 先仿真出图(P1)
  2. 再容器化运行时(P2)
  3. 再在线验证复杂环境(P3)
  4. 最后补可观测与诊断(P4)

完整代码:https://gitee.com/ghaweiuptgb/edge-computing


标签建议AIOps 可观测性 边缘计算 故障诊断 FastAPI 可视化

系列导航:P1 仿真 → P2 运行时 → P3 在线卸载 → P4 可观测诊断(本篇)

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐