AIOps实战06:核心功能的需求描述(下),高阶模块与非功能需求

AIOps实战06:核心功能的需求描述(下),高阶模块与非功能需求

我是老计。上一篇写了数据接入、告警降噪、异常检测三个基础模块的需求。这一篇继续,写三个更高阶的模块,根因分析、预测与容量、智能助手,再讲一块特别重要、却常被新手忽视的东西,非功能需求。尤其安全这块,我会结合 K8sChat 的实践讲,因为它是 AIOps 的生命线。

先用一个场景把这三个高阶模块的价值讲活。 设想一个深夜,线上出故障了:如果有好的根因分析,系统能帮你在一堆乱象里几分钟锁定病根,而不是几个人对着告警墙熬到天亮;如果有好的容量预测,这次故障可能压根不会发生,因为系统早在几天前就预警了资源要触顶;如果有好的智能助手,你甚至可以直接用一句话问它到底出了什么事、建议怎么处理。这三个模块,一个管事后快速定位、一个管事前主动预防、一个管全程的交互提效,是 AIOps 里最能让运维少熬夜的部分。 但也正因为它们更高阶、更靠近决策和操作,需求就更要写清楚,尤其是安全。下面逐个说。

一,模块四,根因分析

故障来了、一堆告警和异常同时炸,怎么快速找到病根,这是运维最费脑的活,也最能体现平台价值。

功能目标: 当故障发生时,整合多方信息,帮助快速定位最可能的根本原因,把运维从大海捞针里解放出来。

输入与输出:

  • 输入:告警、异常检测结果、服务拓扑与依赖关系、变更记录、日志、指标等多方数据。
  • 输出:可能的根因排序列表,每个候选根因附带支撑它的证据和推理依据。

关键需求点:

  • 多源信息整合。 根因分析不能只看单一数据,要能把告警、异常、拓扑、变更等关联到一起看。
  • 基于依赖与关联推理。 能利用服务拓扑和依赖关系,沿着影响链条上溯定位,而不是孤立看单点。
  • 善用变更信息。 大量故障由变更引起,能把时间相近的变更作为重要的根因候选,往往命中率很高。
  • 给依据,不做黑盒。 必须给出为什么判定这个是根因的证据链,而不是甩一个结论。 运维要能看懂、能验证,才敢信。
  • 排序而非武断。 给出按可能性排序的候选,把最终判断权留给人。

验收思路: 在历史真实故障上回放,根因命中率(真实根因出现在候选前几名的比例)达到约定水平、给出的证据能被运维理解和采信、定位耗时相比纯人工显著缩短。

关于根因分析,多提醒一句。 它是 AIOps 里最难、也最容易被过度承诺的能力。现实中的根因往往复杂、多因耦合,指望系统一键给出百分百正确的唯一根因,是不现实的。 所以我特别强调排序而非武断、给证据而非黑盒结论。一个诚实的根因分析,应该是把最可能的几个候选连同依据摆给运维,辅助人更快地做判断,而不是替人拍板。 需求阶段就把这个定位摆正,后面才不会因为达不到不切实际的期望而被判失败。这也再次呼应了这个系列的主线,AI 是强大的辅助,但最终的判断和责任在人。

二,模块五,预测与容量管理

从被动救火到主动预防,靠的就是预测能力。

功能目标: 基于历史数据,预测资源使用趋势、容量瓶颈和潜在风险,支撑提前决策,让运维从被动变主动。

输入与输出:

  • 输入:关键资源的历史时序数据(CPU、内存、磁盘、流量、请求量等)、业务增长信息。
  • 输出:资源使用的趋势预测、容量触顶的预警时间、以及带置信度的预测结果。

关键需求点:

  • 对关键资源做趋势预测。 能预测核心资源未来一段时间的走势。
  • 提前预警容量风险。 能推算出资源大约何时触及瓶颈,给出提前量,让人有时间准备扩容。
  • 合理的准确度与置信度说明。 预测不可能百分百准,关键是要诚实地给出置信区间,别把预测说成板上钉钉。 一个标着置信度的预测,比一个假装精确的数字有用得多。
  • 适应业务节奏。 能考虑业务的周期性和增长趋势,比如大促前的流量。

验收思路: 在历史数据上做回测,预测误差在约定范围内、容量预警的提前量足够运维响应、预测结果带明确的置信度说明、对典型业务周期的预测合理。

三,模块六,智能助手(大模型模块)

这是大模型带来的新模块,也是我做 K8sChat 的核心,重点讲。

功能目标: 提供自然语言交互,让用户能用大白话查询状态、分析问题、获取建议,并整合运维知识,大幅降低运维的使用门槛。

输入与输出:

  • 输入:用户的自然语言提问、实时的运维数据、运维知识库与历史故障库。
  • 输出:自然语言的回答、分析、建议;必要时(在严格控制下)触发的运维操作。

关键需求点:

  • 理解运维领域语言。 能听懂运维的专业提问,把它转成对数据的查询或对工具的调用。
  • 结合实时数据与知识(RAG)。 回答要基于真实的实时数据和沉淀的知识库,而不是模型自己瞎编,这就要靠 RAG 把知识和数据喂给模型。
  • 给有依据的回答。 回答要能追溯到数据来源,减少幻觉带来的误导。
  • 涉及操作时的安全护栏(重中之重)。 一旦让助手能执行运维操作,安全就是第一位的。 我做 K8sChat 时守死的几条:默认只读、工具白名单、写操作必须提案加人工确认、全程审计、多集群隔离。这些不是加分项,是能不能上生产的红线。

验收思路: 对典型运维问题的回答准确率和有用性达标、回答能追溯依据、幻觉率在可接受范围、尤其所有涉及操作的路径都经过安全护栏(无绕过、有审计),这一项是一票否决的。

