🎉 运维研发有福了,AI + WatchAlert 实现智能化告警分析 高效处理故障告警!!!

98 阅读2分钟

1. 引言

传统的运维模式已难以应对海量告警信息的处理需求,且不能在第一时间定位问题根因及有效的解决方案。WatchAlert作为开源的监控告警解决方案,在企业内观测监控方面发挥着重要作用。而现在拥有了大量的AI技术,可以借助AI来协助运维迅速定位并解决问题。本文将介绍如何借助 AI 构建智能化告警处理方案。

GitHub:github.com/opsre/Watch…

架构图 在这里插入图片描述

⚠️ 文档底部有免费申请API Key入口哦~

2. 实现方案

WatchAlert 告警引擎:负责实时监控指标数据并其触发相应的告警条件; Ai:通过使用上层引擎构建的 Prompt 进行Ai分析,并将分析内容返回给用户; 在这里插入图片描述

3. WatchAlert Ai 能力集成

3.1 基础配置

在这里插入图片描述 在这里插入图片描述

  • 支持对接自定义GPT接口;

  • 支持自定义 Prompt;

    • Prompt 中有三个重要的信息(固定字段不可更改),以下三个信息更容易让 AI 定位问题原因;
      • RuleName:规则名称;
      • SearchQL:触发告警的查询语句;
      • Content:告警事件的具体内容;
  • Prompt

Revised Prompt: 作为站点可靠性工程 (SRE) 可观测性监控专家,请分析以下警报内容,下面的信息很可能包括(指标、日志、跟踪或 Kubernetes 事件)。
---
您的分析应包括:
1. 可能的原因分析:详细解释警报中出现问题的潜在原因,并提供相关示例。
2. 排查步骤:概述系统化的故障排除和问题解决方法,包括具体的步骤、命令或工具。
3. 最佳实践和策略:推荐防止此类问题再次发生的最佳实践,讨论如何实施监控、警报和操作程序以缓解类似问题。
---
现在我接收到的告警内容如下:
规则名称:
{{ RuleName }}
触发条件:
{{ SearchQL }}
告警内容:
{{ Content }}
---
请根据以下三个方面,结构化地回复我,要求简洁明了、通俗易懂:
1. 分析可能的原因
2. 提供具体的排查步骤
3. 如何规避
---
请清晰格式化您的回复,并使用适当的标题分隔每个部分。

3.2 Ai 分析实践

在这里插入图片描述

  • 案例:进程CPU 在这里插入图片描述 在这里插入图片描述
  • 案例:Goroutine 内存limit 在这里插入图片描述

注意⚠️:系统会缓存第一次分析结果,如果需要覆盖结果重新分析的话,需要点击「深度分析」它会清除历史缓存并且深度分析告警内容;

4. 免费申请OpenAI key

4.1 访问下方地址

github.com/chatanywher… 在这里插入图片描述

4.2 授权账号

在这里插入图片描述

4.3 查询调用量

api.chatanywhere.tech/#/ 在这里插入图片描述 API文档,在线测试 chatanywhere.apifox.cn

4.4 对接WatchAlert