全网日志智能聚合及问题根因分析

1 日志关联分析的挑战

随着各行各业数字化转型的不断深入,网络承载了人们日常生活所需的政务、金融、娱乐等多方面的业务系统,已经成为影响社会稳定运行、关系国计民生的重要基础设施资源。哪怕网络发生及其微小的故障,也可能带来难以估量的后果。因此,网络运维人员在保证网络平稳运行的基础上,还要能够在网络发生问题时以最快的速度找到问题根因和排除故障,从而将问题的影响降至最低。网络设备运行时产生的日志数据详细的记录了网络的运行情况,并且在网络发生问题时还会产生与问题相关的描述信息。通过分析日志来定位网络出现的问题,是运维过程中最常使用的手段之一。
尽管日志中蕴含着大量的有效信息,但是如何高效的实现日志分析却一直是运维领域面临的巨大挑战。挑战主要来自以下几个方面:(1)日志数据量过于庞大,通过人工分析的方法难以快速从海量数据中获取到有效信息。(2)日志的多重上报问题,即当一个网络问题发生时,网络设备的多个层面可能产生不同的告警日志,对日志分析工作带来极大干扰。(3)单一设备日志片面性问题,因为网络设备间存在连接关系,一台网络设备上发生的问题可能会传递到其他设备上引起衍生问题。在此情境下,大量设备会同时产生不同的日志,这些日志间又存在关联关系。如果在进行日志分析时没有选中问题最初发生的设备,将会浪费大量的时间或者分析出片面的结果,最终贻误问题排查时机。
为了解决以上问题,网络运维系统在传统方案中一般通过内置告警根因关联规则的方法实现告警的数量压缩与根因分析。但是静态的告警根因关联规则需要基于大量的知识经验进行总结,规则的复杂度及覆盖率受限于运维系统设计者的经验水平,并且专家经验无法覆盖随着网络技术的快速发展而不断产生的新的问题类型。因此传统的网络运维系统内置静态告警根因关联规则的方法已无法满足当前的运维需求。
在这种情况下,网络运维系统可通过AIOps理念,创新性的利用AI算法挖掘历史数据中隐藏的显式知识来总结日志关联规则,避免专家经验的局限性风险;利用知识图谱技术在全网范围推导网络问题根因及触发路径,解决静态规则自适应性不足的问题。通过以上改进,网络运维系统可有效提高日志数据关联分析的准确率和效率。

2 基于AI能力协助分析日志间的关系

日志关联分析的基本思想是按照时间滑动窗口分析窗口范围内的日志间是否存在关联关系,当存在多组关联关系时再进一步推导问题根因。因此我们主要是在发现日志间关联关系和推导问题根因这两个关键环节中通过引入AI算法来提升效率。

2.1 挖掘日志关联关系

存在关联关系的日志往往一起出现,因此日志间的关联关系其实已经显式的存在于历史数据中。但受限于数据量过大等问题,传统的日志关联关系主要还是通过专家经验由人为定义,而人为定义的过程既存在因思虑不周造成遗漏的风险,也难以跟上因网络技术不断发展而持续出现新的关联关系的节奏。如果我们能够先利用AI算法从海量的历史数据中挖掘出日志关联关系,专家经验只需对挖掘出的关联关系进行定义,就可以有效的解决定义日志关联关系过程中所面临的问题。
基于以上思路,网络运维系统开发团队可对大量的日志历史数据运行聚类算法生成日志关联矩阵,再通过设置阈值的方式过滤出有效的日志关联规则,最后结合专家经验对日志关联规则进行定义,即可实现日志关联关系定义过程的全面性和高效性。
在这里插入图片描述

图1.	日志关联关系定义过程

开发团队在AI算法的助力下,可以总结出“父子”、“衍生”、“频次”三种单设备日志关联关系和“推导”一种跨设备日志关联关系。

  • 父子关系:事件A(父)的发生会引起事件B(子)的发生,那么我们认为A和B之间为父子关系,即A→B。例如端口shutdown操作导致所有子接口shutdown。
  • 衍生关系:如果事件A和事件B两者间不存在因果关系,但A发生时如果伴随B发生可被整体认为是事件C,则A和B共同与C是衍生关系,即A+B→C。例如端口down后又up,衍生出端口震荡事件。
  • 频次关系:如果事件A重复发生若干次后可被认为衍生出事件B,则A与B之间是频次关系,即A*n→B。例如多次登录失败后衍生出密码暴力破解事件。
  • 推导关系:如果X设备上A事件的发生会引起Y设备的B事件的发生,则XA和YB是推导关系,即XA→YB。例如A设备的路由协议状态改变导致相邻设备的路由协议状态改变。

通过AI算法分析出的以上日志关联关系后,经过阈值筛选,再由运维专家对关联关系进行人工分析并定义,最终可形成产品内置的日志关联规则库。网络运维系统收集的日志如果可以匹配到关联规则库,则可对日志进行聚合,仅展示分析结果,从而有效的实现日志展示数量的压缩。

2.2 推导问题根因

