CN106130809B - 一种基于日志分析的IaaS云平台网络故障定位方法及*** - Google Patents
一种基于日志分析的IaaS云平台网络故障定位方法及*** Download PDFInfo
- Publication number
- CN106130809B CN106130809B CN201610808973.7A CN201610808973A CN106130809B CN 106130809 B CN106130809 B CN 106130809B CN 201610808973 A CN201610808973 A CN 201610808973A CN 106130809 B CN106130809 B CN 106130809B
- Authority
- CN
- China
- Prior art keywords
- fault
- log
- knowledge
- network failure
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种基于日志分析的IaaS云平台网络故障定位方法及***,包括故障注入模块、日志采集和分析模块、知识生成模块以及故障检测与定位模块,首先通过注入各类典型的网络故障,形成相应的各类故障日志。然后针对各类故障分别采集物理资源、操作***、虚拟机、OpenStack等各层次网络故障相关的日志信息,并对采集到的网络故障日志信息使用Apriori算法进行故障特征挖掘。在此基础上,根据最大频繁项集和支持度、置信度等参数,利用贝叶斯公式生成对应特定网络故障的关联规则和知识。最后,当***再次发生网络故障时,可根据所采集的故障日志并与知识库的关联规则进行对比和分析,从而定位网络故障发生的层次。
Description
技术领域
本发明涉及云计算、计算机网络和数据挖掘领域,特别涉及网络故障检测技术,具体涉及一种基于日志分析的云平台网络故障定位方法。
背景技术
在当今互联网以及大数据应用快速发展的云时代,与云计算结合的各类新型网络应用不断涌现,云计算已经逐渐演变为新型信息化***的主流计算泛型。云计算是并行计算、分布式计算、效用计算以及虚拟化等一系列网络技术和计算技术融合的产物。云计算平台按照提供服务层次的不同通常可分为IaaS、PaaS、SaaS:IaaS(Infrastructure as aService)提供虚拟化服务,即提供虚拟机及相应的虚拟计算、虚拟存储和虚拟网络资源。用户通常关注虚拟机的类型以及相关配置(CPU、内存、磁盘、网络等),虚拟机上层的中间件以及应用由用户自己部署。PaaS(Platform as a Service)提供应用软件的运行环境以及中间件服务,用户往往只关注应用软件的开发及在PaaS中部署相关数据和应用。SaaS(Software as a Service)提供应用软件服务。
作为云计算的支撑基础设施,IaaS云平台提供了弹性、可扩展的基础设施服务,能够给上层应用提供大规模、按需分配的计算服务、存储服务和网络服务。其中,IaaS云平台的网络服务作为其最为核心的服务,是影响各类云应用服务质量的关键。如图1所示,作为当前最流行的云管理平台,Openstack部署在云平台底层物理的计算、存储和网络资源之上,可实现计算、存储和网络资源的统一管理,提供IaaS层的云基础设施统一服务。特别地,Openstack的Nova和Neutron服务组件,对IaaS云平台的虚拟机服务以及网络服务起着至关重要的影响。其中,Nova作为OpenStack的核心服务,管理IaaS云平台中虚拟机的整个生命周期;Neutron提供IaaS云平台网络服务,为虚拟机创建虚拟网络以及与物理网络互联。Openstack已经成为当今工业界和学术界IaaS云平台事实上的部署标准。
然而,随着数据中心IaaS云平台规模的不断扩大,其整体网络拓扑更为复杂,平台节点本身的网络服务也更为脆弱,云平台的网络故障也更加频繁地发生。随着云管理平台OpenStack的部署,当IaaS云平台发生网络故障时,故障根源可能发生在物理资源(如物理机宕机)、操作***(如操作***故障)、虚拟机(如虚拟机故障、配置文件错误)、OpenStack(如Nova、Neutron服务失效)等IaaS云平台的各层次。通过分析故障日志表象,很难直观地定位网络故障的根源,并且每次发生网络故障时,都需要排查各个层次以及各组件的日志,耗费大量的人力物力,取得的效果仍未必好。因此,当IaaS云平台发生网络故障时,如何能够快速准确地定位发生故障的原因,进而帮助快速的修复网络故障就显得十分重要和有意义。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于日志分析的IaaS云平台网络故障定位方法及***,本发明能够诊断和定位网络故障发生的位置。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于日志分析的IaaS云平台网络故障定位方法,包括以下步骤:
步骤1,注入各类典型的网络故障,形成相应的故障日志信息。
步骤2,分别采集步骤1中注入的各类典型的网络故障产生的物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层的网络故障相关的日志信息,对采集到的故障日志信息进行预处理并形成布尔型的故障日志数据,使用Apriori算法进行故障特征挖掘。
步骤3,根据支持度、置信度参数,将故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中。
步骤4,网络故障定位,在网络故障发生时,可根据所采集的故障日志与故障知识库的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
所述步骤1中各类典型的网络故障形成相应的故障日志信息包括物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层网络故障相关的日志信息。所述OpenStack网络服务组件层包括Nova、Neutron、Open vSwitch、Libvirt的故障日志信息。
所述的步骤2中日志信息的采集主要通过将步骤1中形成的故障日志集中式地汇聚到对日志进行数据挖掘的节点上。故障日志信息的预处理包括数据清理、数据规约、数据选择、数据集成,进而生成可以用于Apriori算法进行数据挖掘的布尔型事务数据。主要执行如下步骤:
步骤201,数据清理,主要是消除部分与数据挖掘无关的日志,并对日志中的空缺值通过利用全局变量填写或者用样本均值填写。
步骤202,数据规约,利用正则表达式进行模式匹配,通过描述日志格式的正则表达式,将日志的各个属性分开并对时间戳、日志内容关键字分别进行泛化处理,提取同网络故障相关的关键数据。
步骤203,数据选取,选择与数据挖掘有关的日志属性。
步骤204,数据集成,利用时间窗口的思想将时间间隔很小的日志进行集成,将故障日志信息统一化,并通过格式转换将集成后的关系型日志转换成布尔型事务数据。
步骤205,数据挖掘,利用Apriori算法对日志进行按故障种类的挖掘,生成故障对应的相应的最大频繁项集,Apriori算法的输入是布尔型事务数据,输出是最大频繁项集。
所述的步骤3中将故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识的方法:将步骤2中挖掘的最大频繁项集,根据支持度、置信度参数利用贝叶斯公式生成对应特定网络故障的关联规则和知识,并将这些知识加入到故障知识库中。主要执行如下步骤:
步骤301,参数设定,设置支持度以及置信度参数。
步骤302,知识生成,根据贝叶斯公式,并根据设定的支持度以及置信度参数,生成相应的网络故障知识,并加入到故障知识库中。
所述步骤4定位云平台网络故障发生的层次的方法:根据步骤3中知识库中形成的特定故障知识,当网路故障再次发生时,采集网络故障形成的故障日志,将采集到的故障日志经过步骤2的方法得到形成的布尔型事务数据,进而得出产生故障日志的模块,再根据故障知识库中的知识,按照置信度从大到小的顺序来进行故障定位。
所述步骤4中故障定位包括以下步骤:
步骤401,日志采集,将故障形成的日志集中式地汇聚到对日志进行数据挖掘的节点上,通过对日志包括数据清理、数据规约、数据选择、数据集成操作在内的处理,生成布尔型事务数据,进而得出产生故障日志的模块。
步骤402,故障定位,根据故障知识库中的知识,并结合产生故障日志的模块的信息,按照置信度从大到小的顺序来进行故障定位。
一种基于日志分析的IaaS云平台网络故障定位***,包括故障注入模块、日志采集和分析模块、知识生成模块以及故障检测与定位模块,其中:
故障注入模块,用于注入各类典型的网络故障,形成相应的故障日志信息。所述故障日志信息包括物理资源层故障日志信息、操作***层故障日志信息、虚拟机层故障日志信息以及OpenStack网络服务组件故障日志信息。
日志采集和分析模块,用于采集故障注入模块中形成的故障日志信息一以及根据故障检测与定位模块控制信号采集网络故障发生时的故障日志信息二,对采集到的故障日志信息一、故障日志信息二进行预处理并形成相应的布尔型的故障日志数据一和故障日志数据二,使用Apriori算法对故障日志数据一进行故障特征挖掘。
知识生成模块,用于根据支持度、置信度参数,将日志采集和分析模块得到的故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中。
故障检测与定位模块,用于在网络故障发生时,控制日志采集和分析模块采集网络故障发生时的故障日志信息,并根据日志采集和分析模块得到的布尔型的故障日志数据二与故障知识库中的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
本发明相比现有技术,具有以下有益效果:
(1)实时采集IaaS云平台中各物理资源、虚拟机和OpenStack平台网络组件的日志,通过前期训练可挖掘出云平台中特定网络故障所对应的知识;
(2)在IaaS云平台有未知的网络故障发生时,可以通过故障注入的方式形成特定的故障知识,从而为故障定位提供知识。
(3)在Iaas云平台发生网络故障时,通过将故障相关的日志和已有的故障类型做比对,可以较好地诊断和定位网络故障发生的位置;
(4)模块化的设计使得网络故障定位***的各组件之间耦合度较低可以适应新的需求和扩展。
附图说明
图1为IaaS云平台中网络组件层次图。
图2为本发明实现的IaaS云平台网络故障定位模块交互图。
图3为本发明实现的IaaS云平台网络故障定位流程图。
图4为IaaS云平台中网络组件定位流程示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种基于日志分析的IaaS云平台网络故障定位方法,如图1、3、4所示,包括以下步骤:
步骤1,注入各类典型的网络故障,形成相应的故障日志信息。
各类典型的网络故障形成相应的故障日志信息包括物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层网络故障相关的日志信息。所述OpenStack网络服务组件层包括Nova、Neutron、Open vSwitch、Libvirt的故障日志信息。
步骤2,分别采集步骤1中注入的各类典型的网络故障产生的物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层的网络故障相关的日志信息,对采集到的故障日志信息进行预处理并形成布尔型的故障日志数据,使用Apriori算法进行故障特征挖掘。
通过将步骤1中形成的故障日志集中式地汇聚到对日志进行数据挖掘的节点上。故障日志信息的预处理包括数据清理、数据规约、数据选择、数据集成,进而生成可以用于Apriori算法进行数据挖掘的布尔型事务数据。主要执行如下步骤:
步骤201,数据清理,主要是消除部分与数据挖掘无关的日志,并对日志中的空缺值通过利用全局变量填写或者用样本均值填写。
步骤202,数据规约,利用正则表达式进行模式匹配,通过描述日志格式的正则表达式,将日志的各个属性分开并对时间戳、日志内容关键字分别进行泛化处理,提取同网络故障相关的关键数据。
步骤203,数据选取,选择与数据挖掘有关的日志属性。
步骤204,数据集成,利用时间窗口的思想将时间间隔很小的日志进行集成,将故障日志信息统一化,并通过格式转换将集成后的关系型日志转换成布尔型事务数据。
步骤205,数据挖掘,利用Apriori算法对日志进行按故障种类的挖掘,生成故障对应的相应的最大频繁项集,Apriori算法的输入是布尔型事务数据,输出是最大频繁项集。
步骤3,根据支持度、置信度参数,将故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中。
将步骤2中挖掘的最大频繁项集,根据支持度、置信度参数利用贝叶斯公式生成对应特定网络故障的关联规则和知识,并将这些知识加入到故障知识库中。主要执行如下步骤:
步骤301,参数设定,设置支持度以及置信度参数。
步骤302,知识生成,根据贝叶斯公式,并根据设定的支持度以及置信度参数,生成相应的网络故障知识,并加入到故障知识库中。
步骤4,网络故障定位,在网络故障发生时,可根据所采集的故障日志与故障知识库的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
根据步骤3中知识库中形成的特定故障知识,当网路故障再次发生时,采集网络故障形成的故障日志,将采集到的故障日志经过步骤2的方法得到形成的布尔型事务数据,进而得出产生故障日志的模块,再根据故障知识库中的知识,按照置信度从大到小的顺序来进行故障定位。主要包括以下步骤:
步骤401,日志采集,将故障形成的日志集中式地汇聚到对日志进行数据挖掘的节点上,通过对日志包括数据清理、数据规约、数据选择、数据集成操作在内的处理,生成布尔型事务数据,进而得出产生故障日志的模块。
步骤402,故障定位,根据故障知识库中的知识,并结合产生故障日志的模块的信息,按照置信度从大到小的顺序来进行故障定位。
一种基于日志分析的IaaS云平台网络故障定位***,如图2、4所示,在IaaS云平台的体系结构中,底层为物理节点,节点之间通过以太网进行连接。在物理节点上安装虚拟化软件KVM,对底层物理节点进行虚拟化,实现硬件的虚拟化管理,将分散的服务器计算资源整合为统一管理的资源池。资源池的上层为IaaS平台层,该层主要部署Openstack软件,提供对虚拟机的开启,关闭,重启,快照等管理。最上层为用户接口层,供用户对IaaS服务进行访问。在此IaaS基本结构的基础上,增加故障注入模块、日志采集和分析模块、知识生成模块以及故障检测与定位模块,从而具体定位发生在物理资源层、操作***层、虚拟机层或者OpenStack服务组件(如:Nova、Neutron、Open vSwitch)的网络故障的位置。其中:
故障注入模块,用于注入各类典型的网络故障,形成相应的故障日志信息。所述故障日志信息包括物理资源层故障日志信息、操作***层故障日志信息、虚拟机层故障日志信息以及OpenStack网络服务组件故障日志信息。
在故障注入模块中,根据经验总结得出IaaS云平台的典型网络故障类型,分别注入各类可能导致网络问题的故障:可注入的典型网络故障包括物理资源故障、操作***故障、虚拟机故障、OpenStack故障等,从而形成各类典型的网络故障所对应的故障日志信息,包括了物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件(如:Nova、Neutron、Open vSwitch)的日志信息,以OpenStack的简化版本的DevStack为例,Nova和Neutron等其他大部分的组件的日志统一存放在/opt/stack/logs的目录下。
日志采集和分析模块,用于采集故障注入模块中形成的故障日志信息一以及根据故障检测与定位模块控制信采集网络故障发生时的故障日志信息二,对采集到的故障日志信息一、故障日志信息二进行预处理并形成相应的布尔型的故障日志数据一和故障日志数据二,使用Apriori算法对故障日志数据一进行故障特征挖掘。
在日志采集和分析模块中,根据相关网络故障日志所在文件***中具体的文件位置,对数据中心所有的网络故障日志进行实时采集,采集的日志传输到日志分析的节。根据网络故障日志进行数据清理、数据规约、数据选择以及数据集成等操作后,生成可以用于Apriori算法进行数据挖掘的布尔型事务数据。采用Linux***远程文件拷贝SCP的方式将网络故障日志拷贝到分析节点上。通过正则表达式的方式,统一将操作***日志、OpenStack的日志、Libvert日志、OpenVSwitch日志等格式化成如下的基本格式:<时间戳><日志等级><代码模块><Request ID><日志内容><源代码位置>。在此基础上,通过数据清理主要是消除网络故障知识的数据挖掘无关的日志,并对日志中的空缺值通过利用全局变量填写或者用样本均值填写。通过数据规约,将各个属性的具体值泛化到适合数据挖掘的层次。对于数据规约的结果,选择对后续模块有用的字段,抛弃无用的字段。假设原始网络故障日志如下所示:2015-12-10 20:46:49.671ERROR nova.compute.manager[req-5c973fff-e9ba-4317-bfd9-76678cc96584None None]No compute node record for hostdevstack-controller。
根据以上步骤,对上述日志进行处理得到的结果如下:2015-12-10 20:46nova.compute[5c973fff-e9ba-4317-bfd9-76678cc96584]。
在数据集成时,对于时间间隔很小的故障日志是对应同一个故障的,可以把一个故障导致所有产生故障日志的代码模块集成在一起。最终对于一个特定的网络故障,形成的日志格式为:<序数><代码模块1><代码模块2>……<代码模块x>。
下面的表格描述了通过注入虚拟机层面的10个网络故障,经过上述所有的数据处理之后得到的结果:
<1><os><n-sch><q-dhcp><openvswitch><libvirt> |
<2><os><n-cpu><n-net> |
<3><os><n-cpu><n-sch><q-dhcp><q-l3><openvswitch> |
<4><n-cpu><n-net><q-dhcp><q-l3><openvswitch><libvirt> |
<5><os><n-cpu><openvswitch><libvirt> |
<6><os><n-sch><libvirt> |
<7><os><n-cpu><n-net><q-dhcp><q-l3><openvswitch><libvirt> |
<8><os><n-cpu><n-sch><libvirt> |
<9><os><n-cpu><n-sch><n-net><openvswitch><libvirt> |
<10><os><n-cpu><n-sch><n-net><q-dhcp><q-l3><openvswitch><libvirt> |
其中第一个故障代表着操作***、nova-schedule、neutron-dhcp、openvswitch以及libvirt四个模块会产生错误日志。其他的条目亦类似。由于数据挖掘的Apriori算法要求输入布尔型数据,需要对上述数据进行简单的格式转换。得到的布尔型数据如下表格所示:
Apriori算法的输入是布尔型事务数据,输出是最大频繁项集。易得出对于上述示例数据的最大频繁项集:ABGH。
上述的数据清理主要是消除部分与网络故障知识的数据挖掘无关的日志,并对日志中的空缺值通过利用全局变量填写或者用样本均值填写。数据规约利用正则表达式进行模式匹配,通过描述日志格式的正则表达式,将日志的各个属性分开并对时间戳、日志内容关键字等分别进行泛化处理,提取同网络故障相关的关键数据。数据选取,选择与数据挖掘有关的日志属性。数据集成,利用时间窗口的思想将时间间隔很小的日志进行集成,将故障日志信息统一化,并通过格式转换将集成后的关系型日志转换成布尔型事务数据。
知识生成模块,根据最大频繁项集和支持度、置信度等参数,将日志采集和分析模块得到的故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中。因此其主要执行如下步骤:
步骤1,参数设定。设置支持度以及置信度等参数。
步骤2,知识生成。根据贝叶斯公式,生成相应网络故障知识,并加入到知识库中。
在知识获取模块中,采用贝叶斯条件概率公式:
其中N代表计数,那么如果我们用支持数代替其中的计数N的话,可以得到如下公式:
利用最大频繁项集和相关的参数(如:置信度)来进一步生成关联规则。关联规则的生成规则如下:对于一个频繁项集B,对于它的每个非空子集A,如果有:P(B|A)>min_conf,那么可以生成关联规则:A->B。P(B|A)的值就是该规则的置信度,其中min_conf是最小置信度。
对于示例,设定支持度为0.5(50%),那么支持数为10*0.5=5个。对于之前得到的最大频繁项集ABGH。列举出它的所有非空子集,然后计算其的条件概率,比如:
其他的计算过程类似,这里不一一列举出来,最终得到的概率如下所示:
子集 | A | B | G | H | AB | AG | AH |
概率 | 55.6% | 62.5% | 71.4% | 62.5% | 71.4% | 83.3% | 71.4% |
子集 | BG | BH | GH | ABG | ABH | AGH | BGH |
概率 | 100% | 83.3% | 83.3% | 100% | 100% | 100% | 100% |
如果设定置信度为0.7,可得到如下知识:
1)如果检测到管理虚拟网络的Open vSwitch组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为71.4%。
2)如果检测到Linux操作***以及Nova组件的计算模块Nova-compute产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为71.4%。
3)如果检测到Linux操作***、管理虚拟网络的Open vSwitch组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为83.3%。
4)如果检测到Linux操作***以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为71.4%。
5)如果检测到Nova组件的计算模块Nova-compute、管理虚拟网络的Open vSwitch组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为很大可能性。
6)如果检测到Nova组件的计算模块Nova-compute以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为83.3%。
7)如果检测到管理虚拟网络的Open vSwitch组件以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为83.3%。
8)如果检测到Linux操作***、Nova组件的计算模块Nova-compute、管理虚拟网络的Open vSwitch组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为很大可能性。
9)如果检测到Linux操作***、Nova组件的计算模块Nova-compute以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为很大可能性。
10)如果检测到Linux操作***、管理虚拟网络的Open vSwitch组件以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为很大可能性。
11)如果检测到Nova组件的计算模块Nova-compute、管理虚拟网络的OpenvSwitch组件以及管理虚拟机的Libvirt组件产生错误日志,那么我们可以推断出是虚拟机层面发生了网络故障。置信度为很大可能性。
故障检测与定位模块,用于在网络故障发生时,控制日志采集和分析模块采集网络故障发生时的故障日志信息,并根据日志采集和分析模块得到的布尔型的故障日志数据二与故障知识库中的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
在故障检测与定位模块中,当网路故障再次发生时,根据生成网络故障知识库,可以采集故障日志,经过同样的日志处理程序,得出产生故障日志的网络组件和模块,再根据知识库中的网络故障知识,按照置信度从大到小的顺序实现故障定位。
本发明针对部署OpenStack的IaaS云平台,提供了一种基于日志分析的云平台网络故障定位方法,其流程如图3所示,能够有效解决包括物理资源、操作***、虚拟机、OpenStack等IaaS云平台各层次发生网络故障时的网络故障定位问题。本发明通过注入各类典型的网络故障,形成相应的各类故障日志。针对各类故障分别采集物理资源、操作***、虚拟机、OpenStack等各层次网络故障相关的日志信息,并对采集到的网络故障日志信息使用Apriori算法进行故障特征挖掘。在此基础上,根据最大频繁项集和支持度、置信度等参数,利用贝叶斯公式生成对应特定网络故障的关联规则和知识。当***再次发生网络故障时,可根据所采集的故障日志并与知识库的关联规则进行对比和分析,从而定位网络故障发生的层次。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于日志分析的IaaS云平台网络故障定位方法,其特征在于,包括以下步骤:
步骤1,注入各类典型的网络故障,形成相应的故障日志信息;
步骤2,分别采集步骤1中注入的各类典型的网络故障产生的物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层的网络故障相关的日志信息,对采集到的故障日志信息进行预处理并形成布尔型的故障日志数据,使用Apriori算法进行故障特征挖掘;
步骤3,根据支持度、置信度参数,将故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中;
步骤4,网络故障定位,在网络故障发生时,可根据所采集的故障日志与故障知识库的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
2.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述步骤1中各类典型的网络故障形成相应的故障日志信息包括物理资源层、操作***层、虚拟机层以及OpenStack网络服务组件层网络故障相关的日志信息;所述OpenStack网络服务组件层包括Nova、Neutron、Open vSwitch、Libvirt的故障日志信息。
3.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述的步骤2中日志信息的采集主要通过将步骤1中形成的故障日志集中式地汇聚到对日志进行数据挖掘的节点上;故障日志信息的预处理包括数据清理、数据规约、数据选择、数据集成,进而生成可以用于Apriori算法进行数据挖掘的布尔型事务数据。
4.根据权利要求3所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述的步骤2中生成布尔型事务数据主要执行如下步骤:
步骤201,数据清理,主要是消除部分与数据挖掘无关的日志,并对日志中的空缺值通过利用全局变量填写或者用样本均值填写;
步骤202,数据规约,利用正则表达式进行模式匹配,通过描述日志格式的正则表达式,将日志的各个属性分开并对时间戳、日志内容关键字分别进行泛化处理,提取同网络故障相关的关键数据;
步骤203,数据选取,选择与数据挖掘有关的日志属性;
步骤204,数据集成,利用时间窗口的思想将时间间隔很小的日志进行集成,将故障日志信息统一化,并通过格式转换将集成后的关系型日志转换成布尔型事务数据;
步骤205,数据挖掘,利用Apriori算法对日志进行按故障种类的挖掘,生成故障对应的相应的最大频繁项集,Apriori算法的输入是布尔型事务数据,输出是最大频繁项集。
5.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述的步骤3中将故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识的方法:将步骤2中挖掘的最大频繁项集,根据支持度、置信度参数利用贝叶斯公式生成对应特定网络故障的关联规则和知识,并将这些知识加入到故障知识库中。
6.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述的步骤3中将知识加入到网络故障知识库中主要执行如下步骤:
步骤301,参数设定,设置支持度以及置信度参数;
步骤302,知识生成,根据贝叶斯公式,并根据设定的支持度以及置信度参数,生成相应的网络故障知识,并加入到故障知识库中。
7.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述步骤4定位云平台网络故障发生的层次的方法:根据步骤3中知识库中形成的特定故障知识,当网路故障再次发生时,采集网络故障形成的故障日志,将采集到的故障日志经过步骤2的方法得到形成的布尔型事务数据,进而得出产生故障日志的模块,再根据故障知识库中的知识,按照置信度从大到小的顺序来进行故障定位。
8.根据权利要求1所述的基于日志分析的IaaS云平台网络故障定位方法,其特征在于:所述步骤4中故障定位包括以下步骤:
步骤401,日志采集,将故障形成的日志集中式地汇聚到对日志进行数据挖掘的节点上,通过对日志包括数据清理、数据规约、数据选择、数据集成操作在内的处理,生成布尔型事务数据,进而得出产生故障日志的模块;
步骤402,故障定位,根据故障知识库中的知识,并结合产生故障日志的模块的信息,按照置信度从大到小的顺序来进行故障定位。
9.一种基于日志分析的IaaS云平台网络故障定位***,其特征在于:包括故障注入模块、日志采集和分析模块、知识生成模块以及故障检测与定位模块,其中:
故障注入模块,用于注入各类典型的网络故障,形成相应的故障日志信息;所述故障日志信息包括物理资源层故障日志信息、操作***层故障日志信息、虚拟机层故障日志信息以及OpenStack网络服务组件故障日志信息;
日志采集和分析模块,用于采集故障注入模块中形成的故障日志信息一,以及用于采集根据故障检测与定位模块控制信号采集网络故障发生时的故障日志信息二,对采集到的故障日志信息一、故障日志信息二进行预处理并形成相应的布尔型的故障日志数据一和故障日志数据二,使用Apriori算法对故障日志数据一进行故障特征挖掘;
知识生成模块,用于根据支持度、置信度参数,将日志采集和分析模块得到的故障特征通过贝叶斯公式生成对应特定网络故障的关联规则和知识,并将得到的知识加入到故障知识库中;
故障检测与定位模块,用于在网络故障发生时,控制日志采集和分析模块采集网络故障发生时的故障日志信息,并根据日志采集和分析模块得到的布尔型的故障日志数据二与故障知识库中的关联规则进行对比和分析,从而定位云平台网络故障发生的层次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808973.7A CN106130809B (zh) | 2016-09-07 | 2016-09-07 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610808973.7A CN106130809B (zh) | 2016-09-07 | 2016-09-07 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106130809A CN106130809A (zh) | 2016-11-16 |
CN106130809B true CN106130809B (zh) | 2019-06-25 |
Family
ID=57271248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610808973.7A Active CN106130809B (zh) | 2016-09-07 | 2016-09-07 | 一种基于日志分析的IaaS云平台网络故障定位方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106130809B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106685756B (zh) * | 2016-12-13 | 2020-11-13 | 曙光信息产业(北京)有限公司 | 一种集群的测试方法 |
CN106774087B (zh) * | 2017-01-12 | 2019-07-16 | 河北辛大洲环保科技有限公司 | 基于云计算的电子信息***机房能源管理控制*** |
CN108337100B (zh) * | 2017-01-19 | 2021-07-09 | 中移物联网有限公司 | 一种云平台监测的方法和装置 |
CN108512673B (zh) * | 2017-02-24 | 2021-08-03 | 腾讯科技(深圳)有限公司 | 一种云服务质量监控方法、装置及服务器 |
CN108632057A (zh) * | 2017-03-17 | 2018-10-09 | 华为技术有限公司 | 一种云计算服务器的故障恢复方法、装置及管理*** |
CN109905261A (zh) * | 2017-12-08 | 2019-06-18 | 华为技术有限公司 | 故障诊断方法及装置 |
CN108197016A (zh) * | 2018-01-11 | 2018-06-22 | 上海有云信息技术有限公司 | 一种云平台故障原因分析方法、装置、设备及存储介质 |
CN108830655A (zh) * | 2018-06-19 | 2018-11-16 | 郑州云海信息技术有限公司 | 一种用户操作关系获取方法及相关装置 |
CN109120450A (zh) * | 2018-08-29 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种虚拟化管理平台中neutron网络异常处理的方法及装置 |
CN109495297B (zh) * | 2018-11-05 | 2021-02-02 | 中国电子科技集团公司第二十八研究所 | 基于启发式强化学习的韧性云环境故障注入方法 |
CN110209649B (zh) * | 2019-04-08 | 2021-04-23 | 浙江大学 | 基于关联规则知识库的中央空调***能效实时诊断方法 |
CN110932899B (zh) * | 2019-11-28 | 2022-07-26 | 杭州东方通信软件技术有限公司 | 一种应用ai智能故障压缩研究方法及其*** |
CN111726248A (zh) * | 2020-05-29 | 2020-09-29 | 北京宝兰德软件股份有限公司 | 一种告警根因定位方法及装置 |
CN114385391A (zh) * | 2020-10-22 | 2022-04-22 | 中兴通讯股份有限公司 | 一种nfv虚拟化设备运行数据分析方法及装置 |
CN112257062B (zh) * | 2020-12-23 | 2021-04-16 | 北京金睛云华科技有限公司 | 一种基于频繁项集挖掘的沙箱知识库生成方法和装置 |
CN112822052B (zh) * | 2021-01-08 | 2022-03-29 | 河海大学 | 一种基于网络拓扑和告警的网络故障根因定位方法 |
CN114826876B (zh) * | 2022-01-11 | 2024-05-03 | 杭州金硕信息技术有限公司 | 一种基于日志分析和在线仿真的云服务故障检测***及方法 |
CN118138442A (zh) * | 2024-05-07 | 2024-06-04 | 广东名阳信息科技有限公司 | 一种基于日志数据的网络故障诊断方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227734A (zh) * | 2013-04-27 | 2013-07-31 | 华南理工大学 | 一种OpenStack云平台异常的检测方法 |
CN103684816A (zh) * | 2012-09-04 | 2014-03-26 | 华为技术有限公司 | 资源信息显示方法和装置 |
CN104486406A (zh) * | 2014-12-15 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于云数据中心的分层式资源监控方法 |
CN105051698A (zh) * | 2013-03-28 | 2015-11-11 | 瑞典爱立信有限公司 | 用于基础设施即服务云中故障管理的方法和布置 |
WO2016043780A1 (en) * | 2014-09-19 | 2016-03-24 | Hewlett Packard Enterprise Development Lp | Business resource modeling |
-
2016
- 2016-09-07 CN CN201610808973.7A patent/CN106130809B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103684816A (zh) * | 2012-09-04 | 2014-03-26 | 华为技术有限公司 | 资源信息显示方法和装置 |
CN105051698A (zh) * | 2013-03-28 | 2015-11-11 | 瑞典爱立信有限公司 | 用于基础设施即服务云中故障管理的方法和布置 |
CN103227734A (zh) * | 2013-04-27 | 2013-07-31 | 华南理工大学 | 一种OpenStack云平台异常的检测方法 |
WO2016043780A1 (en) * | 2014-09-19 | 2016-03-24 | Hewlett Packard Enterprise Development Lp | Business resource modeling |
CN104486406A (zh) * | 2014-12-15 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于云数据中心的分层式资源监控方法 |
Non-Patent Citations (1)
Title |
---|
基于日志分析的虚拟化环境故障定位***;田裴 等;《计算机***应用》;20141130;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN106130809A (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106130809B (zh) | 一种基于日志分析的IaaS云平台网络故障定位方法及*** | |
US11316727B2 (en) | Method and system for clustering event messages and manage event-message clusters | |
He et al. | A survey on automated log analysis for reliability engineering | |
US11659020B2 (en) | Method and system for real-time modeling of communication, virtualization and transaction execution related topological aspects of monitored software applications and hardware entities | |
Lin et al. | Microscope: Pinpoint performance issues with causal graphs in micro-service environments | |
Chen et al. | CauseInfer: Automated end-to-end performance diagnosis with hierarchical causality graph in cloud environment | |
US10303539B2 (en) | Automatic troubleshooting from computer system monitoring data based on analyzing sequences of changes | |
Mi et al. | Toward fine-grained, unsupervised, scalable performance diagnosis for production cloud computing systems | |
Wang et al. | Workflow-aware automatic fault diagnosis for microservice-based applications with statistics | |
Kc et al. | ELT: Efficient log-based troubleshooting system for cloud computing infrastructures | |
Wang et al. | Fault detection for cloud computing systems with correlation analysis | |
US11522748B2 (en) | Forming root cause groups of incidents in clustered distributed system through horizontal and vertical aggregation | |
US11765056B2 (en) | Techniques for updating knowledge graphs for correlating service events in computer network diagnostics | |
CN109144813A (zh) | 一种云计算***服务器节点故障监控***及方法 | |
Oliveira et al. | Delivering software with agility and quality in a cloud environment | |
Cheng et al. | Ai for it operations (aiops) on cloud platforms: Reviews, opportunities and challenges | |
Cotroneo et al. | Enhancing failure propagation analysis in cloud computing systems | |
Zhang et al. | Robust failure diagnosis of microservice system through multimodal data | |
Chen et al. | FRL-MFPG: Propagation-aware fault root cause location for microservice intelligent operation and maintenance | |
Ramachandran et al. | Determining configuration parameter dependencies via analysis of configuration data from multi-tiered enterprise applications | |
US20230409710A1 (en) | Allow list of container images based on deployment configuration at a container orchestration service | |
Meng et al. | A generic framework for application configuration discovery with pluggable knowledge | |
Meng et al. | IT troubleshooting with drift analysis in the DevOps era | |
Nemati et al. | Host-based virtual machine workload characterization using hypervisor trace mining | |
He et al. | STEAM: observability-preserving trace sampling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |