(1)系统通过定时任务检测SLA告警源,如果查询到最近存在告警信息,则将告警信息抓取下来,并与我们提前定义好的CoT提示词一起交给Agent处理。这一步确保系统能够实时响应并捕捉到最新的告警信息。
(2)Agent在接收到告警信息和上述CoT提示词后,大模型首先基于提示词做出整体规划,按照规划的步骤依次调用工具来获取线上数据。
(3)大模型先从告警信息中提取出告警的域名和url,然后调用查询应用详情的工具,利用未来云的线上接口查询到该域名与url对应应用的详细信息。
(4)接着大模型调用检测pod状态的工具,利用未来云线上接口,将刚刚查询到的应用名称,作为检测pod状态工具的入参,来查询该应用所有pod最近状态如何,是否出现异常。
(5)然后大模型调用变更检测工具,利用服务树变更事件的接口,查询最近一段时间内的线上变更情况。并且对比变更时间和告警时间,如果时间点相近,则变更的可能性较大。
(6)然后大模型调用检测最近是否存在网络告警的工具,利用哮天犬提供的接口通过taskid查询到最近一段时间是否发生了网络告警。同理查询三方依赖组件告警的工具也是依赖哮天犬taskid来获取最近告警信息的。
(7)大模型通过调用检索过去的标注信息的工具,从标注系统中利用RAG技术检索过去的标注信息来了解到过去面对相同告警信息的时候可能的告警原因是什么。
(8)整合这些告警结果,综合分析导致此次告警的原因是什么,然后将最终模型分析结果一方面通过机器人webhook与secret的方式推送到群聊内,另一方面通过插入故障标注系统进一步落库存储,等待后续人工标注,以此来不断优化第七步RAG的检索效果。