日志内容的显示方法及装置与流程

文档序号:11677570阅读:177来源:国知局
日志内容的显示方法及装置与流程

本发明涉及云计算领域,具体而言,涉及一种日志内容的显示方法及装置。



背景技术:

云计算管理平台openstack是基础设施即服务iaas的云计算解决方案,以它的完全开源、易拓展而得到业界越来越多的关注。

由于openstack是多节点,多组件协作,当openstack出现操作失败时,通常只能通过命令的显示结果及日志来定位失败的原因;而openstack的日志是分节点分组件记录,并且当达到一定量时会压缩为gz文件存档,因此当openstack出现操作失败的时候,需要有丰富的专业知识和熟练的linux使用技巧,才能从跨物理节点的,分散杂乱的日志中查找到操作失败的可能原因。

以相对简单的虚拟机部署失败原因查找为例,通常的做法是:用novashow命令根据虚拟机id查看虚拟机所在计算节点的名称、用novahypervisor-list和novahypervisor-show命令查找相应计算节点的ip,如果novashow命令显示虚拟机所在计算节点不空,则ssh到相应计算节点上,根据虚拟机id在nova-compute.log中查找日志;如果nova-compute.log中显示与libvirt有关,则使用novashow查找虚拟机的libvirtinstancename,并使用virsh查看和在libvirt.log中进行查询,如果novashow命令显示虚拟机所在计算节点为空,则在控制节点nova-scheduler.log中查找日志,如果是cell环境,需要分别到apicell(顶层cell)和各子cell上查找,如果novashow命令显示结果为空,则到控制节点上nova-api.log和nova-conductor.log中查找日志

申请人发现,相关技术在查找日志时存在以下缺陷:需要根据openstack命令显示结果来决定去哪个节点哪个日志文、件中查找,这需要有较丰富的专业知识、需要经过多次openstack命令与日志查找才能最终得到结果、在日志文件中查找时,常用的tail、grep等linux命令只能进行、简单提取和筛选,通常要加入很多的人眼判断、当一个操作失败的结果,可能是底层或其它组件的原因导致时,日志中不一定会直接反映这个结果,需要通过反复查询比对同时段的各组件日志来发现可能的失败原因、当节点数较多,或日志文件可能已经压缩为gz文件存档时,查找的工作量将大大增加

针对相关技术在云计算管理平台出现错误时,查找错误原因工作量大而导致效率低的技术问题,目前尚未发现有效的解决方法。



技术实现要素:

本发明提供了一种日志内容的显示方法及装置,以至少解决相关技术中在云计算管理平台的日志文件中查找错误原因效率低的问题。

根据本发明的一个方面,提供了一种日志内容的显示方法,包括:获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与所述状态信息对应的日志文件追溯路径;在所述云计算管理平台出现错误事件时,依据预设规则搜索与所述错误事件相关联的日志文件;将所述相关联的日志文件中表征所述错误事件的日志内容进行显示。

进一步地,所述依据预设规则搜索与所述错误事件相关联的日志文件包括:解析所述错误事件得到发生所述错误事件的组件的类型,以及所述错误事件的类型,其中,所述云计算管理平台的所述各个组件的类型包括以下至少之一:控制节点、计算节点、网络、存储设备,所述错误事件的类型包括以下至少之一:服务失败、组件故障;搜索与所述组件的类型相关联的组件的日志文件,以及搜索与所述错误事件的类型相关联的组件的日志文件。

进一步地,所述依据预设规则搜索与所述错误事件相关联的日志文件包括:获取发生所述错误事件时所述云计算管理平台的系统时间;搜索时间戳与所述系统时间相同的指定日志文件,其中,所述时间戳为所述云计算管理平台写入日志文件的时间;将所述指定日志文件中包含预定错误关键字的目标日志文件确定为与所述错误事件相关联的日志文件。

进一步地,在依据预设规则搜索与所述错误事件相关联的日志文件之前,所述方法还包括:设置所述云计算管理平台上多个组件之间的关联规则,和/或,设置所述云计算管理平台上多个错误事件分别与组件之间的关联规则,其中,所述预设规则包括所述多个组件之间的关联规则和/或所述多个错误事件分别与组件之间的关联规则。

