MG-ge/observability-incident-response-lab

GitHub: MG-ge/observability-incident-response-lab

面向初级运维和技术支持岗位的本地实验室,通过 FastAPI 应用练习结构化日志、健康检查、事件分诊和复盘报告等可观测性与事件响应核心技能。

Stars: 0 | Forks: 0

# 可观测性 + 事件响应实验室 职业实验室中的项目 3。 这是一个对初级人员友好的作品集项目,适用于云支持、应用支持、SaaS 技术支持、产品支持以及初级运维相关岗位。 本项目专注于实际的故障排查: - 结构化日志 - 请求 ID - 简单的可用性检查 - 事件场景 - 运维手册 - 复盘报告 这不是生产环境经验。这是一个本地的学习和作品集项目。 ## 当前状态 项目 3 v1 已完成。 该项目目前包含: - 一个小型的 FastAPI 应用 - `GET /health` - `GET /work` - `GET /fail` - 结构化请求日志 - 使用 `X-Request-ID` 的请求 ID 处理 - 本地可用性检查脚本 - 支持风格的事件场景 - 事件分诊运维手册 - 简短的实验复盘报告 - 最终项目审查 - 职业指南包 - 已知限制 - AI 使用说明 - pytest 覆盖率 - 本地运行脚本 ## 为什么会有这个项目 项目 1 和项目 2 已经涵盖了: - REST API 基础 - SQL/数据检查 - 健康和就绪端点 - Docker - GitHub Actions - CI 测试 - 部署就绪文档 项目 3 回答了一个不同的问题: ``` Can I investigate an application problem using logs, simple signals, runbooks, and incident notes? ``` ## 目标岗位 - 初级技术支持工程师 - SaaS 技术支持专家 - 应用支持专家 - 产品支持工程师 - 初级或助理级别云支持工程师 - API 支持工程师 - 初级集成专家 - Sovellusasiantuntija ## 技术栈 该技术栈故意保持简单: - Python - FastAPI - pytest - Shell 脚本 - curl - 本地日志 Docker 和 GitHub Actions 可能会在稍后添加,前提是它们能够支持可观测性目标。 ## 本地运行 在项目文件夹中: ``` cd /Users/mg/Desktop/Dreams/career-lab-2026/observability-incident-response-lab python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt pytest PORT=8030 scripts/run-dev.sh ``` 在另一个终端中: ``` curl -s http://127.0.0.1:8030/health | python -m json.tool curl -s -H "X-Request-ID: demo-123" http://127.0.0.1:8030/work | python -m json.tool curl -s -i -H "X-Request-ID: incident-demo-1" http://127.0.0.1:8030/fail ``` 在服务器终端中查看结构化请求日志。 运行本地可用性检查: ``` scripts/check-uptime.sh ``` 预期的健康结果: ``` uptime_check=pass url=http://127.0.0.1:8030/health http_status=200 request_id=uptime-check-local next_action=No action needed. ``` ## 运行测试 ``` pytest ``` 预期结果: ``` 7 passed ``` ## v1 范围 项目 3 v1 包含: - 一个小型本地 API - 结构化日志 - 请求 ID 行为 - 一个简单的可用性检查工作流 - 支持风格的事件场景 - 一份运维手册 - 简短的复盘报告 - 已知限制 - AI 使用说明 ## 事件场景 支持场景位于 `support-cases/` 中: - `01-uptime-check-app-not-running.md` - `02-lab-failure-endpoint-returns-500.md` - `03-wrong-health-path-returns-404.md` ## 运维手册和复盘报告 首次响应运维手册位于 `runbooks/` 中: - `incident-triage.md` 实验复盘报告位于 `postmortems/` 中: - `01-uptime-check-app-not-running.md` - `02-wrong-health-path-used.md` ## 最终审查和职业指南包 最终文档位于 `docs/` 中: - `project-review.md` - `career-package.md` - `known-limitations.md` - `ai-usage.md` ## 不在范围内 - Kubernetes - 微服务 - 前端工作 - 复杂的身份验证 - 付费监控工具 - 真实的生产部署 - 生产环境事件声明 - 高级 SRE/平台工程声明 ## 从这里开始 阅读计划: ``` cat docs/project-plan.md cat STATUS.md cat NEXT_STEPS.md ```
标签:API开发, API支持, API集成, AV绕过, CI/CD准备, curl, Cutter, FastAPI, OISF, Pytest, Python, REST API, Runbook, SaaS技术支持, Shell脚本, X-Request-ID, 事件分级, 事件管理, 事后总结, 云支持, 作品集, 健康检查, 初级工程师, 单元测试, 可用性监控, 可观测性, 安全规则引擎, 实验环境, 库, 应急响应, 应用支持, 开发运维, 技术支持, 故障手册, 故障排查, 教学项目, 无后门, 日志管理, 本地开发, 系统运维, 结构化日志, 请求路由, 请求追踪, 逆向工具