四,别忘了非功能需求

讲完六个功能模块,必须专门讲一块新手最容易忽视、却决定成败的东西,非功能需求。功能需求说的是系统能做什么,非功能需求说的是系统做得怎么样,后者往往才是生产可用与否的分水岭。

性能与实时性。 AIOps 处理的数据量巨大,检测、分析要有足够的吞吐和可接受的延迟。故障来了,一个半小时才分析出根因的系统没有意义。

可扩展性。 数据和监控对象会持续增长,系统要能水平扩展,不能一上量就垮。

可靠性。 AIOps 自己也是个系统,它挂了会影响运维,所以它自身要高可用,不能成为新的单点。

安全与权限(最关键)。 这是我要重点强调的。 凡是能读敏感数据、尤其是能对生产系统做操作的功能,都必须有:严格的权限控制(谁能做什么)、操作审批(危险操作要人确认)、审计留痕(谁在什么时候做了什么,可追溯)、回滚兜底(出问题能退回去)。我做 K8sChat 时,这套安全机制花的心思比功能本身还多,因为一个能操作生产集群的 AI,安全没做好,能力越强越危险。

可解释性与可信任。 AIOps 的结论要能被人理解和验证,黑盒的智能,运维不敢用、也不该用。可解释不是锦上添花,是让 AIOps 真正被信任、被采纳的前提。

这几条非功能需求,尤其是安全,务必在需求阶段就想清楚、写明白,别等系统做出来了才补,那时候往往为时已晚、代价极大。

五,安全需求怎么落地,K8sChat的实践

安全这条生命线,说起来都懂,难在怎么落地。我把做 K8sChat 时真正管用的几条具体做法,写成可参考的安全需求,供你借鉴。

第一,默认只读,能力最小化。 系统默认只有查询能力,任何写操作都是需要显式开启、显式授权的例外。宁可让它少能干,也不让它乱能干。 这是最基础、也最有效的一条。

第二,工具白名单,而非黑名单。 只有明确列入白名单的操作,AI 才可能调用;不在名单里的一律拒绝。用白名单而不是黑名单,因为你永远列不全所有危险操作,但你能列清所有允许的安全操作。 这个思路上的差别,是安全设计的关键。

第三,写操作必须提案加人工确认。 AI 不直接执行任何有副作用的操作,它只能生成一个操作提案(我要做什么、对什么对象、预期结果),交给人审核确认后才执行。把最终的执行权,牢牢留在人手里。

第四,全程审计。 谁、在什么时候、通过什么方式、做了什么操作、结果如何,全部留痕可查。出了问题能追溯,平时能审查,这是信任的基础。

第五,多环境多租户隔离。 不同集群、不同环境的权限严格隔离,避免误操作跨环境扩散。

把这几条写进需求,安全就不再是一句空话,而是可落地、可验收的具体约束。 这套东西,是我认为任何能操作生产系统的 AIOps 功能,都必须具备的底线。

小结

这一篇写完了高阶模块和非功能需求:根因分析要整合多源信息、沿依赖推理、善用变更、给证据链、排序不武断;预测与容量要做趋势预测和提前预警、诚实给置信度;智能助手(大模型模块)要懂运维语言、靠RAG给有依据的回答、涉及操作时必须有默认只读白名单确认审计的安全护栏。非功能需求同样关键:性能实时性、可扩展、可靠、可解释,而安全与权限是最关键的生命线,必须在需求阶段就想清楚写明白。产品与需求这个板块到此结束。

下一篇,我们回到技术,讲 AIOps 的地基,数据,看可观测三支柱怎么成为 AI 的燃料。

延伸阅读

  • Google SRE 官方在线书,故障管理与事后复盘(sre.google/books)
  • OpenTelemetry 官方文档,链路追踪与服务依赖(opentelemetry.io/docs)
  • LangChain 官方文档,RAG 与工具调用(python.langchain.com)
  • 时序预测方法综述,可在 arXiv 检索 time series forecasting survey(arxiv.org)

(本文为技术经验分享,旨在梳理AIOps高阶功能与非功能需求的描述方法。文中需求结构与指标为通用示意,不构成具体产品或采购建议,实际建设请结合自身环境评估。)

相关推荐
DevOps老兵11 小时前
AIOps实战07:AIOps的地基是数据,可观测三支柱怎么喂给AI
aiops·数据·可观测性·老计聊技术·指标日志链路
DevOps老兵11 小时前
AIOps实战05:核心功能的需求描述(上),把AIOps需求写规范
aiops·产品设计·告警降噪·老计聊技术·需求描述
DevOps老兵13 小时前
AIOps实战04:一款AIOps平台该具备哪些功能,一份产品视角的功能全景
aiops·产品设计·智能运维·老计聊技术·功能需求
DevOps老兵2 天前
AIOps实战03:两代AIOps,传统机器学习与大模型该怎么配合
人工智能·机器学习·大模型·llm·aiops·老计聊技术
ManageEngine卓豪17 天前
金融行业智能运维(AIOps)落地指南:技术能力、选型框架与合规
aiops·智能运维平台
析数塔1 个月前
把 shell 历史结构化:Atuin 18.21.0 的数据模型、加密同步与工程取舍
shell·aiops
行者-全栈开发1 个月前
WorkBuddy 实战:一次 P0 故障复盘,3 小时压缩到 40 分钟
腾讯云·aiops·故障复盘·workbuddy·agent 办公·复盘报告·值班记录
Zadig1 个月前
告别"人肉扛雷":Zadig 用 AI 接管发布前最脏最累的 15 分钟
后端·aiops
玹外之音1 个月前
别做"AI 翻译"了,做"AI 本地化":跨境电商 Listing 系统的工程实践
aigc·工作流引擎·aiops