进一步地,所述将所述相关联的日志文件中表征所述错误事件的日志内容进行显示包括:解析所述相关联的日志文件得到包括所述错误事件的错误原因和对应解决方案的日志内容,并将包括所述错误原因和对应解决方案的所述日志内容进行显示;和/或将所述相关联的日志文件中表征所述错误事件的日志内容进行标注后进行显示。

根据本发明的另一方面,提供了一种日志内容的显示装置,包括:获取模块,用于获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与所述状态信息对应的日志文件追溯路径;搜索模块,用于在所述云计算管理平台出现错误事件时,依据预设规则搜索与所述错误事件相关联的日志文件;显示模块,用于将所述相关联的日志文件中表征所述错误事件的日志内容进行显示。

进一步地,所述搜索模块包括:解析单元,用于解析所述错误事件得到发生所述错误事件的组件的类型,以及所述错误事件的类型,其中,所述云计算管理平台的所述各个组件的类型包括以下至少之一:控制节点、计算节点、网络、存储设备,所述错误事件的类型包括以下至少之一:服务失败、组件故障;第一搜索单元,用于搜索与所述组 件的类型相关联的组件的日志文件,以及搜索与所述错误事件的类型相关联的组件的日志文件。

进一步地,所述搜索模块包括:获取单元,用于获取发生所述错误事件时所述云计算管理平台的系统时间;第二搜索单元,用于搜索时间戳与所述系统时间相同的指定日志文件,其中,所述时间戳为所述云计算管理平台写入日志文件的时间;确定单元,用于将所述指定日志文件中包含预定错误关键字的目标日志文件确定为与所述错误事件相关联的日志文件。

进一步地,所述装置还包括:设置模块,用于在依据预设规则搜索与所述错误事件相关联的日志文件之前,设置所述云计算管理平台上多个组件之间的关联规则,和/或,设置所述云计算管理平台上多个错误事件分别与组件之间的关联规则,其中,所述预设规则包括所述多个组件之间的关联规则和/或所述多个错误事件分别与组件之间的关联规则。

进一步地,所述显示模块包括:第一显示单元,用于解析所述相关联的日志文件得到包括所述错误事件的错误原因和对应解决方案的日志内容,并将包括所述错误原因和对应解决方案的所述日志内容进行显示;和/或第二显示单元,用于将所述相关联的日志文件中表征所述错误事件的日志内容进行标注后进行显示。

通过本发明,采用获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与所述状态信息对应的日志文件追溯路径,在所述云计算管理平台出现错误事件时,依据预设规则搜索与所述错误事件相关联的日志文件,然后将所述相关联的日志文件中表征所述错误事件的日志内容进行显示,解决了相关技术中在云计算管理平台的日志文件中查找错误原因效率低的问题,实现了错误事件与日志文件的关联,进而提高了在云计算管理平台出现错误时查找错误原因的效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的日志内容的显示方法的流程图;

图2是根据本发明实施例的日志内容的显示装置的结构框图;

图3是根据本发明实施例的日志内容的显示装置的可选结构框图一;

图4是根据本发明实施例的日志内容的显示装置的可选结构框图二;

图5是根据本发明实施例的日志内容的显示装置的可选结构框图三;

图6是根据本发明实施例的日志内容的显示装置的可选结构框图四;

图7是根据本发明可选实施例的openstack多节点部署示意图;

图8是根据本发明可选实施例的模块交互示意图;

图9是根据本发明可选实施例的检测流程图;

图10是根据本发明可选实施例的日志分析模块关联分析示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

在本实施例中提供了一种日志内容的显示方法,图1是根据本发明实施例的日志内容的显示方法的流程图,如图1所示,该流程包括如下步骤:

步骤s102,获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与状态信息对应的日志文件追溯路径;

