随着企业 IT 系统从单体应用逐渐演化为微服务、容器化、云原生和多云架构,传统依赖人工经验的运维方式越来越难以满足高复杂度系统的稳定性要求。过去的运维模式主要依靠监控系统产生指标、工程师查看日志、根据经验定位故障,而现代系统产生的数据规模已经从单机时代的几十个指标扩展到数百万级 Metrics、TB 级日志以及跨服务调用链数据。在这种环境下,运维问题已经不再只是“发现异常”,而是如何从海量运行数据中自动识别异常模式、预测风险、定位根因,并辅助甚至自动执行修复动作。
AIOps(Artificial Intelligence for IT Operations)的核心并不是简单地给传统监控系统增加一个机器学习模型,而是构建一个完整的数据采集、数据治理、智能分析、知识推理和自动化执行体系。换句话说,AIOps 本质上是将可观测性数据、机器学习算法、领域知识库和自动化平台融合,使运维系统具备类似“感知—分析—决策—行动”的闭环能力。

从零搭建 AIOps 体系,需要解决几个核心问题:
第一,如何采集并统一管理来自不同系统的数据;
第二,如何从 Metrics、Logs、Traces 中发现异常模式;
第三,如何利用 AI 技术完成故障预测和根因分析;
第四,如何将分析结果转化为自动化操作;
第五,如何建立持续学习机制,使系统随着运行时间不断优化。
因此,一个完整的 AIOps 平台通常由数据采集层、数据存储层、分析算法层、知识推理层和自动化执行层组成。
1 AIOps体系的整体组成
从工程角度看,一个基础 AIOps 平台可以拆分为以下几个核心模块:
一个成熟 AIOps 平台实际上是多个系统的组合,而不是一个单独的软件。
例如:
服务器 | |Metrics / Logs / Traces | |数据采集 | |数据平台 | |AI分析 | |故障判断 | |自动化修复2 数据采集层:AIOps的基础
AIOps 最核心的输入不是模型,而是数据。
如果没有高质量运行数据,即使使用大型模型,也无法得到可靠结果。
运维数据主要包括三类:
现代可观测性通常称为:
2.1 Metrics采集
Prometheus 是云原生环境中最常见的指标采集系统。
例如:
CPU 使用率:
Prometheus 通过 exporter 获取指标。
例如 Linux:
scrape_configs:-job_name:"node"static_configs:-targets:-"server01:9100"采集:
node_cpu_seconds_totalnode_memory_MemAvailable_bytesnode_disk_io_time_seconds_total然后通过 PromQL 查询:
100 -(avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)得到 CPU 利用率。
2.2 Logs采集
日志是 AIOps 中价值最高的数据之一,因为故障原因通常隐含在文本信息中。
典型流程:
应用日志↓Fluent Bit↓Kafka↓Elasticsearch↓AI分析例如:
日志:
2026-07-20 ERRORconnection pool exhausteddatabase timeout传统监控:
只能匹配:
ERRORAIOps:
可以理解:
数据库连接池耗尽可能原因:1. SQL慢查询增加2. 数据库连接未释放3. 流量突增2.3 Trace数据
微服务环境中,一个请求可能经过:
用户↓API Gateway↓订单服务↓库存服务↓支付服务如果响应时间增加:
传统监控只能看到:
接口慢Trace 可以发现:
80%的延迟来自库存服务OpenTelemetry 是目前常用标准:
service:name:order-servicetrace:exporter:endpoint:otlp:43173 数据存储层:构建AIOps数据底座
不同类型数据需要不同存储。
3.1 时序数据库
Metrics 具有明显时间特征:
例如:
CPU:10:00 30%10:01 40%10:02 90%适合:
Prometheus VictoriaMetrics InfluxDB
数据模型:
例如:
cpu_usage{host="server01"}=853.2 日志数据库
日志具有:
非结构化 查询复杂 数据量大
特点。
常用:
例如 Elasticsearch 查询:
{"query":{"match":{"message":"connection timeout" } }}4 AI异常检测层:让系统具备发现能力
AIOps 的核心区别在于:
传统监控:
规则判断AIOps:
模式学习4.1 基于统计的方法
最简单:
三倍标准差方法:
例如:
过去30天:
平均 QPS:
标准差:
当前:
计算:
超过:
判断异常。
4.2 Isolation Forest异常检测
Isolation Forest 通过随机划分数据判断异常。
Python 示例:
from sklearn.ensemble import IsolationForestdata=[[10],[11],[12],[13],[100]]model=IsolationForest( contamination=0.1)model.fit(data)result=model.predict(data)print(result)输出:
正常:1异常:-1适用于:
CPU异常 流量异常 请求量异常
4.3 深度学习异常检测
对于复杂时序:
可以使用:
LSTM Transformer AutoEncoder
AutoEncoder:
输入:
编码:
解码:
异常程度:
误差越大:
异常概率越高。
5 根因分析(RCA):AIOps真正价值所在
发现异常只是第一步。
真正困难的是:
为什么异常?
例如:
告警:
订单接口失败率升高可能原因:
数据库慢↓连接池耗尽↓订单失败或者:
网络延迟↓RPC超时↓订单失败因此需要:
Root Cause Analysis。
5.1 拓扑关系分析
建立:
服务依赖图例如:
如果:
C异常
那么:
B受到影响
A最后异常。
5.2 图算法分析
可以建立:
Graph:
其中:
节点:
边:
通过:
PageRank Graph Neural Network
计算:
故障传播概率。
6 知识库与大模型:让AIOps具备推理能力
近年来,LLM 进入 AIOps 后,一个重要方向是:
AIOps Agent。
传统:
告警↓人工搜索历史文档↓执行命令Agent:
告警↓分析日志↓查询知识库↓生成方案↓执行修复6.1 RAG知识增强
基本流程:
历史故障文档↓Embedding↓向量数据库↓相似搜索↓LLM生成答案Embedding:
相似度:
代码示例:
from sentence_transformers import SentenceTransformermodel=SentenceTransformer("all-MiniLM-L6-v2")text="数据库连接池耗尽"vector=model.encode(text)print(vector.shape)输出:
(384,)7 自动化执行层:从发现到修复
如果 AIOps 只能报警,它只是高级监控。
真正目标:
自动闭环。
例如:
发现:
磁盘空间不足自动:
删除日志扩容磁盘重启服务Ansible自动修复示例
-name:cleanloghosts:servertasks:-name:removeoldlogsshell:find/var/log-mtime+7-delete8 Kubernetes环境中的AIOps工具链
现代企业大量采用 Kubernetes。
典型组合:
例如:
Pod异常:
CrashLoopBackOffAIOps分析:
最近日志:OutOfMemoryError历史:过去30天出现5次建议:增加memory limit9 从零建设AIOps的推荐路线
不要一开始建设复杂 AI 平台。
建议分阶段:
10 一个完整AIOps技术栈示例
总结
从零搭建 AIOps 体系,本质上不是部署一个 AI 工具,而是构建一个面向复杂 IT 系统的数据智能闭环。数据采集解决“系统发生了什么”,存储和治理解决“如何管理运行信息”,机器学习解决“哪些模式异常”,根因分析解决“为什么发生”,知识推理解决“应该如何处理”,自动化执行解决“如何快速重建”。
一个成熟的 AIOps 平台最后目标不是替换运维人员,而是将运维工作从被动响应模式变化为主动预测模式。传统运维关注单个事件,而 AIOps 关注系统状态随时间变化形成的规律;传统监控回答“哪里坏了”,而 AIOps 希望回答“为什么坏、什么时候会坏、如何自动避免再次发生”。
因此,AIOps 的核心竞争力并不在于某一个算法,而在于数据、模型、知识和自动化之间形成的持续反馈体系。只有建立完整工具链,人工经验才能逐渐沉淀为系统能力,使运维体系从规则驱动走向智能驱动。

夜雨聆风