当网络发生较严重问题时会同时触发较多的日志信息,即使经过了日志关联聚合后仍可能存在多条聚合结果,我们将日志聚合结果与检测到的网络问题相结合,利用AI算法推导问题根因。
在进行推导前,我们同样要对系统检测到的网络问题建立因果关系知识图谱。因为系统可检测到的网络问题类型数量固定,我们可以完全通过专家经验的方式定义网络问题知识图谱。
之后我们便可以根据网元的属性建立一棵网元对象树,网络运维系统将检测到的网络问题和接收到的日志信息按照其所属对象共同挂载到树上对应的节点上,生成根因分析树。例如下面的形式:
在这里插入图片描述

图2.	根因分析树示意图

基于以上的根因分析树,我们便可以进行根因分析推导。例如分析问题A的根因,大致推导过程如下:

  1. 创建有向图X0={A}。在A的前后时间窗口内,查找所有与X0相关的问题或日志并记录,得到X1。

  2. 再次在A的前后时间窗口内,查找所有与X1中任何元素相关的问题或日志并记录,得到X2。

  3. 重复以上过程,直至不再有新的信息被添加到Xn中,即Xn=Xn+1。

  4. 在Xn中,以A作为终点,按照所有可能路径倒推,每一个起点即为一种可能根因。
    下面以BFD Session中断问题为例,推导过程可能如下:
    在这里插入图片描述

    图3.	BFD Session中断推导过程示意图
    
  5. X0={A}

  6. 查找所有与X0相关的问题或日志,发现存在B和C,则X1={B→A,C→A}

  7. 查找所有与X1相关的问题或日志,发现存在D,则X2={ B→A,C→A,D→B}

  8. 查找所有与X2相关的问题或日志,未发现新的数据,则X3=X2,结束查找。

  9. 按照路径倒推,以A为终点的路径起点分别是D和C,那么该问的可能根因即为(1)物理端口1/0/1端口震荡;(2)Slot 1 CPU利用率过高。

3 日志数据关联分析实践

基于以上介绍的方法,网络运维系统内置的日志关联规则库可随着版本迭代而不断丰富,为日志压缩展示提供高质量的规则依据,可以有效协助网络管理员减少日志展示条数,提高日志分析效率。在网络问题分析时,网络运维系统基于知识图谱的AI算法对于已发现的问题可触发根因推导过程,提供疑似根因分析,显著降低运维人员的分析成本,辅助运维人员尽快规避和修复问题,从而尽可能的降低网络问题所带来的损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/199676.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【预测爆款不用愁,有服饰RFID小助手】

时尚服饰行业库存成本高,数据不精准,爆款服饰一直抓不住,增加库存滞销风险难脱逃,给服饰零售企业带来极大困扰。 帮您提前预测爆款服饰小塔服饰RFID系统 小塔RFID系统作为服饰新零售小助手,通过RFID系统与硬件结合&a…

在Springboot中操作Redis——五大数据类型

在Java中操作Redis Redis的Java客户端 前面我们讲解了Redis的常用命令,这些命令是我们操作Redis的基础,那么我们在java程序中应该如何操作Redis呢?这就需要使用Redis的Java客户端,就如同我们使用JDBC操作MySQL数据库一样。 Red…

重温 re:Invent,分享十年成长:我和 re:Invent的故事

文章目录 前言背景我和re:Invent的交际历届峰会主题2012 突破技术垄断2013 革新数据服务2014 更好用的云服务2015 打通最后一-公里2016 迈向云上数据湖时代2017 重构云计算基础2018 云能力的再进化2019 赋能企业云架构服务2020 推动行业数据库服务的演进2021 无可比拟的云架构2…

pdf文件编辑,[增删改查]

pdf文件是投标文件中必不可少的格式,传统的方式先编辑word格式,最后生成pdf,但是有时候需要直接编辑pdf文件,编辑pdf的工具无疑 “adobe acrobat dc”是最好用的之一了 1.把图片文件添加到pdf指定位置,例如把一张图片添…

API网关

API网关的作用 下图显示了详细信息。 步骤 1 - 客户端向 API 网关发送 HTTP 请求。 步骤 2 - API 网关解析并验证 HTTP 请求中的属性。 步骤 3 - API 网关执行允许列表/拒绝列表检查。 步骤 4 - API 网关与身份提供商对话以进行身份​​验证和授权。 步骤 5 - 将速率限制规…

亚马逊云科技Aurora MySQL在复制性能提升上的不断优化和尝试

前言 Amazon Aurora是亚马逊云科技自研的云原生关系数据库,它在提供和开源数据库MySQL、PostgreSQL的完好兼容性同时,也能够提供和商业数据库媲美的性能和可用性。 Aurora的性能提升不仅包含应用读写吞吐量的提升,也包含复制延迟的降低。一个…

echart 柱状图-bar

业务场景一 效果 业务组件调用代码 <template> <barCom :domId"1" :title"barComProps.title" :xAxisData"barComProps.xAxisData" :yAxisProps"barComProps.yAxisProps" :seriseData"barComProps.serise…

在数据库中进行表内容的修改(MYSQL)

