• 服务案例|AI算法在Oracle指标异常检查、故障预测之牛刀小试


    LinkSLA与南京大学合作,将AI算法引入运维平台,将趋势性、周期性强的指标数据通过机器学习,实现异常检测、故障预测等功能。

    下面分享一个通过AI算法,对Oracle数据库故障预测的案例。

    在3月16日,MOC工程师接到某公司的Oracle数据库dbtime运维指标AI检测异常告警。查看告警详情,发现数据库的db time值与历史相同时间段的db time值区别比较大,并且 dbtime一直持续向上的趋势仍在持续。

    告警详情页面👆

    进入指标详情页面,查看运行指标,看到数据库运行时间分配给CPU占比低于10%,而等待时间占比高于90%,和以往指标基线有很大的不同。

    数据库cpu服务时间👆

    数据库等待时间👆

     

    一个技术 tips:

    Oracle数据库中DB Time(请求时间)= DB Wait Time(DB等待时间)+ DB CPU Time(DB CPU服务时间)

    等待时间的增加表明数据库负载压力大,资源占用非常严重。MOC工程师继续查看相关运行指标时序图,Active_Serial_Sessions(活动串行会话数)、 Current_logons_count(当前登录数);Current_open_Cursors_Count(当前打开的游标数);SQL_Service_Response_Time  SQL(服务响应时间)指标参数均显示异常且持续增长。

     如图显示👇

    Active_Serial_Sessions(活动串行会话数)

    Current_logons_count(当前登录数)

    Current_open_Cursors_Count(当前打开的游标数)

       SQL_Service_Response_Time  SQL(服务响应时间)

    根据AI异常检测告警和相关指标数据时序图分析,这台Oracle数据库负载持续变大,并未任何下降趋势,AI趋势分析,按这个趋势下去,数据库负载将会不断增加,数据库会运行缓慢,最终导致数据库挂死,造成业务中断。

    MOC工程师马上将Oracle数据库的AI预警信息,通知用户应用商,检查Oracle数据库运行状态,查找导致dbtime持续增加的原因,将隐患消灭在摇篮里,避免了业务中断现象发生。

    案例总结

    我们尝试对趋势性、周期性强的指标,进行模型训练,例如我们对oracle的dbtime 等指标进行了模型训练,从实践看还是起到了效果,可以及时发现数据库持续负载压力增大趋势,第一时间通知客户,避免生产事故。后续我们会对监控指标进行分类,不同类型指标按照不同算法进行训练,期望达到更好效果,提高运维效率。

  • 相关阅读:
    Redis在SpringBoot项目中使用
    创建型模式-原型模式
    CUDA——可用于核函数中的CUDA基本数学运算函数总结
    项目实战第十五讲:使用职责链模式实现类目属性规则引擎
    lidar_camera_calib代码解读-优化部分
    python的pass简介
    初识集合框架 -Java
    SpringBoot 3.0最低版本要求的JDK 17,这几个新特性不能不知道
    Spring IOC架构设计解析
    Ubuntu下安装Java
  • 原文地址:https://blog.csdn.net/LinkSLA/article/details/127978274