利用大模型反馈故障的解决方案

作者 观测云 数据智能部 产品方案架构师 范莹莹

背景

观测云有两个错误巡检脚本,RUM 错误巡检和 APM 错误巡检,代码均开源。

错误巡检的主要目的是发现新出现的错误消息(error stack),原有的巡检在上报了相应的事件报告后,只是定位了问题,并没有给出合适的解决方案。OpenAI 的出现,给了解决个性化 error stack 的一些洞察和解决方案。

本次最佳实践通过二次开发原有巡检,针对智能巡检的告警报告,实现自动化故障反馈,为用户提出合适的改进意见,一并在事件报告中体现,作为更加完备的巡检解决方案。

实现流程

1.安装观测云集成(ChatGpt 监控)[ID: guance_chatgpt_monitor] 脚本。完整流程可参考最佳实践文档《一行代码实现 OpenAI 可观测》

2.安装观测云 APM 新增错误或 RUM 新增错误巡检脚本。

本最佳实践以RUM 新增错误巡检为例。

3.对新增错误获取到的 error-stack 进行提取,与大模型进行问答。

在构建事件报告的 RUMEventStruct 类下新增一个大模型故障反馈模块,示例代码如下:

ini 复制代码
# 大模型故障反馈
def build_chatgpt_solution(self, js_new_error_messages, start_time, end_time):
    chatgpt_solution_section = event_detail.Section(name='大模型故障反馈', name_en='Solution Details', index=3)

    OPENAI_API_KEY = DFF.ENV('OPENAI_API_KEY')

    # 发送请求并获取回复
    url = 'https://us1-private-func.guance.com/api/v1/al/auln-...../simplified'
    headers = {
        'Content-Type': 'application/json',
        'Authorization': f'Bearer {OPENAI_API_KEY}'
    }

    for js_new_error in js_new_error_messages:
        js_new_error_message = js_new_error[0]
        error_stack = js_new_error_message['error_stack']
        print(f'error_stack:\n{error_stack}')

        datas = {
            "model": "gpt-3.5-turbo",
            "messages": [{'role':'user', 'content':f'如果错误:{error_stack},请问原因是什么?怎么解决?'}],
            "temperature": 0.5,
            "presence_penalty": 0,
            "stream": False,
        }

        response = requests.post(url=url, headers=headers, json=datas)

        md = event_detail.Markdown("")
        text_list = [
            f'**解决方案**:`{response.text}`']
        text_list_en = [
             f'**Solution**:`{response.text}`',
        ]
        md.set_text(*text_list)
        md.set_text(*text_list_en, lang='en')
        chatgpt_solution_section.add(md)

    return chatgpt_solution_section

4.url 处填写第一步中授权链接的 POST 简化形式(JSON)

5.巡检一小时跑一次,如果所连接应用触发了巡检逻辑,即可在观测云控制台 **监控 -> 智能巡检 模块看到生成的事件报告。**如下图所示:

总结

在原有的智能巡检事件报告中,给出的建议相对固定,不能全面地将所有可能涉及到的错误建议给出。结合利用大模型,可以针对性地对触发的告警错误给出建议,提高事件报告的可读性。

相关推荐
MarvinP5 分钟前
《Seq2Time: Sequential Knowledge Transfer for Video LLMTemporal Grounding》
人工智能·计算机视觉
AORO202533 分钟前
适合户外探险、物流、应急、工业,五款三防智能手机深度解析
网络·人工智能·5g·智能手机·制造·信息与通信
铉铉这波能秀1 小时前
如何在Android Studio中使用Gemini进行AI Coding
android·java·人工智能·ai·kotlin·app·android studio
rongqing20191 小时前
Google 智能体设计模式:探索与发现
人工智能·设计模式
黎燃2 小时前
两周以上天气可预报吗?——用 NVIDIA Earth-2 打开 AI 次季节预测新篇章
人工智能
源码师傅2 小时前
最新短视频AI智能营销询盘获客系统源码及搭建教程 源码开源可二次开发
人工智能·开源·短视频智能获客源码·获客询盘营销系统源码·获客系统源码·短视频智能营销获客系统
黎燃2 小时前
AI Agent 全景:从 LLM 到自主智能体系统的 7 层深度实践
人工智能
可触的未来,发芽的智生2 小时前
触摸未来2025.10.09:记忆的突围,从64个神经元到人工海马体神经网络
人工智能·python·神经网络·机器学习·架构
一个会的不多的人2 小时前
数字化转型:概念性名词浅谈(第七十二讲)
大数据·人工智能·制造·数字化转型
数据和云2 小时前
从Databricks和Supabase看AI时代的中国数据库启示
数据库·人工智能