在本实施例中,云计算管理平台openstack通过一个或多个节点进行部署,而节点又包括控制节点和计算节点,控制节点还可以加入ha控制,这样控制节点又分为活动节点(主用节点)和备用节点,节点之间通过网络进行通信连接,云计算管理平台的各类信息通过存储设备进行保存,这些都是属于云计算管理平台的组件,各个组件的活动状态,包括创建、结束、组件之间的关联事件等,如组件、网络、存储设备的磁阵连接等状态,都会产生对应的状态信息,生成日志文件,这些日志文件可以保存在各个组件本地,也可以上传到关联的设备。

获取云计算管理平台上各个组件生成或者已经保存的日志文件,由于组件的状态信息与其他组件或者组件自身的状态关联,还可以根据组件的状态信息得到日志文件的追溯路径,该追溯路径表示从该组件的状态信息到相关联的其他组件或者组件内的其他结构的关联路径。

步骤s104,在云计算管理平台出现错误事件时,依据预设规则搜索与错误事件相关联的日志文件;

可选的,在云计算管理平台的组件出现错误事件时,如组件故障、连接超时等,组件会主动上报错误事件或者报警信息,云计算管理平台也可以按照一定周期主动监测各个组件的工作状态,当云计算管理平台出现错误事件时,就需要尽快找到错误原因并修复错误故障,以减少故障带来的问题,提升用户的使用体验,本实施例通过依据预设规则在云计算管理平台的日志文件中搜索关联日志文件并查找错误原因,大大减少了通过 人工分析来得到错误事件的错误原因的时间,可选的,预设规则包括上述追溯路径。

步骤s106,将相关联的日志文件中表征错误事件的日志内容进行显示。

可选的,在搜索到相关联的日志文件后,将日志文件中表征错误事件的日志内容进行显示,不用显示全部的日志文件或者重复的日志内容,还可以对日志内容进行解析,直接生成错误原因和解决方案,以使用户可以在最短的时间找到错误的原因。

通过本实施例,采用获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与状态信息对应的日志文件追溯路径,在云计算管理平台出现错误事件时,依据预设规则搜索与错误事件相关联的日志文件,然后将相关联的日志文件中表征错误事件的日志内容进行显示,解决了相关技术中在云计算管理平台的日志文件中查找错误原因效率低的问题,实现了错误事件与日志文件的关联,进而提高了在云计算管理平台出现错误时查找错误原因的效率。

在根据本实施例的可选实施方式中,依据预设规则搜索与错误事件相关联的日志文件可以通过两种方式来实现,分别是强关联搜索方式和弱关联搜索方式,可以分别适用不同的场景,也可以同时适用,提高搜索的精确度。

其中,可以将强关联的搜索方式作为优选的搜索方式,包括:

s11,解析错误事件得到发生错误事件的组件的类型,以及错误事件的类型,其中,云计算管理平台的各个组件的类型包括以下至少之一:控制节点、计算节点、网络、存储设备,错误事件的类型包括以下至少之一:服务失败、组件故障;

可选的,可以解析错误事件,得到错误事件的类型和发生错误事件的组件类型,即组件对象的类型,具体的,根据错误事件中出错对象关键字进行检测,首先以强关联的方式,判断组件对象的类型,如判断是何种组件,如控制节点、计算节点、网络、存储设备,在解析到组件类型后,还可以进行进一步的追溯,如解析计算节点具体对象,是虚拟机还是镜像等,是控制节点的活动节点还是备用节点,同时还可以解析错误事件的类型,如服务失败,组件故障等。

s12,搜索与组件的类型相关联的组件的日志文件,以及搜索与错误事件的类型相关联的组件的日志文件。

在搜索关联的日志文件的过程中,可以搜索与组件的类型相关联的组件的日志文件和与错误事件的类型相关联的组件的日志文件,进行逐级关联查找,下面通过具体的示例进行说明:如果错误对象是虚拟机,需要查找所有计算节点;如错误事件提示与底层libvirt有关,则根据对象id转换成libvirt的instanceid,查询libvirt和qemu相关日志;如错误事件提示为网络接口绑定失败,则查询neutronagent状态,如neutronagent状态不正确,则按对应的规则查找neutronagent不正确的可能原因,如此逐级追溯,直到找到最终的可能原因;如果错误对象是云硬盘,则在云硬盘的日志文件中判断是否磁阵返 回的错误,如是磁阵返回的错误,根据错误码查询出错信息,必要时可以把云硬盘id转换成磁阵上的虚拟盘id,登录磁阵查询相关状态;如对象是其它类型,同理根据相应的业务逻辑进行日志追溯。

