DevOps Agent 接入实操:手把手配置 AI 自动排障,从告警到修复方案

DevOps Agent 接入实操:手把手配置 AI 自动排障,从告警到修复方案

配 AI 值班员,不是装个软件那么简单

上一篇聊了 on-call 的痛点。这篇进入实操------怎么把亚马逊云科技的 DevOps Agent 接入你的环境,让它开始替你值班。

先说结论:接入本身不复杂,核心在于想清楚让它看到什么、对接什么、输出到哪

接入前三个问题

  1. 可观测性工具是什么? CloudWatch 肯定有,但大多数团队还有 Datadog / Splunk / Grafana / Prometheus / New Relic / Dynatrace
  2. 工单和协作工具是什么? ServiceNow / PagerDuty / Slack
  3. 代码在哪? GitHub / GitLab / Azure DevOps

这三类工具决定了 DevOps Agent 的数据输入、触发方式和结果输出。

七步接入流程

第一步:开通

DevOps Agent 在亚马逊云科技控制台的 CloudOps 下。按秒计费,$0.0083/agent-second。不需要预付,用多少算多少。

开通后得到一个 Agent workspace------所有配置都在这里面做。

第二步:连接可观测性工具

这步决定 Agent 能看到什么。看不到的东西它查不了。

CloudWatch 同账号自动接入。其他工具需要手动配置集成:

yaml 复制代码
# 概念示意
integrations:
  - type: datadog
    api_key: ${DATADOG_API_KEY}
    app_key: ${DATADOG_APP_KEY}
    
  - type: splunk
    host: your-splunk-instance.com
    token: ${SPLUNK_HEC_TOKEN}
    
  - type: grafana
    url: https://your-grafana.com
    api_key: ${GRAFANA_API_KEY}
    
  - type: prometheus
    endpoint: https://your-prometheus:9090

注意:给 Agent 的凭证只需只读权限。它只查看 metrics/logs/traces,不需要写。

第三步:连接代码仓库

Agent 需要看到代码变更和部署时间线,才能把告警关联到具体的 commit。

支持 GitHub(GitHub App 授权)、GitLab(Access Token)、Azure DevOps(Service Connection)。

接入后它能看到:最近的 commit 和 PR、部署时间线、代码 diff。这些信息让它在排查时能直接说出"这个问题是今天下午 3 点那次部署引入的,具体在 commit abc123 的第 47 行"。

第四步:配置告警路由

两种模式:

模式一:ServiceNow 工单触发

复制代码
告警 → ServiceNow 创建 Incident → DevOps Agent 自动调查 → 结果回写工单

适合已有 ITSM 流程的团队。不改变现有告警路由,只在 ServiceNow 环节加一层 AI 调查。

模式二:直接告警触发

复制代码
CloudWatch Alarm / PagerDuty → DevOps Agent 直接启动调查

更轻量,适合小团队或没有 ServiceNow 的场景。

第五步:配置输出通道

Agent 调查完要推给人审。支持三个通道:

  • Slack:推到指定 channel,团队可以在 Slack 里追问。这个最灵活------不是单向推送,是可以对话的
  • ServiceNow:结果写到 Incident 的 Work Notes
  • PagerDuty:更新 Incident 状态

Slack 集成体验最好。你在 channel 里看到调查报告,觉得某个方向需要深入,直接 @ Agent 让它继续查。

第六步:MCP 扩展(进阶)

如果有内部工具不在官方集成列表------比如自研 CMDB、内部 wiki、自建部署系统------可以通过 MCP Server 接入。

MCP(Model Context Protocol)让 Agent 调用你的私有数据源。

python 复制代码
from mcp import Server

