This commit is contained in:
zxr
2026-04-27 19:26:57 +08:00
parent 01c807b953
commit 694893eea3
26 changed files with 1901 additions and 15 deletions

View File

@@ -365,3 +365,134 @@ flowchart LR
BE --> Refresh[ingest.Global.Refresh()(规则/字典/屏蔽变更后触发)]
```
---
## 7. 中优先级待办(已立项,未完成)
本节用于记录当前版本可用但尚未产品化完善的中优先级项,作为后续迭代输入。
### 7.1 Outbox 可观测性增强
当前状态:
- 已支持 `alert_outbox` 入队、重试、死信、手动重试;
- 已有基础列表查询接口和前端入口。
待完善内容:
- 增加 outbox 指标接口或埋点:
- `pending_count`
- `retrying_count`
- `dead_count`
- `dispatch_success_rate`
- `dispatch_latency_p95`
- 增加失败原因聚合视图(按 `last_error` 分类统计)。
- 增加任务生命周期字段(首次入队时间、最后发送时间)用于问题排查。
建议落地文件:
- 后端:`internal/logic/controllers/outbox.go``internal/ingest/alert_outbox.go`
- 前端:`front/src/views/ops/pages/log-mgmt/entries/index.vue`
### 7.2 分发状态模型统一(替代 bool
当前状态:
- `logs_events` 已新增 `dispatch_status`,并在 outbox 流程中维护状态。
- 历史字段 `alert_sent` 仍保留,用于兼容旧页面展示。
待完善内容:
- 明确状态枚举为:`not_applicable/pending/retrying/sent/dead`
- 前后端统一以 `dispatch_status` 作为主状态字段,`alert_sent` 逐步降级为派生字段或移除。
- 页面文案由“已告警”升级为“分发状态”主展示,避免语义歧义。
建议落地文件:
- 后端:`internal/models/log_event.go``internal/logic/controllers/crud.go`
- 前端:`front/src/api/ops/logs.ts``front/src/views/ops/pages/log-mgmt/entries/index.vue`
### 7.3 关键路径测试补齐
当前状态:
- 已有基础单测覆盖核心函数。
待完善内容:
- 增加资源事件安全链路测试:
- 验签失败/成功
- 超时事件拒绝
- 幂等事件重复提交
- 增加 outbox 重试链路测试:
- 发送成功更新状态
- 重试次数递增
- 超过阈值转 `dead`
- 增加资源冲突优先级测试:
- `server > collector > device`
建议落地文件:
- `internal/logic/controllers/resource_event_test.go`
- `internal/ingest/alert_outbox_test.go`
- `internal/ingest/resource_resolver_test.go`
---
## 8. 后续产品化规划Phase 3
本节对应“可运维与产品化”阶段,优先级低于中优先级修复项,但会显著提升系统可管理性。
### 8.1 规则发布流draft / publish / rollback
目标:
- 规则配置与生效状态解耦,降低误操作风险。
范围:
- 引入规则草稿态与发布态;
- 支持发布记录、回滚到历史版本;
- 变更需记录操作人、时间、变更说明。
接口建议:
- `POST /Logs/v1/rule-sets/:id/publish`
- `POST /Logs/v1/rule-sets/:id/rollback`
- `GET /Logs/v1/rule-sets/:id/history`
### 8.2 规则仿真/回放能力
目标:
- 上线前可验证规则命中结果,减少误报漏报。
范围:
- 输入样本报文syslog/trap执行仿真
- 返回命中链路(命中/未命中原因);
- 支持历史事件回放。
接口建议:
- `POST /Logs/v1/rule-sets/:id/simulate`
- `POST /Logs/v1/rule-sets/:id/replay`
### 8.3 指标与审计面板
目标:
- 建立“采集-匹配-分发”全链路可观测性。
范围:
- 采集侧:接收速率、解析失败率;
- 匹配侧:命中率、规则耗时;
- 分发侧:成功率、重试率、死信量;
- 安全侧:验签失败次数、重放拦截次数。
前端建议:
- 在日志管理模块增加“运行指标”页签;
- 对死信和验签失败提供快捷定位入口。
---
## 9. 未完成项执行顺序(建议)
为降低风险,建议按以下顺序推进:
1. **中优先级先完成**
- outbox 指标与失败聚合
- `dispatch_status` 主状态化
- 关键路径测试补齐
2. **再做产品化**
- 规则发布流
- 规则仿真/回放
- 指标与审计面板
验收建议:
- 每项功能完成后执行“单项验证 + 回归验证”,最后统一做端到端联调。