1. 概述
本方案提出一套 最小可行、可扩展、可审计 的 AI 驱动 OPS Agent 架构,通过 LLM、规则引擎、工具调用三者协同,驱动 MAPE-K 闭环:
Perceive(检查) → Analyze(诊断) → Plan(生成计划) → Gate(策略) → Execute(动作) → Verify(验证) → Learn(沉淀)
目标是将典型运维场景抽象为 可调用的技能包:
- 模板化规则:触发条件、风险阈值
- Plan DSL 片段:可执行变更步骤
- 验证查询:确保可观测、可回滚
2. 典型运维场景 → 抽象角色的动机
典型运维活动中,问题从“信号”到“决策”再到“变更”需要跨越多个步骤:
- 故障异常:异常指标 → 抽取 Top-K → 执行索引或 SQL 改写 → 验证回归
- 证书轮换:检测过期 → 计划滚动替换 → 网关适配 → 检查连通性
- 扩缩容:发现瓶颈 → 提议扩容 → 风险评估 → 调度策略 → 自动验证
- 灰度与回滚:探测新版本异常 → Canary 策略生成 → 调用 Rollout API → 验证 SLO 恢复
在这些场景中,我们需要 五类能力:
- 持续观测:OTel、Prometheus、Loki、Trace 采集
- 聚合分析:分钟级指标计算、跨服务调用链、异常检测
- 变更计划:根据证据和模板生成 DSL + 回滚路径
- 自动执行:调度器/适配器完成变更
- 知识沉淀:RCA、案例、拓扑、日志、Diff 回收进入知识库
于是,我们抽象出 Sensor / Analyst / Planner / Gatekeeper / Executor / Librarian / Orchestrator 七类角色,让系统具备“看→想→做→学”的闭环能力。
3. 运维可观测的“五维一图”
我们将可观测性数据归约为五大核心维度:
- 指标 / 时序:服务、实例、系统的 p95、QPS、错误率
- 日志:原始事件、解析后的模式
- 链路:跨服务调用、Span 聚合、依赖拓扑
- 拓扑:资源关系、动态拓扑、跨时态演进
- 知识库 / 向量:RCA 案例、Runbook、代码 Diff、FAQ、LLM Embedding
这就是 “五维一图”:
- 统一的数据容器:指标、日志、链路、拓扑、知识
- 证据链的上下文:从近线明细到长周期知识的无缝切换
- AIOps 的决策基座:分析、计划、验证共用统一的证据框架
4. 双引擎落地:OpenObserve + PostgreSQL + Timescale + AGE + pgvector
4.1 问题绑定与职责拆分
近线 I/O 面(高吞吐、低延迟)
- 特征:明细多、吞吐大、写多读少、查询按时间窗和标签过滤
- 典型内容:日志、指标、追踪
- 诉求:秒级到分钟级写入可达、低成本长周期保留
- 方案:OpenObserve(OO) = 对象存储 + 列式(Parquet/Lance)
治理/知识面(融合多、解释强)
- 特征:聚合计算、拓扑时态、知识复用
- 典型内容:RCA 证据、调用图、相似案例
- 诉求:可解释、可 JOIN、多维证据一次查询产出
- 方案:PostgreSQL + Timescale + AGE + pgvector
- 关系:结构化
- 时序:连续聚合
- 图谱:跨时态 k-hop
- 向量:相似案例检索
5. 架构总览
关键路径:Sensor → Analyst → Planner → Gatekeeper → Executor → Librarian → Orchestrator
- 数据平面:OpenObserve (明细) + PostgreSQL/Timescale (聚合) + AGE (拓扑) + pgvector (知识)
- 控制平面:CloudEvents 事件总线 + Orchestrator 状态机
- 接口层:统一 OpenAPI + Plan DSL
- 策略层:OPA / Cedar 门控
6. 关键组件设计
模块化设计,插件化适配器,统一 CloudEvents 协议。
7. 数据存储设计
- OO:近线明细(logs、metrics、traces)
- PG / Timescale / AGE / pgvector:
- 聚合:metric_1m、service_call_5m、log_pattern_5m
- 拓扑:topo_edge_time
- 事件:event_envelope、evidence_link
- 知识:kb_doc、kb_chunk
8. 典型工作流
8.1 最短闭环示例
- Sensor:写 trace/log 到 OO,登记 oo_locator
- Analyst:聚合 Top-K → 写 event_envelope(ERROR) + evidence_link
- Planner:结合 kb_chunk,生成 Plan DSL(含回滚+验证)
- Gatekeeper:OPA 策略评估 → 输出 plan.approved
- Executor:调用适配器,写 exec.step.result,日志回灌
- Orchestrator:推进 VERIFY,SLO 命中 → CLOSED,否则 ROLLBACK
- Librarian:沉淀 RCA、Diff、日志到 kb_doc/kb_chunk
8.2 状态机
NEW → OBSERVE → DIAGNOSE → PLAN → GATE → EXECUTE → VERIFY → CLOSED
↘ ROLLBACK / MITIGATE / PARKED
9. MVP 范围
- 接入 OTel、Prom、Loki → OO
- PG 模型落地:metric_1m、service_call_5m、event_envelope
- 统一 Plan DSL & OpenAPI
- 初版 Orchestrator 状态机 + CloudEvents 总线
- Gatekeeper 集成 OPA 策略引擎
10. 后续扩展
- 引入向量召回的自适应策略选择(RAG)
- Executor 增加 GitOps / Helm / Argo / Terraform 适配器
- Librarian 增强代码 Diff、PR、RCA 自动提炼
- 完整审计链 + 多租户 RBAC
11) 典型运维场景库(覆盖:部署 / 上线 / 监控 / 变更 / 故障处理 / 优化 / FinOps)
结构化模板:触发规则 → 证据链(五维一图) → Plan DSL 片段 → 门控策略 → 验证查询 → 审计/KPI → 失败分支
11.1 发布上线(金丝雀→蓝绿→自动回滚)
- 触发:新版本发布后 5–10 分钟内
p95>基线×1.2 或 err_rate>1%。 - 证据链(五维一图):
- 指标:
metric_1m(p95, err);链路:service_call_5m;日志:log_pattern_5m;拓扑:topo_edge_time;知识:kb_chunk(上线复盘)
- Plan DSL 片段:
apiVersion: aops/v1
kind: Plan
spec:
steps:
- id: canary10
action: k8s.rollout
params: {deployment: checkout, strategy: canary, weight_pct: 10}
verify:
checks:
- type: metrics
query: ref:queries.q_slo
pass_if: p95_ms < 800 and err_rate_pct < 1
rollback:
action: k8s.rollout
params: {deployment: checkout, strategy: rollback, to_revision: prev_stable}
- 门控:窗口 00:00–06:00 JST;
risk<=low;变更冻结日禁止。 - 验证:最近 5 分钟
p95<800 & err<1%;关键依赖 Span 超时率 < 2%。 - 审计/KPI:Change Failure Rate,MTTR,Lead Time。
- 失败分支:自动回滚→降级(Feature Flag)→PARKED。
11.2 配置下发 / Feature Flag 切换
- 触发:A/B 实验或灰度门槛达到。
- 证据链:指标(成功率/转化率),日志(错误模式),知识(实验守则)。
- Plan DSL 片段:
steps:
- id: toggle-ff
action: http.call
params: {method: POST, url: https://flag/api/toggle, body: {flag: newAlgo, percent: 25}}
verify:
checks:
- type: metrics
query: ref:queries.q_exp
pass_if: conv_rate_delta >= 0 and err_rate_pct < 1
- 门控:影响面 < 20%;实验安全阈值;回滚为
percent: 0。
11.3 证书轮换(TLS/mTLS)
- 触发:证书距离过期 < 14 天。
- 证据链:日志握手失败、指标 TLS 错误计数、拓扑(证书依赖边)。
- Plan:
k8s.secret 更新 → gateway reload → 逐层拨权。 - 验证:合成探测 + 链路握手时延 < 50ms;无 495/525 类错误。
11.4 数据库变更(DDL/索引)
- 触发:Top-K 慢 SQL;
rows_examined/rows_sent 比例异常。 - 证据链:慢日志模式、Span DB 层耗时、调用图写热点。
- Plan DSL:
steps:
- id: idx-create
action: sql.exec
params: {dsn: pg://prod, sql: "CREATE INDEX CONCURRENTLY IF NOT EXISTS ix_o_uid ON orders(user_id);"}
guard:
preconditions:
- type: window
expr: now in [01:00-04:00 JST]
verify:
checks:
- type: metrics
query: ref:queries.q_sql_p95
pass_if: p95_ms < baseline*0.8
rollback:
action: sql.exec
params: {dsn: pg://prod, sql: "DROP INDEX IF EXISTS ix_o_uid;"}
11.5 弹性扩缩容(HPA/KEDA + CA)
- 触发:
cpu_pct>75% 且 queue_len>阈值 持续 10 分钟。 - 证据链:指标 CPU/RAM/QPS、链路瓶颈段、日志限流/超时模式。
- Plan:上调 HPA 目标 → 触发 Cluster Autoscaler → 校验成本与 SLO。
- 验证:
p95 恢复 < 800ms;扩容成本 < 预算上限。
11.6 外部依赖超时(第三方 API)
- 触发:下游
callee=payments Span 超时率 > 5%。 - Plan:打开熔断 → 降级(缓存/静态报价)→ 限流保核心路径。
- 验证:核心交易成功率 ≥ 99.5%,超时率 < 1%。
11.7 缓存热点/穿透治理
- 触发:命中率骤降 + 后端 QPS 暴涨。
- Plan:引入 Bloom 过滤/负缓存、热点 Key 预热、限频。
- 验证:命中率回升 ≥ 90%,后端 QPS 回落。
11.8 日志噪声抑制(成本+可读性)
- 触发:
log ingest rps 激增且与错误率弱相关。 - Plan:运行时采样、动态日志级别、结构化字段裁剪。
- 验证:诊断召回率不下降;日志成本下降 ≥ 30%。
11.9 FinOps:降本不降 SLO
- 触发:本月预测成本 > 预算 110%;低利用率节点占比 > 20%。
- 证据链:指标(CPU/RAM 利用)、拓扑(空载边)、知识(历史优化案例)。
- Plan:
- Rightsizing(降配/实例族切换)
- Scale-to-zero 非峰服务
- 存储分层(热/温/冷)+ 日志保留期/采样率下调
- Spot 混池 + 关键组件反亲和
- 验证:SLO 不破;月度成本下降 ≥ 20%。
11.10 灾备与容灾切换(AZ/Region)
- 触发:主区健康度评分 < 阈值或演练日历到期。
- Plan:双写校验 → 流量切至 DR → 数据一致性验证 → 观测回传。
- 验证:切换 ≤ 5 分钟,数据差异 < 0.1%。
11.11 安全应急(高危 CVE)
- 触发:SBOM 命中高危 CVE。
- Plan:基镜像修复 → 受影响服务滚更 → 运行时策略加固(seccomp/AppArmor)。
- 验证:漏洞扫描通过;SLO 无退化。
11.12 数据质量/ETL 延迟
- 触发:DAG 延迟 > 2×SLA;空值/异常值占比激增。
- Plan:增量重算 → 冷数据回填 → 下游告警抑制。
- 验证:完整性/新鲜度指标恢复。