弱关联的搜索方式作为日志文件搜索方式的一种补充和可选方式,弱关联的搜索方式包括:

s21,获取发生错误事件时云计算管理平台的系统时间;

系统时间可以是云计算管理平台的控制节点的时间,也可以是组件的系统时间。

s22,搜索时间戳与系统时间相同的指定日志文件,其中,该时间戳为云计算管理平台写入日志文件的时间;

可选的,按照与发生错误事件同步的原则,时间戳也可以是该云计算管理平台创建或者生成日志文件的时间。

s23,将指定日志文件中包含预定错误关键字的目标日志文件确定为与错误事件相关联的日志文件。

预定错误关键字可以是组件日志文件中的error、fail等字样,通过时间和预定的字样搜索和提取日志文件,然后在提取的日志文件中查找出与失败原因相关的日志内容。

在根据本实施例的可选实施方式中,在依据预设规则搜索与错误事件相关联的日志文件之前,方法还包括:设置云计算管理平台上多个组件之间的关联规则,设置云计算管理平台上多个错误事件分别与组件之间的关联规则,其中,预设规则包括多个组件之间的关联规则、多个错误事件分别与组件之间的关联规则。

在本实施例中,配置搜索关联日志文件的关联规则,包括多个组件之间的关联规则和错误事件与组件之间的关联规则,通过配置关联规则,一旦解析到错误事件的类型和发生错误事件的组件,就可以按照预设的规则去搜索。具体的管理规则可以包括:

设置虚拟机失败的错误事件到计算节点的关联,涉及虚拟机的失败可能需要查询所有计算节点;设置故障与主备倒换有关的错误事件的关联,涉及主备倒换有关的故障需要分别查询主备节点日志;设置openstack各服务节点到自身的关联,服务不正常,可能是服务节点自身故障的原因;设置物理机到物理机网络、cpu、内存等的关联,涉及物理机本身的异常,可能是网络、cpu、内存等失败;设置云硬盘相关的失败到磁阵业务口的关联,云硬盘相关的失败可能与磁阵业务口状态有关;设置系统错误到系统残留的错误资源的关联,残留的错误资源可能反映出系统某一段时间内的不正常,也可能是导致本次操作失败的原因;设置组件到配置项的关联,组件故障可能与配置文件有关,则进行相应的配置项检查;设置组件到接收命令的关联,错误事件可能与组件执行的openstack命令有关,openstack命令的发送与openstack状态有关,在搜索关联日志文件时,可以按照上述关联顺序依次追溯日志文件。

可选的,还可以设置对分析日志文件的参数进行设置的预设规则,包括设置各个组件对象的标识,表征错误事件的日志文件关键字,最多查询的日志文件条数,是否查询归档的日志文件,是否只显示日志的有意义部分等。

在根据本实施例的可选实施方式中,将相关联的日志文件中表征错误事件的日志内容进行显示可以通过以下两种可选的方式实现:

方式1,解析相关联的日志文件得到包括错误事件的错误原因和对应解决方案的日志内容,并将包括错误原因和对应解决方案的日志内容进行显示;

在通过上述强关联的搜索方式和弱关联的搜索方式搜索到日志文件后,还可以对日志文件进行处理后进行显示,具体的过程可以包括:根据解析规则解析日志文件,解析规则包含了事件错误的原因和解决方案说明,例如:如果虚拟机创建失败的日志内容为“novalidhostwasfound”,根据日志分析得到的错误原因为计算节点服务不可用,则可以显示结果为:“由于计算节点服务不可用导致虚拟机创建失败”。

方式2,将相关联的日志文件中表征错误事件的日志内容进行标注后进行显示。

可选的,如果没有解析到明确对应的错误原因,或者预设的解析规则中没有包括对应于错误事件的错误原因或解决方案。可以直接对日志文件进行优化显示,具体包括:判断每条日志与上一条日志的相似度,如果超过预设阈值,如90%,则认为是重复日志,重复部分只显示一次,其余部分以“…”替代;日志中如果包含error、fail等字样,用红色进行标注后显示,表示需要特别关注,其它如操作步骤、状态等以橙色显示,重复日志以黄色显示,表示一般可以忽略;日志的固定格式部分,例如req-id,可以截断不显示,只显示日志有意义的部分,也可以显示完整的日志,即重复日志和req-id等日志固定格式部分全部原样显示。

在此需要说明的是,在条件适用的场景下,上述方式1和方式2两种方式也可以结合使用。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。

在本实施例中还提供了一种日志内容的显示装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图2是根据本发明实施例的日志内容的显示装置的结构框图,如图2所示,该装置包括:获取模块20、搜索模块22、显示模块24,其中,

获取模块20,用于获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与状态信息对应的日志文件追溯路径;

搜索模块22,用于在云计算管理平台出现错误事件时,依据预设规则搜索与错误事件相关联的日志文件;

显示模块24,用于将相关联的日志文件中表征错误事件的日志内容进行显示。

图3是根据本发明实施例的日志内容的显示装置的可选结构框图一,如图3所示,该装置除包括图2所示的所有模块外,搜索模块22还包括:解析单元30、第一搜索单元32,其中,

解析单元30,用于解析错误事件得到发生错误事件的组件的类型,以及错误事件的类型,其中,云计算管理平台的各个组件的类型包括以下至少之一:控制节点、计算节点、网络、存储设备,错误事件的类型包括以下至少之一:服务失败、组件故障;

第一搜索单元32,用于搜索与组件的类型相关联的组件的日志文件,以及搜索与错误事件的类型相关联的组件的日志文件。

图4是根据本发明实施例的日志内容的显示装置的可选结构框图二,如图4所示,该装置除包括图2所示的所有模块外,搜索模块22还包括:获取单元40、第二搜索单元42、确定单元44,其中,

获取单元40,用于获取发生错误事件时云计算管理平台的系统时间;

第二搜索单元42,用于搜索时间戳与系统时间相同的指定日志文件,其中,时间戳为云计算管理平台写入日志文件的时间;

确定单元44,用于将指定日志文件中包含预定错误关键字的目标日志文件确定为与错误事件相关联的日志文件。

图5是根据本发明实施例的日志内容的显示装置的可选结构框图三,如图5所示,该装置除包括图2所示的所有模块外,装置还包括:设置模块50,用于在依据预设规则搜索与错误事件相关联的日志文件之前,设置云计算管理平台上多个组件之间的关联规则,和/或,设置云计算管理平台上多个错误事件分别与组件之间的关联规则,其中,预设规则包括多个组件之间的关联规则和/或多个错误事件分别与组件之间的关联规则。

图6是根据本发明实施例的日志内容的显示装置的可选结构框图四,如图6所示,该装置除包括图2所示的所有模块外,显示模块24包括:第一显示单元60、第二显示单元62,其中,

第一显示单元60,用于解析相关联的日志文件得到包括错误事件的错误原因和对应解决方案的日志内容,并将包括错误原因和对应解决方案的日志内容进行显示;

第二显示单元62,用于将相关联的日志文件中表征错误事件的日志内容进行标注后进行显示。

在此需要说明的是,第一显示单元60和第二显示单元62可以同时设置在显示模块24中,也可以只设置其中之一在显示模块24中。

下面结合根据本申请的可选实施例进行详细说明:

图7是根据本发明可选实施例的openstack多节点部署示意图,如图7所示,openstack多节点部署,可以包含多个控制节点,网络、存储等组件分布在各控制节点上,每个控制节点都加入ha控制(分为活动节点和备用节点),另有多个计算节点。本可选实施例的装置的分析入口,为keystone所在节点ip。

