anshikapundeel/ai-ops-design

GitHub: anshikapundeel/ai-ops-design

一份面向中型生产环境的 AI 增强事件响应平台的端到端设计文档,客观阐述 AIOps 各子系统的架构、成本、故障模式及 LLM 集成边界。

Stars: 0 | Forks: 0

# ai-ops-design 这是一份关于 **AIOps 平台** 的设计文档 —— 一个面向中型生产基础设施(10–1000 个服务)的 AI 增强事件响应与可观测性平台。 本仓库**仅包含文档**,不包含任何代码。其目标是从端到端全面阐述一个生产级 AIOps 平台的设计:包括数据流、故障模式、扩展策略、成本模型、安全威胁模型,以及客观分析 LLM 在哪些方面能发挥作用,在哪些方面则不能。 平台本身是在其他几个仓库中实现的;本仓库提供了将它们串联起来的系统级视图。如果某个子系统已有相应的代码实现,文档中会提供相关链接。 ## 本文档存在的意义 大多数已公开的 AIOps 设计往往落入以下两种故障模式之一: - **供应商营销图表** —— 在每个组件框图上都贴上 "AI"、"ML" 和 "预测性分析" 的标签;缺乏具体的数据流;没有故障模型;也不讨论成本。 - **玩具级演示** —— 仅仅是在一个 notebook 中针对某条日志调用 LLM,然后就宣称解决了事件响应问题。 真正的生产级 AIOps 平台在极大程度上*并非*依赖 AI。AI 层在技术栈顶端提供了约 20% 的核心价值;而其余的 80% 则是平凡却至关重要的基础设施 —— 可靠的数据接入、结构化的关联分析、持久化的存储、谨慎的故障处理机制以及合理的 UX。 本文档力求客观地看待这一比例,并诚实地探讨系统的哪些部分真正受益于 LLM,而哪些部分使用规则引擎(rule-engine)能处理得更好。 ## 高层架构概览 ![系统概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/8c/8c5ea614234a979e82c6f05ab17f433659d2508cebe72cc5d29c4102e3eab0a4.svg) 共分为两个平面(plane)的八个组件: **数据平面**(Data plane,全时运行、低延迟、确定性): 1. **遥测收集器(Telemetry collectors)** —— 指标(metrics)、日志(logs)、链路追踪(traces)、硬件事件 2. **存储层(Storage tier)** —— 时间序列数据库(time-series DB)、日志存储(log store)、链路追踪存储(trace store) 3. **告警管理器(Alert manager)** —— 基于阈值/异常规则触发告警 4. **关联引擎(Correlation engine)** —— 基于规则、确定性的;用于生成结构化的分析结果 **智能平面**(Intelligence plane,尽力而为、异步、咨询性质): 5. **事件叙述器(Incident narrator)** —— 利用 LLM 将分析结果转化为人类易读的事件报告 6. **历史事件检索(Past-incident retrieval)** —— 针对过往事件的向量相似度检索 7. **部署风险分析器(Deployment risk analyzer)** —— 规则引擎 + LLM,用于评估每次发布的风险 8. **回归检测器(Regression detector)** —— 将当前性能与基线进行对比;标记性能漂移 这种架构划分是刻意为之的:**数据平面的运行绝对不能依赖于智能平面**。如果 LLM 提供商的服务发生中断,事件依然会被触发、进行关联并得到路由分配。智能平面的作用仅在于提升报告的清晰度;它并不处于关键路径(critical path)上。 ## 如何阅读本仓库 请按顺序阅读。每篇文档大约需要 10 分钟。总计约 80 分钟。 | 序号 | 文档 | 涵盖内容 | |---|-----|----------------| | 1 | [系统概览](docs/01-system-overview.md) | 整个平台的全貌巡览,各组件间的交互关系,以及每个部分存在的原因 | | 2 | [事件流水线](docs/02-incident-pipeline.md) | 单个告警的生命周期:触发 → 分流 → 陈述 → 路由 → 解决 | | 3 | [数据流](docs/03-data-flow.md) | 数据的存储位置,保留层级,热/温/冷数据路径 | | 4 | [故障模式](docs/04-failure-modes.md) | 各种故障发生的时间点,以及平台如何实现优雅降级 | | 5 | [扩展策略](docs/05-scaling-strategy.md) | 各组件的独立扩展维度;每一层的系统瓶颈 | | 6 | [成本模型](docs/06-cost-model.md) | 在 10 / 100 / 1000 个服务规模下的粗略每月成本估算 | | 7 | [安全威胁模型](docs/07-security-threat-model.md) | 攻击者可能的行为;我们的防御范围;以及我们不设防的领域 | | 8 | [LLM 集成](docs/08-llm-integration.md) | LLM 能增值的领域、无法发挥作用的环节,以及必须重视的故障模式 | ## 参考实现 部分子系统已作为独立仓库存在。以下链接展示了从设计到代码的对应关系: | 设计中的子系统 | 参考实现 | |---|---| | 硬件遥测收集器 | [redfish-exporter](https://github.com/anshikapundeel/redfish-exporter) —— 针对 DMTF Redfish BMC 的 Prometheus exporter | | 内核调度器遥测 | [sched-trace](https://github.com/anshikapundeel/sched-trace) —— 用于分析 CPU 调度器尾延迟的 eBPF/bpftrace 工具包 | | 分布式链路追踪收集器 | [flow-trace](https://github.com/anshikapundeel/flow-trace) —— 支持 OTLP/HTTP-JSON 接入、分片环形缓冲区(ring buffer),内置 UI | | 关联引擎 | [perf-advisor](https://github.com/anshikapundeel/perf-advisor) —— 基于规则的 Linux 性能分析器,带有可选的 LLM 钩子 | | 性能审计工具包 | [linux-perf-toolkit](https://github.com/anshikapundeel/linux-perf-toolkit), [pg-perf-toolkit](https://github.com/anshikapundeel/pg-perf-toolkit) | 本文档介绍的子系统中,有三个**尚未实现**: - **事件叙述器 + 历史事件检索** —— 设计方案请参阅 [docs/02-incident-pipeline.md](docs/02-incident-pipeline.md)。 计划命名为 `incident-pilot`。 - **部署风险分析器** —— 设计方案请参阅 [docs/08-llm-integration.md](docs/08-llm-integration.md)。 计划命名为 `deploy-risk`。 - **回归检测器** —— 设计方案请参阅 [docs/05-scaling-strategy.md](docs/05-scaling-strategy.md)。 计划命名为 `regression-radar`。 ## 本设计的适用范围与局限性 **适用范围(Is):** - 一套连贯且带有明确主张的设计,专为 10–1000 个服务规模的 AIOps 平台而打造。 - 坦诚地探讨了哪些部分真正受益于 AI,而哪些部分作为确定性系统(deterministic systems)运行效果更好。 - 作为参考资料,明确了运行各个组件的实际成本、扩展方式、故障模式及其面临的威胁面。 **局限性(Isn't):** - 这**不是**一套超大规模设计。在达到 10,000 个服务的规模时,需要考虑许多截然不同的因素(例如全面的多区域架构、用于链路追踪存储的 lambda 架构、每租户隔离等),而本文档并未妄图涵盖这些内容。 - 这**不是**针对特定供应商的推荐。当设计中提到“时间序列 DB”时,它可以指代 Prometheus *或* VictoriaMetrics *或* Mimir;该设计兼容上述任何一种工具。 - 这**不是**对新颖性的宣称。本文所采用的架构模式均广为人知;目标只是在一个地方清晰地将其记录下来,并客观地对待 LLM 的集成问题。 ## License MIT(适用于正文文本)。图表则采用 CC-BY-4.0 协议。
标签:AIOps, API集成, Docker镜像, 可观测性, 库, 应急响应, 架构设计, 用户代理, 系统设计, 自定义请求头, 运维平台