一种网络故障根因分析方法、终端设备及存储介质与流程

    专利查询2022-07-07  122



    1.本技术涉及网络故障分析的技术领域,尤其是涉及一种网络故障根因分析方法、终端设备及存储介质。


    背景技术:

    2.企业中经常会遇到生产环境出现故障,当发生故障时会导致很多监控指标异常。目前网络监控系统的网络故障大多基于网络日志和流量采集两种方案,分别根据日志中的关键字和流量超限来触发故障报警。
    3.针对上述中的相关技术,发明人认为,通过日志中的关键字或者通过流量监控获得的故障报警,并不能准确反应网络故障,由于网络连接关系比较复杂,当一台核心交换机故障时,与交换机互联的多个设备也会触发网络链路的相关报警,导致大量的报警邮件轰炸,监控人员无法根据报警准确知道故障原因,需要花费大量时间去进行人工排查。


    技术实现要素:

    4.为了减少监控人员的排查时间及排查范围,快速定位故障根因,本技术提供一种网络故障根因分析方法、终端设备及存储介质。
    5.第一方面,本技术提供一种网络故障根因分析方法,采用如下的技术方案:一种网络故障根因分析方法,包括以下步骤:采集初始数据,所述初始数据包括系统日志、操作日志及业务数据;从所述系统日志中获取多个报警事件,基于所述报警事件确定故障时间段;结合所述业务数据对多个所述报警事件进行特征分析,确定初始故障根因;对所述初始故障根因和所述操作日志进行操作分析,确定最终故障根因;将所述最终故障原因保存至预设的故障数据仓库。
    6.通过采用上述技术方案,获取系统日志中的报警事件,通过采集故障时间段内的业务数据,从多个方面进行分析,确定设备故障的初始故障根因,即硬件原因,能够准确定位;通过采集故障时间段内的操作日志与初始故障根因进行分析,能够确定最终故障根因是由于运维人员操作不当导致的或者是硬件自身故障导致的。在多处报警事件发生时,本技术能够减少了监控人员的排查时间及排查范围,提高了故障处理效率,降低了设备故障导致的损失。
    7.可选的,所述从所述系统日志中获取多个报警事件包括以下步骤:基于所述系统日志构建故障模板;基于所述故障模板从所述系统日志中提取报警事件。
    8.通过采用上述技术方案,根据新接收的系统日志构建故障模板,能够快速定位海量系统日志中的报警事件。
    9.可选的,所述基于所述系统日志构建故障模板包括以下步骤:从所述系统日志中获取样本日志;
    从所述样本日志中提取特征词;基于所述特征词构建故障模板。
    10.可选的,所述结合所述业务数据对所述报警事件进行特征分析,确定初始故障原因包括以下步骤:确定多个所述报警事件的故障等级;获取故障时间段内业务数据的真实值与预测值,基于所述真实值与所述预测值计算所述业务数据的偏离度;获取构成所述报警事件的子维度的异常相似度;基于所述故障等级、所述偏离度以及所述异常相似度确定初始故障根因。
    11.通过采用上述技术方案,采集故障时间段内的业务数据,从时间关联性、依赖关联性以及级别关联性多个方面进行分析,选择影响力高、业务数据偏离度大且异常相似度高的报警事件为初始故障根因,预测故障根因,具有准确性和全面性。
    12.可选的,所述对所述初始故障根因和所述报警事件进行操作分析,确定最终故障根因包括以下步骤:基于所述操作日志判断在所述故障时间段内是否执行运维操作;若未执行所述运维操作,则将所述初始故障根因作为最终故障根因;若执行过所述运维操作,则对所述运维操作进行分析,得到分析结果,基于所述分析结果确定最终故障根因。
    13.通过采用上述技术方案,判断最终故障根因是硬件故障或者是运维人员操作不当,方便处理。
    14.可选的,所述对所述运维操作进行分析,得到分析结果,基于所述分析结果确定最终故障根因包括以下步骤:将所述运维操作与预设的操作仓库中的历史操作数据进行比对,确定所述运维操作是否为高危操作;若所述运维操作为高危操作,则确定所述高危操作为所述最终故障根因;若所述运维操作为正常操作,则确定所述初始故障根因为最终故障根因;若所述运维操作为新类别操作,则对所述运维操作进行评级,判断所述运维操作是所述高危操作或者所述正常操作,并保存到预设的操作仓库作为样本。
    15.可选的,所述将所述最终故障原因保存至预设的故障数据仓库包括以下步骤:对最终故障原因进行修正;将所述最终故障原因保存到故障数据仓库。
    16.通过采用上述技术方案,将修正后的最终故障根因存储进故障数据仓库中,随着时间积累,故障数据仓库会越来越丰富,故障定位时间能够进一步缩短,从而能够减少故障排查时间。
    17.第二方面,本技术提供一种终端设备,采用如下的技术方案:一种终端设备,包括存储器、处理器及存储在存储器中并能够在处理器上运行的计算机程序,所述处理器加载并执行计算机程序时,采用了上述的网络故障根因分析方法。
    18.通过采用上述技术方案,通过将上述的网络故障根因分析方法生成计算机程序,并存储于存储器中,以被处理器加载并执行,从而,根据存储器及处理器制作终端设备,方
    便使用。
    19.第三方面,本技术提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,采用了上述的网络故障根因分析方法。
    20.通过采用上述技术方案,通过将上述的网络故障根因分析方法生成计算机程序,并存储于计算机可读存储介质中,以被处理器加载并执行,通过计算机可读存储介质,方便计算机程序的可读及存储。
    附图说明
    21.图1是本技术实施例一种网络故障根因分析方法的整体流程示意图。
    22.图2是本技术实施例一种网络故障根因分析方法中步骤s21-步骤s22的流程示意图。
    23.图3是本技术实施例一种网络故障根因分析方法中步骤s31-步骤s33的流程示意图。
    24.图4是本技术实施例一种网络故障根因分析方法中步骤s41-步骤s44的流程示意图。
    25.图5是本技术实施例一种网络故障根因分析方法中关联树的模型图。
    26.图6是本技术实施例一种网络故障根因分析方法中步骤s51-步骤s53的流程示意图。
    27.图7是本技术实施例一种网络故障根因分析方法中步骤s61-步骤s64的流程示意图。
    28.图8是本技术实施例一种网络故障根因分析方法中步骤s71-步骤s72的流程示意图。
    具体实施方式
    29.以下结合附图1-8对本技术作进一步详细说明。
    30.本技术实施例公开一种网络故障根因分析方法,参照图1,包括以下步骤:s11、采集初始数据,初始数据包括系统日志、操作日志及业务数据;s12、从系统日志中获取多个报警事件,基于报警事件确定故障时间段;s13、结合业务数据对多个报警事件进行特征分析,确定初始故障根因;s14、对初始故障根因和操作日志进行操作分析,确定最终故障根因;s15、将最终故障原因保存至预设的故障数据仓库。
    31.其中,步骤s11中,在互联网运维服务中,采集设备的初始数据,对初始数据进行分析。在本实施例中,初始数据包括系统日志、操作日志以及业务数据,通过日志收集器采集设备的系统日志;通过logstash进行操作日志的采集;业务数据包括但不限于业务流量、业务请求次数、业务成功数等。
    32.其中,步骤s12中,在接收到故障报警后,从系统日志中提取出报警事件进行分析。参照图2,具体包括以下步骤:s21、基于系统日志构建故障模板;
    s22、基于故障模板从系统日志中提取报警事件。
    33.具体地,对系统日志中出现故障报警的情况,可以针对每一个故障报警都构建一个故障模板,即一个故障模板对应一种故障报警事件,以便再次遇到相同的系统日志内容时,能够快速查找故障原因。在本实施例中,当遇到新的系统日志发生故障时,可以通过提取故障的特征词来构建故障模板。参照图3,具体包括以下步骤:s31、对系统日志进行分类,并获取样本日志;s32、从样本日志中提取特征词;s33、基于特征词构建故障模板。
    34.更具体地,在本实施例中,获取到新设备的系统日志时,首先对日志进行分类,提取系统日志中的特征词,并根据特征词的频率来构建日志模板。将设备出现故障时,系统日志中提取到的日志模板作为故障模板。判断过程可以由人工进行。当获取故障模板后,再次获取到相同的系统日志,即可快速匹配到故障模板,并确定该条日志为报警事件。同时,每确定一个新的故障模板,即可将该故障模板进行保存,保存的故障模板越来越多,能够更加全面的涵盖系统的故障,从而能够从海量的系统日志中快速定位报警事件,极大的减少了人工排查的工作量。
    35.更具体地,在同一时间内也可能生成多条报警事件,例如,设备的主机风扇出现故障,则产生一系列连锁反应,生成多个报警事件,如风扇停转、主机cpu温度高、磁盘读取速度变慢等,后续对这些报警事件进行分析,找到最终故障根因。同时根据出现多条报警时间的时间设定故障时间段,在本实施例中,预设故障时间段为5分钟。
    36.其中,步骤s13中,采集故障时间段内的业务数据,结合业务数据的变化来对多个报警事件进行特征分析,从而确定初始故障根因。参照图4,具体包括以下步骤:s41、确定多个报警事件的故障等级;s42、获取故障时间段内业务数据的真实值与预测值,基于真实值与预测值计算业务数据的偏离度;s43、获取构成报警事件的子维度的异常相似度;s44、基于故障等级、偏离度以及异常相似度确定初始故障根因。
    37.具体地,步骤s41中,通过设定报警事件的故障等级,根据设定的故障等级来判断报警事件的影响力。在本实施例中,将报警事件的故障等级设置为5个等级,分别为:紧急、严重、普通、警告和通知,根据历史报警事件数据来构建每一类故障的关联树,关联树中根节点对应的是故障等级最高的报警事件,由故障等级最高的报警事件产生的一系列报警事件为关联树的子节点。首次构建关联树需要人为确认每一个报警事件的故障等级,来以此构建关联树。例如,参照图5,设备的风扇故障,则将风扇故障的报警事件优先级设为严重,并将风扇故障设置为关联树的根节点,风扇故障导致的cpu温度高、电源温度高以及磁盘温度高等作为风扇故障的子节点,并分别定义故障等级为严重、严重、普通,以此构建关联树。当关联树数量足够多后,每类报警事件都能对应一类关联树,从而使得多项报警事件对应到一类关联树中。
    38.具体地,步骤s42中,在故障时间段内获取业务数据的真实值和预测值。以业务增长量为例进行说明,正常情况下业务增长量是10%,即10%为业务增长量的预测值,在故障时间段内业务增长量为1%,1%即为业务增长量的真实值。在本实施例中,获取的业务数据偏离
    度为真实值与预测值的差值。
    39.具体地,步骤s43中,在获取报警事件后,根据关联树来判断构成该报警事件的子维度的异常相似度,在本实施例中,通过子维度的变异系数来衡量各子维度之间的异常程度,且变异系数越小,异常程度越一致。例如,风扇故障,子维度的cpu温度异常,以及电源温度异常,则确定报警事件为风扇故障的异常相似度较高。
    40.具体地,步骤s44中,根据各个报警事件的影响力、偏离度以及异常相似度来对报警数据进行评估,确定影响力高、业务数据偏离度大且异常相似度高的报警事件为初始故障根因。
    41.更具体地,为了对预测初始故障根因的过程进行优化,提高故障预测的准确度,本实施例通过数据预测、剪枝搜索、根因决策以及算法评估四个步骤来进行优化。
    42.数据预测:采用蒙特卡洛书搜索算法以及二阶指数平滑算法;剪枝搜索:通过逐层搜索根因,根据涟漪效应的影响力数值与ps值进行筛选过滤;根因决策:根因排序,通过奥卡姆剃刀修正根因组合;算法评估:对根因输出结果进行分数评估。
    43.通过这四个过程能够对上述故障预测的过程进行优化,减少极端值的影响,并提高时效性和准确性。
    44.其中,步骤s14中,获取初始故障根因,能够定位到出现故障的硬件,但其实在常见的生产故障中,由于硬件老化导致的故障并不多,真正的故障多是由于运维人员操作不当引成的故障。因此在获取初始故障根因后,需要对判断运维人员是否进行过高危操作,得到最终故障根因。参照图6,具体包括以下步骤:s51、基于操作日志判断在故障时间段内是否执行运维操作;s52、若未执行运维操作,则将初始故障根因作为最终故障根因;s53、若执行过运维操作,则对运维操作进行分析,得到分析结果,基于分析结果确定最终故障根因。
    45.具体地,获取到报警事件后,采集发生报警事件前故障时间段内的操作日志,在本实施例中,采集报警事件前5分钟的操作日志。对操作日志进行分析,若在故障时间段内运维人员没有进行过运维操作,则确定故障不是由于操作不当引起的,此时将初始故障根因作为最终故障根因并输出;若在故障时间段内运维人员进行过运维操作,则需要对运维操作进行分析,得到分析结果,并根据分析结果确定最终故障根因。参照图7,具体包括以下步骤:s61、将运维操作与预设的操作仓库中的历史操作数据进行比对,确定运维操作是否为高危操作;s62、若运维操作为高危操作,则确定高危操作为最终故障根因;s63、若运维操作为正常操作,则确定初始故障根因为最终故障根因;s64、若运维操作为新类别操作,则对运维操作进行评级,判断运维操作是高危操作或者正常操作,并保存到预设的操作仓库作为样本。
    46.其中,步骤s61中,运维人员的运维操作会被人工定级后存入预设的操作仓库中,包括高危操作以及正常操作。当运维人员在故障时间段内进行了运维操作后,将该运维操作与操作仓库中的历史操作数据进行比对,若能对应到该运维操作为高危操作,则确定设
    备故障是由于运维人员操作不当导致的,确定最终故障根因是运维人员的运维操作;若能对应到该运维操作为正常操作,则确定运维人员操作无误,设备故障是由于硬件问题导致的,此时确定初始故障根因即为最终故障根因;若未在操作仓库中匹配到对应的历史操作数据,确定该运维操作为新类型操作,此时需要人为对运维操作进行定级,判断是高危操作还是正常操作,若是高危操作,则确定设备故障是由于运维人员操作不当导致的,确定最终故障根因是运维人员的运维操作;若是正常操作,则确定运维人员操作无误,设备故障是由于硬件问题导致的,此时确定初始故障根因即为最终故障根因,并将新类型的运维操作保存至操作仓库中,作为新的样本,以便后续匹配后续的运维操作。
    47.其中,参照图8,步骤s15包括以下步骤:s71、对最终故障原因进行修正;s72、将最终故障原因保存到故障数据仓库。
    48.具体地,在确定最终故障根因后,为了进一步保证最终故障根因的准确性,人工对最终故障根因进行分析修正,将修正后的最终故障根因存储进故障数据仓库中。同时,故障数据仓库和操作仓库可以为同一个,当故障发生时,可优先查询故障数据仓库,匹配样本,从而能够提高故障定位效率。当然,随着时间积累,故障数据仓库会越来越丰富,故障定位时间能够进一步缩短,从而能够减少故障排查时间,减少设备故障带来的不良影响。
    49.本技术实施例一种网络故障根因分析方法的实施原理为:获取系统日志中的报警事件,通过采集故障时间段内的业务数据,从时间关联性、操作关联性、依赖关联性以及级别关联性多个方面进行分析,选择影响力高、业务数据偏离度大且异常相似度高的报警事件为初始故障根因,能够准确定位;通过采集故障时间段内的操作日志,能够确定最终故障根因是由于运维人员操作不当导致的或者是硬件自身故障导致的。本技术是能够在多处报警事件发生时,缩小故障范围,减少了人工故障排查的时间,从而提高了故障处理效率,降低了设备故障导致的损失。
    50.本技术实施例还公开一种终端设备,包括存储器、处理器以及存储在存储器中并能够在处理器上运行的计算机程序,其中,处理器执行计算机程序时,采用了上述实施例中的网络故障根因分析方法。
    51.其中,终端设备可以采用台式电脑、笔记本电脑或者云端服务器等计算机设备,并且,终端设备包括但不限于处理器以及存储器,例如,终端设备还可以包括输入输出设备、网络接入设备以及总线等。
    52.其中,处理器可以采用中央处理单元(cpu),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本技术对此不做限制。
    53.其中,存储器可以为终端设备的内部存储单元,例如,终端设备的硬盘或者内存,也可以为终端设备的外部存储设备,例如,终端设备上配备的插接式硬盘、智能存储卡(smc)、安全数字卡(sd)或者闪存卡(fc)等,并且,存储器还可以为终端设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及终端设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本技术对此不做限制。
    54.其中,通过本终端设备,将上述实施例中的网络故障根因分析方法存储于终端设
    备的存储器中,并且,被加载并执行于终端设备的处理器上,方便使用。
    55.本技术实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例中的网络故障根因分析方法。
    56.其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom)、随机存取存储器(ram)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
    57.其中,通过本计算机可读存储介质,将上述实施例中的网络故障根因分析方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
    58.以上均为本技术的较佳实施例,并非依此限制本技术的保护范围,故:凡依本技术的结构、形状、原理所做的等效变化,均应涵盖于本技术的保护范围之内。
    转载请注明原文地址:https://tc.8miu.com/read-1627.html

    最新回复(0)