图8是根据本发明可选实施例的模块交互示意图,如图8所示,包括:参数配置模块80、状态检测模块82、日志分析模块84、日志显示模块86,其中参数配置模块80是其它所有模块工作的前置条件,状态检测模块82的输出提供给日志分析模块84作为进一步查询的参考因素,日志分析模块84的输出提供给日志显示模块86,进行优化显示输出。具体如下:

参数配置模块80:用于对日志分析的一些参数进行设置,包括要查询的对象关键字,最多查询的日志条数,是否查询归档的日志文件,是否只显示日志的有意义部分等;

状态检测模块82:用于检测openstack各服务、网络、磁阵连接等各方面的状态,结果提供给日志分析模块,作为日志追溯路径的参考因素;根据日志分析模块的需要,对相关配置项进行检查,执行相应的openstack命令等;

日志分析模块84:内置业务逻辑关联规则,用于根据出错对象关键字,结合状态检测结果,首先以强关联的方式,判断对象类型(虚拟机、云硬盘、镜像,或其它),转换id关键字为各组件对应的内部id,然后按id关键字,以及相同的请求id,根据特定的业务逻辑进行逐级追溯查询;其次以弱关联的方式,按相同的时间段查询各组件日志中error、fail等字样,提取出与失败原因可能相关的日志部分。

日志显示模块86:内置日志内容解析规则,用于如果日志内容有相对应的解析规则,则按解析后的错误原因和建议解决方案进行显示;否则直接对结果日志进行优化显示,包含fail或error字样的日志以红色显示,其余如操作步骤、状态等以橙色显示,与上一条基本重复的日志可以压缩并以黄色显示,相同部分以“…”代替。

可选的,参数配置模块80可以设置openstackkeystone节点ip,对象关键字,如openstack操作失败的对象id,或一次请求的req-id,或一段错误信息,或时间点,最多查询的日志条数,如果失败刚发生,条数可以取少一点,以加快查询速度,是否查询归 档的日志文件,如果失败刚发生,可以不查询归档的日志文件,以加快查询速度,是否只显示日志的有意义部分,可以选择不显示openstack日志的固定格式部分,例如req-id等,以及以省略号来替代显示日志的重复部分,使日志显示结果更为人性化。

图9是根据本发明可选实施例的检测流程图,如图9所示,包括:

s901,获取各组件的endpoint服务ip;

s902,获取所有计算节点ip;

s903,获取openstack各服务状态;

s904,获取物理机网络、cpu、内存等状态;

s905,获取磁阵业务口状态;

s906,获取系统是否有残留的错误资源。

本实施例所述装置的状态检测模块82,对openstack整体运行状态进行检查,如发现有异常,可以作为下一步日志查询路径的参考因素。可选的,状态检测内容可以包括:

获取各组件的endpoint服务ip,以决定哪个组件到哪个节点上取日志;

获取所有计算节点ip,涉及虚拟机的失败可能需要查询所有计算节点;

获取双机ha的节点ip,假如故障与主备倒换有关,需要分别查询主备节点日志;

获取openstack各服务状态,假如有服务不正常,可能是失败原因之一;

获取物理机网络、cpu、内存等状态,假如有物理机本身的异常,可能是失败原因之一;

获取磁阵业务口状态,云硬盘相关的失败可能与此有关;

获取系统是否有残留的错误资源,残留的错误资源可能反映出系统某一段时间内的不正常,也可能是导致本次操作失败的原因之一;

检查配置项是否正确,如日志分析结果可能与配置文件有关,则进行相应的配置项检查;

执行相应的openstack命令,如日志分析结果可能与某些openstack状态有关,执行相应的openstack命令并获取结果。

