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

news2024/11/22 22:55:09

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.coloradmin.cn/o/1266022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯云轻量服务器通过Docker搭建外网可访问连接的redis5.x集群

原创/朱季谦 最近买了一台4核16的腾讯云轻量应用服务器,花了我快四百的大洋,打算搭建一堆docker组件集群,最先开始是通过docker搭建redis集群,计划使用三个端口,分别是7001,7002,7003。 腾讯云服务器有防火墙限制,故…

Java程序连接 nacos集群

我们在bootstrap.yml文件里可以直接连一个nacos集群的. 架构如下 没错,我们程序直连的是通过Nginx的,利用nginx的反向代理来做到连接nacos集群. 我们先把nginx的配置贴上来 upstream cluster{server 127.0.0.1:8848;server 127.0.0.1:8849;server 127.0.0.1:8850; }server{l…

高压放大器驱动换能器可以做什么

高压放大器可以用于驱动各种类型的换能器,以实现不同应用的功能和需求。以下是一些常见的应用: 声波传感器:高压放大器可以驱动声波传感器,如压电传感器或麦克风。这些传感器将声音转换为电信号,并通过高压放大器进行放…

C语言--求x的y次方【详细解释+代码优化】

一.利用库函数pow&#x1f357; pow函数的原型为&#xff1a; double pow(double base, double exponent); base为底数&#xff0c;exponent为指数&#xff0c;传入两个参数&#xff0c;返回值是计算的结果。需要引用头文件#include<math,h>. //方法一&#xff1a;利…

ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器

ST53xxS/T 40V&#xff0c;低静态电流&#xff0c;高可靠性 LDO 概述&#xff1a; ST53xx 系列是一种高精度、高输入电压、低静态电流、高速度、低压差线性稳压器&#xff0c;具有高纹波抑制能力。在 Vour 5V VIN 7V 时&#xff0c;输入电压高达40V&#xff0c;负载电流高达300…

近五年—中国十大科技进展(2018年—2022年)

近五年—中国十大科技进展&#xff08;2018-2022&#xff09; 2022年中国十大科技进展1. 中国天眼FAST取得系列重要进展2. 中国空间站完成在轨建造并取得一系列重大进展3. 我国科学家发现玉米和水稻增产关键基因4. 科学家首次发现并证实玻色子奇异金属5. 我国科学家将二氧化碳人…

运算放大器(五):V-I 转换器

1、高侧电压至电流&#xff08;V-I&#xff09;转换器 下图显示的电路是高侧电压至电流(V-I) 转换器。可将 0 V 至 2V 的输入电压转换为 0mA 至 100mA 的输出电流 其测量转换函数如下图所示&#xff1a; 可利用该电路搭建恒流源电路&#xff0c;如下图仿真电路所示&#xff08…

【esp32】可变时间的定时器中断的开启和关闭

前言 回忆若能下酒&#xff0c;往事便可作一场宿醉。醒来时&#xff0c;天依旧清亮&#xff0c;风仍然分明&#xff0c;而光阴的两岸&#xff0c;终究无法以一苇杭之。我知你心意。无须更多言语&#xff0c;我必与你相忘于江湖&#xff0c;以沧桑为饮&#xff0c;年华果腹&…

vue.draggable拖拽——岗位切换如何判断?

有一个业务场景&#xff1a;把一个单位的某个岗位的人&#xff0c;从某某市A岗位调离出来后&#xff0c;又拖拽回去&#xff0c;如果是回到某某市A岗位&#xff0c;则没有变化&#xff0c;若是换了岗位&#xff0c;则会把色块变成红色&#xff0c;表示岗位的变化。 方法一&…

Linux 调试工具:gdb

调试复习 调试可谓是 “贯穿” 了程序员的一生&#xff0c;调试的重要性&#xff0c;就不再赘述啦&#xff01;如果你还不知道什么是调试&#xff0c;可以看看 Windows 系统的 Visual Studio 是如何调试的&#xff1a;➡️ visual stuudio 使用调试技巧 下载调试软件 gdb yu…

常用的系统播放器——MediaPlayer生命周期

常用的系统播放器——MediaPlayer 状态图以及生命周期 Idle状态、End状态、Error状态 MediaPlayer创建实例或者调用reset&#xff08;&#xff09;后就处于Idle状态&#xff0c;即就绪。 任意时刻调用release&#xff08;&#xff09;就会进入End 当运行过程中出错&#xf…

【力扣】189. 轮转数组

【力扣】189. 轮转数组 文章目录 【力扣】189. 轮转数组1. 题目介绍2. 解法2.1 方法一&#xff1a;不太正规&#xff0c;但是简单2.2 方法二&#xff1a;使用额外的数组2.3 方法三&#xff1a;环状替换2.4 方法四&#xff1a;数组翻转 3. Danger参考 1. 题目介绍 给定一个整数…

根据端口查找进程

关闭kibana kibana自带命令 kibana没有提供关闭命令&#xff0c;通过命令 ps -ef|grep kibana查找不到kibana相关的信息。 可以通过进程暴露的端口来查找 netstat -anltp|grep 5601获取到进程号&#xff0c;然后kill掉进程 kill -9 进程号Docker管理Kibana 但是如果使用D…

【开题报告】基于卷积神经网络的图像脑部MRI图像分割

论文题目 基于卷积神经网络的图像脑部MRI图像分割 一、选题意义 1.课题研究的目的和意义 1.1选题目的 脑部疾病是高致残致死率的疾病之一&#xff0c;对人们的生活质量和生命安全都有着十分重大的影响&#xff0c;所以各个国家都开始对脑部疾病的研究重视起来。帕金森、脑胶质…

SpringBoot+网易邮箱登录注册

文章目录 SpringBoot网易邮箱登录注册pom.xmlapplication.ymlsqlUserEmail.javaUserEmailMapper.javaUserEmailMapper.xmlEmailService.javaUserEmailService.javaUserEmailServiceImpl.javaUserEmailController.javaregister1.html 编写前参考 SpringBoot网易邮箱登录注册 po…

webpack如何设置兼容浏览器的范围​browserslist

Browserslist 是前端工程化不可或缺的工具&#xff0c;无论是处理 js 的 babel 还是处理 css 的 postcss&#xff0c;他们背后都有Browserslist 的身影。 一、如何查看查看所有浏览器和它的市场占有率 我们如何知道现在的浏览器那些被废弃、那些市场占有率高&#xff0c;可以…

第13关 解决K8s中Ingress Nginx控制器无法获取真实客户端IP的问题

------> 课程视频同步分享在今日头条和B站 大家好&#xff0c;我是博哥爱运维。 这节课带大家探索并分享最全面的解决在使用Kubernetes&#xff08;K8s&#xff09;和Ingress-Nginx-Controller中无法获取客户端真实IP问题的视频教程&#xff0c;帮助你快速理解并解决这一问…

SpringBoot项目整合Redis,Rabbitmq发送、消费、存储邮件

&#x1f4d1;前言 本文主要是【Rabbitmq】——SpringBoot项目整合Redis&#xff0c;Rabbitmq发送、消费、存储邮件的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页…

一起学docker系列之十四Dockerfile微服务实践

目录 1 前言2 创建微服务模块2.1 **创建项目模块**2.2 **编写业务代码** 3 编写 Dockerfile4 构建 Docker 镜像5 运行 Docker 容器6 测试微服务7 总结8 参考地址 1 前言 微服务架构已经成为现代软件开发中的一种重要方式。而 Docker 提供了一种轻量级、便携式的容器化解决方案…

贵州乾辰谷材 以科技创新引领绝缘材料领域的新发展

贵州乾辰谷材科技有限公司&#xff0c;这家于2018年10月18日成立的贵州本地企业&#xff0c;已经在绝缘材料领域崭露头角。乾辰谷材不仅在成立短短几年内实现了快速成长&#xff0c;更以其科技创新能力和卓越产品性能赢得了业界和用户的广泛赞誉。 乾辰谷材的创始人王金斗先生&…