根据表中内容&#xff0c;用命令语句创建数据库&#xff0c;表格&#xff0c;以及插入&#xff0c;修改&#xff0c;删除表格中的内容。 创建数据库&#xff1a;zrzy mysql> create database zrzy; 引用zrzy数据库&#xff1a; mysql> use zrzy; 创建student_info表&…

【EasyExcel实践】导出多个sheet到多个excel文件,并压缩到一个zip文件

文章目录 前言正文一、项目依赖二、封装表格实体和Sheet实体2.1 表格实体2.2 Sheet实体 三、核心实现3.1 核心实现之导出为输出流3.2 web导出3.3 导出为字节数组 四、调试4.1 构建调试用的实体类4.2 控制器调用4.3 测试结果 五、注册大数转换器&#xff0c;长度大于15时&#x…

XML Schema中的attributeFormDefault

XML Schema中的attributeFormDefault属性&#xff0c;用以指定元素的属性默认是否必须带有命名空间前缀。 attributeFormDefault属性可以取值qualified或unqualified&#xff0c;默认值是unqualified。 当取值为qualified时&#xff0c;表示属性必须用命名空间作为前缀&#x…

线性可分SVM摘记

线性可分SVM摘记 0. 线性可分1. 训练样本到分类面的距离2. 函数间隔和几何间隔、(硬)间隔最大化3. 支持向量 \qquad 线性可分的支持向量机是一种二分类模型&#xff0c;支持向量机通过核技巧可以成为非线性分类器。本文主要分析了线性可分的支持向量机模型&#xff0c;主要取自…

命令模式 rust和java实现

文章目录 命令模式介绍javarustrust仓库 命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种数据驱动的设计模式。请求以命令的形式包裹在对象中&#xff0c;并传给调用对象。调用对象寻找可以处理该命令的合适的对象&#xff0c;并把该命令传给相应的对象&…

梦极光(ez_re?)

ez_re 先查壳看看&#xff0c;没有壳 32位 我先说说这道题 打开分析找到主函数 在这里就是flag了&#xff0c;用十六进制转ascii码 我们先运行这个程序看看 我想说说我的想法 首先没看出来这里是十六进制转ascii码其次41D538数组用来干啥来的&#xff1f;题目里面给出的请…

untiy 配置iis服务器来打开webgl

最简单的方法是不需要配置服务器&#xff0c;打包的时候直接build and run&#xff0c;但是有时候如果我们需要调整js的内容&#xff0c;会很不方便&#xff0c;所以配置一个iis服务器还是很有必要的 首先要开启iis服务 控制面板&#xff0c;查看方式选类型&#xff0c;点击程…

android viewpager 禁止滑动

android viewpager 禁止滑动 前言一、viewpager 禁止滑动是什么&#xff0c;有现成方法吗&#xff1f;二、使用setOnTouchListener三、使用自定义viewpager总结 前言 本文介绍了本人有一个相关的需求需要实现这一功能&#xff0c;在过程中发现自己之前没做过&#xff0c;然后记…

用C++和python混合编写数据采集程序?

之前看过一篇文章&#xff0c;主要阐述的就是多种语言混合编写爬虫程序&#xff0c;结合各种语言自身优势写一个爬虫代码是否行得通&#xff1f;觉得挺有意思的&#xff0c;带着这样的问题&#xff0c;我尝试着利用我毕生所学写了一段C和python混合爬虫程序&#xff0c;目前运行…

基于Spring Boot的疫苗接种系统-计算机毕设 附源码 32315

基于Spring Boot的疫苗接种系统 摘 要 预防预接种工作实行网络信息化管理&#xff0c;是我国免疫规划工作发展的需要。接种信息实行网络信息化不仅是预防接种工作步入了一个新的台阶&#xff0c;更重要的是解决了多年疫苗接种过程种&#xff0c;免疫接种剂次不清&#xff0c;难…

2023-简单点-yolox-pytorch代码解析(一)-nets/darknet.py

yolox-pytorch: nets/darknet.py yolox网络结构yolox-pytorch目录今天解析注释net/darknet.pyFocusBaseConvDWConvSPPBottleneckDarknet未完待续。。。 yolox网络结构 yolox-pytorch目录 今天解析注释net/darknet.py #!/usr/bin/env python3 # 指定使用python3来执行此脚本 …

电子签名软件,在教育行业中如何应用?

电子签名软件简化签署流程&#xff0c;降低签署门槛&#xff0c;让更多人便捷地参与到签署中来。 微签作为国内电子签名软件的拓荒者之一&#xff0c;拥有19年的研发应用经验&#xff0c;提供专业的企业电子签名服务。微签的电子签名软件广泛应用于审批场景&#xff0c;实现高…

win系列:电脑设置关闭屏幕和休眠时间不起作用解决方案

电脑设置关闭屏幕和休眠时间不起作用解决方案 一. 笔记本电脑30s自动锁屏&#xff0c;怎么设置都没用?方法一&#xff1a;使用快捷键方法二&#xff1a;开始菜单设置如果需要对锁屏进行背景等的设置&#xff0c;建议你采用这个方法来进行。方法三&#xff1a;控制面板设置怎么…