图10是根据本发明可选实施例的日志分析模块关联分析示意图,如图10所示,本实施例的日志分析模块84,内置业务逻辑关联规则,关联规则包含了对象与对象、错误与对象之间的关联关系,例如:虚拟机与libvirt可能有关,虚拟机与nova-compute服务状态可能有关,虚拟机与网络可能有关,虚拟机与存储可能有关;连接拒绝与服务状态 可能有关,连接拒绝与数据库最大连接数可能有关;云硬盘与磁阵连接状态可能有关;云硬盘与磁阵错误码可能有关,云硬盘与本地设备路径可能有关;网络接口绑定失败与neutronagent状态可能有关;neutronagent状态与配置文件可能有关,neutronagent状态与neutronserver实例个数可能有关。等等。内置的业务逻辑关联规则中还包含对一些错误返回码的解析,例如磁阵的错误码。

如图10所示,本可选实施例的日志分析模块84,其关联分析方法分为两类,可以同时使用。第一类是强关联,按关键字和特定的业务逻辑进行关联和抽取,例如如果是虚拟机id,则把相应的libvirtinstancename查询出来,再以libvirtinstancename去查询libvirt的日志;第二类是弱关联,按时间点和常规逻辑进行关联,例如当发生一个虚拟机创建失败错误时,把同一时间点所有组件中包含error、fail、exception、traceback等字样的日志关联取出,因有可能是其它组件的错误导致虚拟机创建失败。

本可选实施例的日志分析模块84,在使用强关联分析时,首先根据对象id从日志中获取相应的请求id,扩充查询关键字列表增加请求id;其次判断对象类型,根据内置的业务逻辑关联规则,逐级关联查找。例如:如果对象是虚拟机,需要查找所有计算节点,如错误提示与底层libvirt有关,则根据对象id转换成libvirt的instanceid,查询libvirt和qemu相关日志;如错误提示为网络接口绑定失败,则查询neutronagent状态,如neutronagent状态不正确,则按对应的规则查找neutronagent不正确的可能原因,如此逐级追溯,直到找到最终的可能原因;如果对象是云硬盘,需要判断是否磁阵返回的错误,如是磁阵返回的错误,根据错误码查询出错信息,必要时可以把云硬盘id转换成磁阵上的虚拟盘id,登录磁阵查询相关状态;如对象是其它类型,同理根据相应的业务逻辑进行日志追溯。

可选的,日志分析模块84在没有发现明确的对象id时,也可以输入一次请求的req-id,或一段错误信息,或一个时间点,此时主要是获取相同req-id的日志,以及相同时间段的日志。对于强关联分析中没有得出明确结论的情形,也会继续进行弱关联分析,输出相关的日志供人工分析使用。

本实施例的日志分析模块,根据参数配置模块的输入,可以决定取日志的条数,如果失败操作刚刚发生,可以配置条数少一点,以加快查询速度;根据参数配置模块的输入,如果需要检查已归档日志,则在所有已压缩归档的gz日志文件中进行查询。

可选的,日志显示模块86内置日志内容解析规则,解析规则包含了对一些明确错误的原因和解决方案说明,例如:如果虚拟机创建失败的错误信息为“novalidhostwasfound”,根据日志分析得到的错误原因为计算节点服务不可用,则显示结果为:由于计算节点服务不可用导致虚拟机创建失败。若没有明确对应的错误原因,则直接对日志分析模块输出的结果日志进行优化显示:判断每条日志与上一条日志的相似度如果超过90%,则认为是重复日志,重复部分以…显示;日志中如果包含error、fail等字样,以红色显示,表示需要特别关注,其它如操作步骤、状态等以橙色显示,重复日志以黄色 显示,表示一般可以忽略;日志的固定格式部分,如req-id,可以截断不显示,只显示日志有意义的部分,根据参数配置模块的输入,也可以显示完整的日志,即重复日志和req-id等日志固定格式部分全部原样显示。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:

s1,获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与状态信息对应的日志文件;

s2,在云计算管理平台出现错误事件时,依据预设规则搜索与错误事件相关联的日志文件;

s3,将相关联的日志文件中表征错误事件的日志内容进行显示。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行获取用于标识云计算管理平台上各个组件的状态的状态信息并生成与状态信息对应的日志文件;

可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行在云计算管理平台出现错误事件时,依据预设规则搜索与错误事件相关联的日志文件;

可选地,在本实施例中,将相关联的日志文件中表征错误事件的日志内容进行显示。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1