AI 加速可观测,为工程师打造智能Oncall分身
AIOps 最早可以追溯到 2011 年,Netflix 的“Chaos Monkey实践”开创了故障注入与自动化修复的先河,之后在 2016年,Gartner 首次提出 AIOps 的概念:Algorithmic IT Operations,描绘了算法、机器学习、大数据分析在自动化运维领域的重要性和广阔前景。随后的十多年间,众多创新企业、互联网巨头、科研机构,都在孜孜不倦的追求智能运维领域的“AGI时刻”,不过都未能取得突破性的进展。一些典型的方案,都局限于某个垂直领域和单个场景,比如事件关联分析、时间序列数据预测、日志聚类分析、特征分析等,这些尝试方案,在不同的企业、不同的场景、不同的业务系统之间难以有效迁移、不具备可复制性。
2022 年进入 ChatGPT 时代,大模型的智能层次和进化速度,刷新了所有人的认知,大模型和智能体在重塑每个行业。在可观测领域,我们也看到了智能Oncall (AI Autonomous Oncall ) 的可行性,每个工程师都可以有自己的 AI 分身,来帮助自己分担故障处理、问题分析的繁琐工作,并做的更好更快。实现智能Oncall,一些关键的因素如下:
首先要有足够智能的大模型和可负担的 API 调用成本,DeepSeek 把所有人托举到了同一个高度,DeepSeek 具备强大的思考能力,适合于分析非结构化的可观测性数据,如标签、日志文本、事件等。在 Flashcat 中,可以直接对接使用公有云托管的大模型 API,如果考虑数据安全性因素,也可以直接使用企业内部的私有化部署的大模型。
其次,足够完备的可观测性数据,是智能Oncall的基础条件。如何将企业内部的 metrics、logs、traces、events等各个维度的数据封装成统一的接口,暴露给 AI,是核心要完成的工作。在 Flashcat 中,将这些工作分解为 5 个步骤。
1、集成数据:使用数据源集成的方式,将企业已经拥有的 Prometheus、ElasticSearch、ClickHouse、Doris、Zabbix、MySQL等,以及公有云提供的各种可观测性工具如阿里云 SLS、阿里云 Arms、AWS Cloudwatch、Azure云监控等,直接以数据源的方式,注册到 Flashcat 平台中,再经由 Flashcat 统一暴露给 AI agent。Flashcat 目前支持了 40 多种常用的数据源对接。
2、采集数据:如果已经拥有的数据不够完整,那么推荐使用采集器 Categraf 来查漏补缺,对缺失的数据进行采集之后,同样存储到Flashcat平台中,再暴露给 AI agent。
3、数据增强:各类可观测性数据,有是一回事,质量高不高是更关键的另一回事。在可观测性领域,“标签(Label)”是一个关键概念,我们可以通过对 metrics、logs、metrics、events 等各维度的数据,打上足够丰富的、一致的“标签”,来表达可观测性数据之间的联系,描述实体的属性、实体之间的交互关系,这个打标签的动作,我们称之为数据增强。数据增强可以发生在数据采集的阶段,我们就可以让采集器和 CMDB、K8s APIServer、公有云的控制器进行交互,为采集到的数据增加更多相关的标签。也可以发生在数据传输的 pipeline 中,对这些数据进行实时的标签提取、转换和映射,从而让可观测性数据的标签更丰富和一致,让 AI 更容易理解。
4、数据预处理:前面三步使得我们拥有了完备的、相对高质量的数据。接下来面临一个现实问题,可观测性数据量往往都很大,一股脑全给大模型分析,单纯靠大力出奇迹,是行不通的。在 Flashcat 里,利用“灭火图”,构建了CI/CD、Infra、Kubernetes、Metrics、Logs、Traces、Events、Runbook 的完整环境地图,描述了API、服务、Pods、组件和其他环境之间的交互关系,根据这些交互关系,可以精确的把相关性高的数据,发送给大模型分析,同时这些上下文信息本身也是大模型理解问题的关键输入。此外结合使用日志聚类分析、相似性去重等方法,减少对大模型的数据处理压力。
5、数据导出:Flashcat 采用类似 MCP Server 的方式,把以上各类可观测性数据与上下文环境信息,导出给大模型,未来也可以和企业内部的各种 MCP Client 共享 Flashcat 这些有价值的数据。
Flashcat 采用多智能体架构,每个智能体聚焦分析单个场景或某一类型的数据,然后汇总输出,预设的场景包括:灭火图状态、特征分析、日志检索、Tracing检索、事件分析、仪表盘分析等等。多智能体结构,有助于提升问题分析的准确性和智能化,提升分析速度,降低对模型上下文大小的依赖。
关于知识库在智能Oncall领域的价值和实现路径,普遍存在一个误区,很多人认为可以利用企业内部积累的各种告警处理记录、复盘记录、预案等,结合 RAG,提升大模型分析效果。我们的实际经验看,在现实情况中,大部分企业已有的知识库数据,质量、数量都不够,基本不可用。在Flashcat中, 我们采用 AI 来积累知识库,对每次 AI 分析的过程和结论,由工程师加以判断,如果有效就入库,当 AI 分析使用频率越高,高质量的知识库就像滚雪球,越来越多、越有价值,正向循环。
随着 AI 分析速度的速度和准确性逐步提升,大模型调用成本逐步可控,在不远的将来,大部分的故障和告警,都可以默认开启智能Oncall。AI 加速可观测,正在发生。如果你也在研究这个方向,欢迎与我们一起交流: