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

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算法对于已发现的问题可触发根因推导过程,提供疑似根因分析,显著降低运维人员的分析成本,辅助运维人员尽快规避和修复问题,从而尽可能的降低网络问题所带来的损失。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

embeddings

“embeddings”的中文翻译是“嵌入”或“嵌入向量”。在自然语言处理(NLP)领域,通常被称为“词向量”或“词嵌入”,它是表示词汇或令牌的一种方式,通过将这些词汇或令牌映射到一个向量空间中的点,以捕捉它们…

Spring之AOP理解与应用(更新中)

1. AOP的认识 面向切面编程:基于OOP基础之上新的编程思想,OOP面向的主要对象是类,而AOP面向的主要对象是切面,在处理日志、安全管理、事务管理等方面有非常重要的作用。AOP是Spring中重要的核心点,AOP提供了非常强…

中小型工厂如何进行数字化转型

随着科技的快速发展和市场竞争的日益激烈,中小型工厂面临着诸多挑战。为了提高生产效率、降低成本、优化资源配置,数字化转型已成为中小型工厂发展的必经之路。中小型工厂如何进行数字化转型呢? 一、明确数字化转型目标 在进行数字化转型之前…

Java第二十章

一.创建线程 1.继承Thread类 Thread类是java.lang 包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例。Thread类中常用的两个构造方法如下: public Thread()://创建一个新的线程对象。 public Thread(String threa…

面试题:MySQL自增主键为什么不是连续的?

文章目录 前言一、自增值存储说明二、自增值修改机制三、 自增值修改时机四、 导致自增值不连续的原因4.1 唯一键冲突4.2 事务回滚4.3 批量写库操作 前言 提出这个问题,是因为在工作中发现 mysql 中的 user 表的 id 默认是自增的,但是数据库存储的结果却…

LINUX入门篇【11】---进程篇【3】---进程优先级,进程切换,进程调度

前言: 有了前面知识点的铺垫,本篇我们将围绕进程的三个方面来展开,即进程优先级,进程切换以及进程调度的问题,这里的进程调度其实本质就是CPU是如何去调度进程的。 进程优先级: 优先级的概念&#xff1a…

C语言数据结构之顺序表(上)

前言: ⭐️此篇博文主要分享博主在学习C语言的数据结构之顺序表的知识点时写的笔记,若有错误,还请佬指出,一定感谢!制作不易,若觉得内容不错可以点赞👍收藏❤️,这是对博主最大的认可…

鸿蒙原生应用/元服务开发-AGC分发如何生成密钥和和证书请求文件

HarmonyOS通过数字证书(.cer文件)和Profile文件(.p7b文件)等签名信息来保证应用的完整性,应用如需上架到华为应用市场必须通过签名校验。因此,开发者需要使用发布证书和Profile文件对应用进行签名后才能发布…

卓越进行时 | 西安交通大学校友莅临赛宁网安参观考察

近日,为了深入贯彻网络安全强国战略建设,积极发挥网络安全企业的先进作用,推动校企合作与协作共赢。西安交通大学领导携校友会来到赛宁网安网络安全卓越中心进行参观考察,为进一步的校企合作和产业孵化奠定基础。 活动期间&#…

双十二有什么好物是值得推荐?智能家居好物推荐

都知十一月份跟十二月份都有两个大促的时间,那就是双十一跟双十二,距离双十一过去已经半个月了,是不是还有很多朋友在双十一的时候也没有买尽兴,别慌!错过了双十一咱还有双十二,双十二的优惠力度也不会低于…

NX二次开发UF_MTX3_transpose 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_MTX3_transpose Defined in: uf_mtx.h void UF_MTX3_transpose(const double mtx [ 9 ] , double transpose_mtx [ 9 ] ) overview 概述 Returns the transpose of a 3x3 matri…

Fastjson 1.2.47 远程命令执行漏洞

漏洞描述 Fastjson是阿里巴巴公司开源的一款json解析器,其性能优越,被广泛应用于各大厂商的Java项目中。 fastjson于1.2.24版本后增加了反序列化白名单,而在1.2.48以前的版本中,攻击者可以利用特殊构造的json字符串绕过白名单检测…