返回首页

使用 MCP 分析 DevOps 告警的 AI 代理

本文描述了在 n8n 上使用 MCP 服务器的 PoC AI 代理,用于 DevOps 基础设施中告警的自动化分析。该代理集成了 vmetrics、loki、K8s 和云工具包,提供诊断和修复步骤。适合中高级专家。

SherlockOps:AI 击败 DevOps 中的告警混乱
Advertisement 728x90

使用 AI 和 MCP 协议自动化 DevOps 告警分析

DevOps 团队常常花费数小时在 Slack、Grafana 和 Alertmanager 的告警中刨根问底,尤其是在 Kubernetes、VictoriaMetrics、Loki 和多云环境的复杂架构中。手动排查需要脑子里记住 10+ 个环境、数据库和监控栈的细节。解决方案?基于 n8n 构建的 POC 智能代理,通过 MCP 服务器(模型控制协议)集成 AI,提供完整的告警上下文、即执行命令和实用建议。

该代理仅获得基础设施的只读访问权限:vmetrics 用于 PromQL 查询、Loki 用于日志、k8s-mcp 用于 Kubernetes 资源、Yandex Cloud Toolkit、ArgoCD-mcp 和 Alertmanager-mcp。这样它就能分析指标、日志、Pod 状态和静默规则,而不会造成任何变更风险。

在 n8n 上构建 POC 并集成 MCP

我们选择 n8n 作为低代码工作流平台来开发原型。我们启动了 MCP 服务器:alertmanager-mcp、vmetrics-mcp、Yandex Toolkit 和 k8s-mcp。AI 会根据你的环境(Yandex Cloud、AWS、DigitalOcean)生成定制工作流。

Google AdInline article slot

早期用 Gemini 测试时遇到问题:静默规则识别错误、MCP 调用过多。切换到 Claude 并启用逐步思考模式后,解决了幻觉和循环问题。最终提示词指定了环境、日期、工具和严格的操作序列。

关键提示词元素:

  • 当前环境,包括 cloud_id、folder_id、集群标签。
  • 工具:vmetrics(即时/范围查询,从 -30m 到 now)、Loki(-30m/-1h)、k8s_mcp(表格上下文)、Yandex Cloud Toolkit(仅 Compute/VPC/IAM/YDB/S3)。
  • Alertmanager:get_silences、post_silence(JSON 格式,包含 matchers 和 ISO 日期)、delete_silence。

标准告警调查协议

代理遵循标准 playbook:

Google AdInline article slot
  • vmetrics — 检查指标(重启、内存、CPU、空闲服务器)。
  • 数据表 — kubeconfig_context 用于 K8s。
  • k8s_mcp — pods_log(previous=true)或 pods_get。
  • argocd_mcp — 通过标签 get_application。
  • Loki — 仅在 Pod 日志无根因时使用。

调用限制:

  • 每个工具最多 2 次重试。
  • 两次空响应?停止。
  • 422 错误(数据点过多)?切换到即时查询。
  • 停止条件:日志中 OOMKilled/Killed/Error、重启 >0 并有原因、调用 5+ 次。

告警标签(labelsRaw)严格按提供使用:仅在存在时使用 project/cluster,不做假设。

处理命令和静默规则

@bot 命令支持英文或俄文:

Google AdInline article slot
  • "silence 2h" / "mute for 4 hours" — post_silence(默认 2h,按 alertname 匹配)。
  • "unsilence" / "unmute" — 按 alertname delete_silences。
  • "reanalyze" — 完整重新分析。

静默规则流程:

  • get_silences() — 检查现有规则。
  • 若存在 — 报告 ID/endsAt。
  • 若不存在 — post_silence(startsAt=now,endsAt=+duration,ISO Z 格式)。

Slack mrkdwn 响应格式:

  • 严重度:🔴/🟡/🟢(按标签,绝不降级)。
  • _诊断:_ 根因。
  • _发现:_ 数字(重启 | exitCode | 限额 | 日志)。
  • _下一步:_ 编号行动列表。

关键收获

  • MCP 协议让 AI 安全获取基础设施只读访问,无需自定义 API。
  • Claude 的思考模式避免工具调用循环和幻觉。
  • 严格停止条件最小化调用,直击根因(OOM、CrashLoopBackOff)。
  • n8n 集成让 AI 生成工作流,加速开发。
  • 通过上下文映射支持多云和 K8s 集群。

— Editorial Team

Advertisement 728x90

继续阅读