server = Server(\"internal-cmdb\")

@server.tool(\"get_service_dependencies\")
async def get_deps(service_name: str):
    \"\"\"查询服务依赖关系\"\"\"
    deps = await cmdb_client.query_dependencies(service_name)
    return {\"dependencies\": deps}

@server.tool(\"get_recent_changes\")
async def get_changes(service_name: str, hours: int = 24):
    \"\"\"查询最近的变更记录\"\"\"
    changes = await change_mgmt.query(service_name, hours)
    return {\"changes\": changes}

这意味着 Agent 的能力边界不限于官方工具列表。任何能暴露 MCP 接口的系统都能成为数据源。

第七步:学习循环冷启动

刚接入时 Agent 没有你环境的历史调查数据。前几周是冷启动期:

  • 每次调查完自动学习排障路径
  • 积累几十次后学习循环开始发挥作用
  • 类似场景再出现会复用已学到的排障技能

建议:冷启动期主动发起"练习赛"------挑最近的告警让 Agent 复盘,快速积累经验。不要只等自动触发。

实际效果参考

United Airlines 的数据:

  • 每天 50 万旅客
  • 38,000 个 Dynatrace OneAgent 监控混合云
  • 500+ AWS 账号,20,000 个 Lambda 函数

接入前:多工具跨域排查有盲区,凌晨还要拉会切工具。 接入后:Dynatrace 检测问题 → 定位应用层 → DevOps Agent 深入调查出修复方案 → 单一面板搞定。

安全注意事项

  1. 最小权限:集成凭证只给只读
  2. 网络隔离:MCP Server 部署在 VPC 内,PrivateLink 连接
  3. 审计:所有调查记录有完整 audit trail
  4. 修复审批:Agent 只给建议,执行需人批准(除非开启自动修复)

成本估算

场景 月调查次数 每次时长 月成本
小团队(5 服务) 50 3 min ~$75
中等(20 服务) 200 5 min ~$500
大规模(100+ 服务) 1000 5 min ~$2,500

对比 SRE 的人力成本,怎么算都划算。

我的建议

  1. 先小范围试:挑一两个最常出问题的服务接入,验证效果
  2. 从 Slack 开始:Slack 集成成本低,团队适应快
  3. 不急着开自动修复:先跑几周"只建议不执行"模式,建立信任
  4. 重视冷启动:前两周每天喂几个历史告警让它学

工具本身不难配,难的是让团队信任它。先让它在小范围证明价值,再逐步扩大。


参考:

相关推荐
swancloud4 小时前
AWS S3、EBS、EFS 有什么区别?不同存储场景该怎么选
云计算·aws
liuqs3322 天前
AWS、Azure接连宕机后,“云存储”的这个软肋被重新摆上台面
云计算·azure·aws
翼龙云_cloud4 天前
亚马逊云渠道代理商:VPC 教程 利用 EC2 自建 NAT 实例降低私有子网出网成本
网络·云计算·aws
jikemaoshiyanshi6 天前
企业搭建大模型网关与智能路由体系,如何实现精细化推理分发?——AWS 双层网关架构适配规模化业务落地
架构·云计算·aws
径硕科技JINGdigital6 天前
AI 训练时 GPU 利用率低,哪些云上高性能存储方案更适合优化训练成本?AWS 按 I/O 瓶颈分层选型
人工智能·云计算·aws
jikemaoshiyanshi7 天前
AI 训练 GPU 利用率偏低,如何通过云上高性能存储优化成本?AWS 基于 I/O 瓶颈分层选型
人工智能·云计算·aws
小新讲网安9 天前
云安全攻防实战:AWS与阿里云渗透测试全流程指南
安全·web安全·网络安全·阿里云·自动化·云计算·aws
tech讯息10 天前
商业化内容生产适用企业级视频生成模型云平台推荐|从模型生成至审核分发全链路 AWS 选型方案
人工智能·音视频·aws
测试运维日常笔记13 天前
AWS EKS 集群部署与清理手顺
云计算·aws
故乡dee云14 天前
AWS 产品太多不会选?按“网站、数据库、文件、日志”4 类需求快速匹配
数据库·云计算·aws