4.5 KiB
4.5 KiB
AI-Ops Phase 1 代码开发执行板
状态:开发中
最后更新:2026-05-11
负责人:小龙(统筹)
一、Phase 1 范围
| 模块 | 功能点 | 工期 | 状态 |
|---|---|---|---|
| 1.1 监控首页 | 首页布局 + 实时指标 + 供应商数 + 告警数 + 指标下钻 | 5 人天 | 骨架完成 |
| 1.2 日志查询 | 查询页 + 表格展示 + 分页 + CSV 导出 + 超时 + Redis 缓存 | 3 人天 | 骨架完成 |
总计:8 人天
二、任务清单
模块 1.1:监控首页
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---|---|---|---|---|
| C1-01 | 项目初始化(go mod + 目录结构) | go.mod + 目录树 | 完成 | 21 个 Go 文件 |
| C1-02 | 基础设施(config、database、redis、errors、response) | internal/{config,database,redis}/ + pkg/ | 完成 | 待 go mod tidy 下载依赖 |
| C1-03 | Domain 层(models + repository 接口) | internal/domain/{model,repository}/ | 完成 | 3 model + 3 interface |
| C1-04 | Infra 层(PostgreSQL 实现) | internal/infra/repository/pg_*.go | 完成 | 3 个 repository |
| C1-05 | Service 层(metrics + log 业务逻辑) | internal/service/*.go | 完成 | 含 CSV 导出、Redis 缓存 |
| C1-06 | Handler 层(HTTP API) | internal/handler/*.go | 完成 | 7 个 API 端点 |
| C1-07 | Middleware(auth、logging、recovery) | internal/middleware/*.go | 完成 | JWT + API Key 双鉴权 |
| C1-08 | 首页路由 /ops/dashboard | dashboard_handler.go | 完成 | 内联模板,待优化为文件模板 |
| C1-09 | 实时指标 API /api/v1/ai-ops/metrics/realtime | metric_handler.go | 完成 | 查询 ai_ops_metrics 表 |
| C1-10 | 供应商数量 API /api/v1/ai-ops/metrics/suppliers/count | metric_handler.go | 完成 | 基于 supplier_health 指标 |
| C1-11 | 告警数量 API /api/v1/ai-ops/alerts/open/count | metric_handler.go | 完成 | 查询 ai_ops_alerts 表 |
| C1-12 | 指标下钻 API /api/v1/ai-ops/metrics/query | metric_handler.go | 完成 | 支持时间范围过滤 |
| C1-13 | 前端模板优化 | web/templates/*.html | 待办 | 当前为内联模板 |
模块 1.2:日志查询
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---|---|---|---|---|
| C2-01 | 日志查询页路由 /ops/dashboard/logs | dashboard_handler.go | 完成 | 内联模板 |
| C2-02 | 日志查询 API /api/v1/ai-ops/logs | log_handler.go | 完成 | 支持分页 + 多维度筛选 |
| C2-03 | CSV 导出 /api/v1/ai-ops/logs/export | log_handler.go | 完成 | 上限 10000 条 |
| C2-04 | 查询超时逻辑 | log_service.go | 完成 | 3 秒超时 |
| C2-05 | Redis 缓存(5 分钟 TTL) | log_service.go | 完成 | 基于筛选条件构建缓存键 |
| C2-06 | 日志表 migration | tech/migrations/000002_create_request_logs.up.sql | 完成 | 7 个索引 |
通用任务
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---|---|---|---|---|
| C0-01 | 基础测试(service + handler mock 测试) | *_test.go | 完成 | 2 个测试文件 |
| C0-02 | 编译验证 | go build | 阻塞 | 缺少 go.sum,需运行 go mod tidy |
| C0-03 | 性能测试脚本(k6) | test/perf/ | 待办 | Phase 1 功能清单未要求,可延后 |
| C0-04 | 配置示例 | config.yaml | 完成 | 支持环境变量覆盖 |
三、API 端点清单
| 方法 | 路径 | 说明 | 状态 |
|---|---|---|---|
| GET | /ops/dashboard | 监控首页 | 完成 |
| GET | /ops/dashboard/logs | 日志查询页 | 完成 |
| GET | /api/v1/ai-ops/metrics/realtime | 实时指标(QPS/延迟/P99/错误率) | 完成 |
| GET | /api/v1/ai-ops/metrics/suppliers/count | 活跃供应商数量 | 完成 |
| GET | /api/v1/ai-ops/alerts/open/count | 未关闭告警数量 | 完成 |
| GET | /api/v1/ai-ops/metrics/query | 指标下钻查询 | 完成 |
| GET | /api/v1/ai-ops/logs | 日志查询(分页) | 完成 |
| GET | /api/v1/ai-ops/logs/export | 日志导出 CSV | 完成 |
| GET | /health | 健康检查 | 完成 |
四、阻塞项
| 阻塞项 | 影响 | 解决方案 | 负责人 |
|---|---|---|---|
| go.sum 缺失 | 无法编译运行 | 运行 go mod tidy 下载依赖并生成 go.sum |
用户/运维 |
五、下一步行动
- 编译验证:运行
go mod tidy+go build ./...解决依赖和编译错误 - 模板分离:将内联 HTML 模板提取到
web/templates/目录 - 集成测试:补充数据库集成测试(使用 testcontainers 或内存 PostgreSQL)
- Phase 1 验收:所有 API 可访问,日志查询响应 <1s,CSV 导出正常