首页 > 其他分享 >利用大模型反馈故障的解决方案

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

时间:2024-01-27 15:31:54浏览次数:24  
标签:巡检 错误 解决方案 反馈 事件报告 故障 text error stack

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

背景

观测云有两个错误巡检脚本,RUM 错误巡检和 APM 错误巡检,代码均开源。
错误巡检的主要目的是发现新出现的错误消息(error stack),原有的巡检在上报了相应的事件报告后,只是定位了问题,并没有给出合适的解决方案。OpenAI 的出现,给了解决个性化 error stack 的一些洞察和解决方案。
本次最佳实践通过二次开发原有巡检,针对智能巡检的告警报告,实现自动化故障反馈,为用户提出合适的改进意见,一并在事件报告中体现,作为更加完备的巡检解决方案。

实现流程

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

利用大模型反馈故障的解决方案_最佳实践

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

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

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

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

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

# 大模型故障反馈
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

利用大模型反馈故障的解决方案_事件报告_03

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

利用大模型反馈故障的解决方案_人工智能_04

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

利用大模型反馈故障的解决方案_事件报告_05

总结

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

标签:巡检,错误,解决方案,反馈,事件报告,故障,text,error,stack
From: https://blog.51cto.com/u_12003135/9443792

相关文章

  • GET&POST请求和响应的中文乱码解决方案
    Serlvet程序的请求和响应乱码问题get请求与post请求数据乱码publicclassRequestAPIServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{//获取请求......
  • openGauss学习笔记-208 openGauss 数据库运维-常见故障定位案例-TPCC高并发长稳运行因
    openGauss学习笔记-208openGauss数据库运维-常见故障定位案例-TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1TPCC高并发长稳运行因脏页刷盘效率导致性能下降208.1.1问题现象TPCC高并发长稳运行因脏页刷盘效率导致性能下降,具体表现为:初始性能较高,随着运行时间增加,数据......
  • 04.性能测试解决方案
    性能监控系统价值性能监控体系介绍性能监控价值性能监控是什么对应用的多样化性能指标进行持续性收集、存储、分析和可视化。性能监控价值提升性能分析能力可以快速发现性能瓶颈辅助针对性的解决问题提高实时反馈与响应能力性能监控应用场景时序......
  • 数据库恢复技术||故障的种类和恢复的实现技术以及恢复策略
    故障的种类:事务内部的故障:包括预期和非预期的事务内部错误。系统故障:导致系统停止运行的事件,如硬件错误、操作系统故障、DBMS代码错误等。介质故障:外存故障,如磁盘损坏、磁头碰撞等。计算机bing毒:人为制造的程序,可能对数据库造成破坏。恢复的实现技术:数据转储:定期将数据库复制到其他......
  • 新能源汽车智慧充电桩解决方案:移动便捷的充电服务
    自从我国提出"新基建"以来,充电基础设施产业也成为行业的话题与关注焦点。"十三五"期间,我国充电基础设施实现了跨越式发展,标准体系逐步完备,产业生态稳步形成。国务院《新能源汽车产业发展规划(2021-2035年)的通知》指出,到"十四五"末,我国电动汽车充电保障能力进一步提升,形成适度超前、......
  • CAN转PROFINET新应用,节能降本又高效,AGV行业西门子PLC与CAN驱动系统连接通信解决方案
    大家好,我今天给大家讲解一个AGV行业西门子PLC与CAN驱动系统连接通信解决方案(CAN转PROFINET)随着工厂自动化发展以及柔性制造系统、自动化立体仓库的广泛应用,已作为管理离散型装配、物流、仓储等系统不可或缺的自动化搬运装卸工具,智能化AGV系统可根据ERP订单进行仓库配料、分料、产......
  • 分钟级实时数据分析的背后——实时湖仓产品解决方案
    随着信息技术的深入应用,企业对市场的响应速度也在不断提升,而且这种响应速度正在变得越来越快,没有最快只有更快。对数据实时性要求的提高,是眼下很多企业遇到的一个新的挑战。从生产侧的视角来看,系统实时监控与实时健康状态检测已成为确保系统稳定性和可靠性不可或缺的关键功能。它们......
  • 分钟级实时数据分析的背后——实时湖仓产品解决方案
    随着信息技术的深入应用,企业对市场的响应速度也在不断提升,而且这种响应速度正在变得越来越快,没有最快只有更快。对数据实时性要求的提高,是眼下很多企业遇到的一个新的挑战。从生产侧的视角来看,系统实时监控与实时健康状态检测已成为确保系统稳定性和可靠性不可或缺的关键功能。它......
  • MSE/Istio 全链路灰度的挑战、实现思路与解决方案
    微服务架构下的灰度发布挑战在传统的单体应用架构中,灰度发布相对简单。只需要在服务的流量入口处进行分流,通过使用K8sService或各种类型的网关即可实现。然而,微服务架构引入了新的复杂性,服务之间的依赖关系错综复杂。有时候,某个功能的发布可能依赖于多个服务,要求灰度流量在整......
  • BOSHIDA 可靠的DC电源模块:减少系统故障的风险
    BOSHIDA可靠的DC电源模块:减少系统故障的风险选择可靠的DC电源模块是保障系统稳定运行的重要步骤。以下是选择可靠的DC电源模块时需要考虑的几个关键因素: 1.品牌信誉:选择知名品牌的DC电源模块,这些品牌通常有良好的品质控制和售后服务,其产品质量更可靠。2.技术参数:查看DC电......