SRE Alert Copilot
·
作者:唐俊星
一个支持 Human-In-The-Loop(人机协同)与持续自我改进的 AI 工作流方案
概述
SRE Alert Copilot 基于 Elastic Stack 构建,将告警触发、上下文预处理、AI 智能分析与人工反馈闭环串联起来,帮助 SRE 团队更快定位问题、沉淀运维知识,并持续优化分析质量。
核心能力:
- 自动化分析:告警触发后自动拉取日志、指标、链路追踪等上下文,由 AI Agent 给出初步根因判断与处置建议
- 人机协同:关键决策节点引入人工审核,避免 AI 误判直接执行高风险操作
- 自我改进:人工反馈作为训练信号,持续优化 Agent 指令、工具配置与知识库内容
架构总览
| 组件 | 说明 |
|---|---|
| Elasticsearch | 存储日志、指标、告警事件与向量知识库 |
| AI Connector | 提供 Embedding 与 LLM(DeepSeek)推理能力 |
| Agent Builder | 定义 Alert Copilot Agent 及其工具集 |
| Elastic Workflows | 编排 Human-In-The-Loop 自动化流程 |
| Kibana | 告警规则、可视化、工作流与 Agent 管理界面 |
实施步骤
1. 在 Alibaba Cloud 创建 Elasticsearch
在阿里云上部署 Elastic Stack 集群,作为 SRE Alert Copilot 的数据与 AI 运行时底座。
建议配置:
- 选择 Elastic Cloud on Alibaba Cloud 或 自管 ECK(Elastic Cloud on Kubernetes) 部署方式
- 启用以下功能模块:
- Observability:APM、Logs、Metrics、Uptime
- Alerting:告警规则与 Connector
- Agent Builder:自定义 AI Agent
- Workflows:事件驱动自动化编排
- 规划节点规格:
- 数据节点:承载日志与指标索引
- ML / Inference 节点(可选):若使用本地推理模型
- Kibana 节点:工作流与 Agent 管理入口
- 配置网络与安全:
- VPC 内网访问或专线打通
- 启用 TLS、角色权限(RBAC)与 API Key 管理
参考文档:
2. 在 ES 配置 Embedding 与 DeepSeek 两个 AI Connector
参考文档:
3. 导入文档,创建 Agent Tool
将运维知识沉淀为 Agent 可调用的工具,是提升分析准确率的关键步骤。
3.1 导入知识文档
- 整理以下类型的文档:
- 服务架构说明
- 告警 Runbook / 应急预案
- 历史故障复盘报告
- 常见错误码与排查手册
- 将文档导入 Elasticsearch,并建立向量索引(使用 Embedding Connector 生成
dense_vector字段) - 可通过 Kibana 的 Search → Connectors 或 Ingest Pipeline 完成文档切片与向量化
3.2 创建 Agent Tool
在 Agent Builder 中创建自定义工具,供 Alert Copilot Agent 调用:
| 工具类型 | 用途示例 |
|---|---|
| ES | QL 查询工具 |
| 索引搜索工具 | 检索历史相似告警与处置记录 |
| 知识库检索工具 | 基于向量相似度匹配 Runbook |
| Workflow 触发工具 | 触发自动化处置流程 |
| Case 创建工具 | 自动创建事件工单 |
创建方式:
- Kibana UI:Agent Builder → Tools → Create tool
- Kibana API:
POST /s/{space_id}/api/agent_builder/tools
参考文档:
4. 创建一个 Alert Copilot Agent
Alert Copilot Agent 是面向 SRE 告警场景的核心 AI 实体,负责综合多源数据进行根因分析与处置建议生成。
4.1 Agent 配置要点
| 配置项 | 建议 |
|---|---|
| 名称 | sre-alert-copilot |
| Instructions | 定义角色为 SRE 专家,要求输出结构化分析(现象、根因、证据、建议、置信度) |
| Tools | 绑定日志查询、指标查询、知识库检索、Case 管理等工具 |
| Model | 使用 DeepSeek Connector |
| Skills | 可选绑定预置的 Observability 相关技能 |
4.2 示例 Instructions(摘要)
你是一名资深 SRE 工程师,专门负责分析生产环境告警。
收到告警后,请按以下步骤执行:
1. 确认告警类型、严重级别与影响范围
2. 使用工具查询相关日志、指标与链路追踪
3. 检索知识库中的相似历史案例与 Runbook
4. 给出根因分析、支撑证据与处置建议
5. 评估置信度(高/中/低),低置信度时明确说明需人工介入的环节
输出格式:
- 告警摘要
- 根因分析
- 支撑证据(含查询结果引用)
- 处置建议(按优先级排列)
- 置信度评估
参考文档:
5. 创建一个 Human-In-The-Loop 的 Workflow
使用 Elastic Workflows 将告警处理流程编排为可审计、可暂停、可人工干预的自动化流水线。
5.1 Alert Trigger(告警触发)
配置 Workflow 触发器,在告警产生时自动启动 Copilot 流程。
触发方式:
- Alerting Connector:Kibana 告警规则触发时调用 Workflow Webhook
- Scheduled / Event 触发:基于索引中新增告警文档触发
传入上下文:
# 告警上下文字段示例
alert:
id: "{{ alert.id }}"
name: "{{ alert.name }}"
severity: "{{ alert.severity }}"
timestamp: "{{ alert.timestamp }}"
service: "{{ alert.service }}"
tags: "{{ alert.tags }}"
5.2 Pre-processing(预处理)
在调用 AI Agent 之前,对原始告警进行标准化与上下文富化。
预处理步骤:
- 告警归一化:统一字段格式,映射服务名、环境、负责人
- 去重与抑制:检查是否为重复告警或已知维护窗口内告警
- 上下文采集:
- 拉取告警前后 15 分钟的错误日志
- 查询关联服务的 CPU、内存、延迟指标
- 获取近期部署变更记录
- 优先级路由:根据严重级别决定是否需要立即人工介入
Workflow 步骤示例:
steps:
- name: enrich_alert_context
type: elasticsearch.search
# 查询关联日志与指标
- name: check_duplicate
type: ai.classify
# 判断是否为重复/已知告警
- name: route_by_severity
type: switch
# 按严重级别分支处理
5.3 使用 AI Agent 进行分析
将预处理后的上下文传递给 Alert Copilot Agent,执行智能分析。
steps:
- name: ai_analysis
type: ai.agent
with:
agent_id: sre-alert-copilot
input: |
请分析以下告警:
告警信息:{{ steps.enrich_alert_context.output.alert }}
日志摘要:{{ steps.enrich_alert_context.output.logs }}
指标摘要:{{ steps.enrich_alert_context.output.metrics }}
历史案例:{{ steps.enrich_alert_context.output.similar_cases }}
Agent 输出:
- 根因判断
- 支撑证据链
- 推荐处置步骤
- 置信度评分
5.4 Human Feedback and Improvement(人工反馈与持续改进)
在 AI 分析结果进入自动执行或告警关闭前,引入人工审核节点,并将反馈用于系统优化。
Human-In-The-Loop 机制:
steps:
- name: human_review
type: human-in-the-loop
with:
title: "SRE Alert Copilot 分析审核"
description: "{{ steps.ai_analysis.output.summary }}"
assignee: "{{ alert.on_call_engineer }}"
timeout: 30m
options:
- approve # 同意分析结论,执行建议
- reject # 驳回,人工接管
- correct # 修正分析,提交反馈
反馈闭环:
| 反馈类型 | 后续动作 |
|---|---|
| Approve | 执行推荐处置步骤,记录为正向样本 |
| Reject | 升级至 on-call 工程师,标记 AI 分析失败 |
| Correct | 将人工修正写入知识库,更新 Agent Instructions 或 Few-shot 示例 |
自我改进路径:
- 将人工修正的分析结论写入 Elasticsearch 知识索引
- 定期审查低置信度与被驳回的分析记录
- 迭代 Agent Instructions、工具配置与 Runbook 内容
- 跟踪 MTTR(平均修复时间)与 AI 建议采纳率作为效果指标
参考文档:
端到端流程示意
告警规则触发
│
▼
Workflow: Alert Trigger
│ 接收告警 ID、服务、严重级别
▼
Workflow: Pre-processing
│ 归一化 → 去重 → 拉取日志/指标/变更记录
▼
Workflow: ai.agent
│ Alert Copilot Agent 综合分析
│ 调用 ES|QL、知识库检索等 Tool
▼
Workflow: human-in-the-loop
│ On-call 工程师审核 AI 结论
├─ Approve → 自动执行 Runbook / 关闭 Case
├─ Reject → 人工排查,记录失败样本
└─ Correct → 反馈入库,优化 Agent
▼
持续改进循环
知识库更新 → Agent 调优 → 下次分析更准确
关键指标
| 指标 | 说明 |
|---|---|
| MTTR | 从告警触发到问题解决的时间 |
| AI 建议采纳率 | 人工 Approve 的分析占比 |
| 误报率 | AI 根因判断被 Reject 的比例 |
| 知识库命中率 | 检索到相关 Runbook 的比例 |
| 人工介入率 | 需要 Human-In-The-Loop 的告警占比 |
参考链接
更多推荐



所有评论(0)