一键启动 cwc-workshops 事故仪表盘:Streamlit+Mock 数据全流程指南
2026/9/18 1:54:56 网站建设 项目流程

一键启动 cwc-workshops 事故仪表盘:Streamlit+Mock 数据全流程指南

【免费下载链接】cwc-workshops项目地址: https://gitcode.com/GitHub_Trending/cw/cwc-workshops

cwc-workshops 仓库里的ship-your-first-managed-agent工作区,是一套基于Streamlit + Mock 数据的电商事故仪表盘(代号 Incident-2277)。Metrics、Logs、Deploys 三大页面开箱即用,右侧还挂着一个离线的 SRE Agent 聊天面板。本文带你一键启动这套事故仪表盘,走通从克隆、装依赖到streamlit run的完整流程。

项目速览:这套事故仪表盘是什么

想象一个真实的 2 点场景:PagerDuty 报警,checkout 服务 P99 延迟飙到基线的10 倍。你得打开仪表盘、grep 日志、翻部署记录,反复猜测——40 分钟后才发现是有人上线了一条N+1 查询

这套仪表盘就是为此而生:

  • 🖥️开箱即跑:Metrics / Logs / Deploys 三个页面全部由 Mock 数据驱动,不需要任何真实后端
  • 🧪自带"假故障":内置一场真实感十足的线上事故,证据散落在日志、指标、部署记录里
  • 🤖预留 Agent 位:每个页面右侧都有 SRE Agent 聊天面板(初始离线),补全 7 个小函数即可让它在线排查

💡 想快速理解全貌,先看这份说明:ship-your-first-managed-agent/README.md

快速上手前的 3 项准备

启动前,只需确认三样东西:

#准备项要求
1Python 版本3.10+
2依赖包Streamlit / Plotly / anthropic / python-dotenv
3环境变量.env中配置ANTHROPIC_API_KEY

依赖清单见 ship-your-first-managed-agent/requirements.txt,核心依赖一览:

依赖用途
streamlit渲染仪表盘四大页面
plotly绘制 Metrics 时序曲线
anthropic驱动 SRE Agent(离线阶段可不用)
python-dotenv读取.env中的 API Key

⚠️ 只跑仪表盘看 Mock 数据时,无需联网调 Agent,API Key 可留空;只有接入聊天面板才需要。

一键启动:4 步跑起 Streamlit 事故仪表盘

把下面这段复制进终端,依次执行即可:

git clone https://gitcode.com/GitHub_Trending/cw/cwc-workshops cd cwc-workshops/ship-your-first-managed-agent python -m venv .venv source .venv/bin/activate # Windows 用 .venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # 然后把你的 ANTHROPIC_API_KEY 填进 .env streamlit run app.py

✅ 启动后浏览器打开localhost:8501,即可看到仪表盘主界面。

  • 📄 入口文件:ship-your-first-managed-agent/app.py
  • 🧩 首次运行会自动生成 7 万行的data/app.log日志夹具(约 0.5 秒,结果确定),之后再也不会重复生成

页面导览:四大页面分别看什么

仪表盘通过侧边导航切换 4 个页面,每个页面右侧都挂着聊天面板:

页面看什么对应文件
Overview事故总览:P99 延迟、错误率、DB 池、持续时长app.py
MetricsP99 延迟 / 错误率 / DB 池三条时序曲线(带部署标记线)pages/1_Metrics.py
Logs70 万行级 JSON 日志流式过滤(按 service / level / 行数)pages/2_Logs.py
Deploys近 6 小时部署列表 + 提交 diff 查看pages/3_Deploys.py

Metrics页面里,三条曲线会在部署时刻(a3f9c21)出现一条虚线标注,直观呈现"上线 → 指标跳水"的因果关系;Logs页面则支持按服务、级别、行数三级过滤,逐行流式加载。

Mock 数据拆解:一场"假故障"是怎么演出来的

data/目录内置了一整套真实感十足的事故证据链

  • 📉14:31:18 UTC,提交a3f9c21部署到 checkout 服务,把批量查询改成了逐行循环
  • 🚀 几分钟后 P99 延迟从65 ms飙升到3,600 ms,DB 连接池打满,20% 的 checkout 开始失败
  • 📂 证据分散在四类文件,Agent 需要把它们关联起来才能定位根因
文件作用
data/app.log7 万行 JSON 日志,Agent 需在沙箱里 grep 分析
data/metrics.json各服务时序指标(延迟 / 错误率 / DB 池)
data/deploys.json近 6 小时部署记录
data/diff.txt问题提交的代码 diff

🎯 关键点:get_metrics/get_recent_deploys/get_diff三个工具跑在你本机(读 Mock JSON),而非云端——这正是"本地工具 + 云端 Agent"混合架构的精髓。

从离线到在线:SRE Agent 的 7 步

打开 ship-your-first-managed-agent/agent.py,里面有 7 个待实现的函数(每个只对应一次Managed Agents API 调用)。补全后,聊天面板就逐步在线:

#函数作用
1setup_agent()创建 Agent(模型 + 系统提示 + 工具)
2setup_environment()创建云端沙箱环境
3upload_log()上传日志到 Files API
4start_session()绑定 Agent + 环境,挂载日志
5stream_reply()打开事件流,发送消息并流式返回
6handle_tool()本地执行工具,读data/*.json
7delete_session()清理云端会话资源

全部加起来约34 行。系统提示、工具 schema、聊天 UI、会话选择器都已预置在 ship-your-first-managed-agent/provided.py。卡住了?参考 ship-your-first-managed-agent/agent_complete.py。

核心文件在哪里:目录速览

路径说明
agent.py唯一需要编辑的文件(7 个函数)
agent_complete.py参考实现
provided.py系统提示 / 工具 schema / 聊天 UI
e2e.py全流程无头测试
app.py事故总览入口
ui.py + assets/style.css深色主题样式
data/日志 + 指标 + 部署 + diff 夹具

常见问题 FAQ

Q1:启动报错说找不到 API Key?只跑仪表盘看 Mock 数据不需要 Key;若想接入 SRE Agent,把ANTHROPIC_API_KEY填进.env再重启即可。

Q2:data/app.log生成失败怎么办?按页面提示手动执行python data/generate_log.py,然后刷新页面。

Q3:聊天面板一直显示"agent offline"?这是正常现象——对应函数还没实现。补全 agent.py 中相应函数后,面板会逐步点亮。

Q4:Windows 下激活虚拟环境?.venv\Scripts\activate代替source .venv/bin/activate

写在最后

这套cwc-workshops 事故仪表盘用 Mock 数据把"线上事故排查"浓缩成了一个可本地一键启动的 Streamlit 应用:四大页面开箱即用,7 万行日志、指标、部署、diff 一应俱全。补上 7 个小函数,你还能让 SRE Agent 在线帮你 grep 日志、关联时间戳、直接点出有问题的提交——这正是从"手动排查 40 分钟"到"Agent 自动定位"的完整闭环。🚀

【免费下载链接】cwc-workshops项目地址: https://gitcode.com/GitHub_Trending/cw/cwc-workshops

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询