用于服务器集群故障诊断的处理方法与流程

文档序号:25543580发布日期:2021-06-18 20:40
用于服务器集群故障诊断的处理方法与流程

本公开涉及服务器集群管理工具领域,并且更具体地,涉及一种用于服务器集群故障诊断的处理方法、处理装置、处理设备和计算机可读存储介质。



背景技术:

随着服务器在各种应用场景中的重要作用所带来的服务器保有量的增加,在服务器不断负载运行的同时,不可避免地会出现各种故障问题。例如,处理器内部错误引起的服务器故障可能导致诸如服务器死机、异常重启等问题。因此,如何有效发现并解决服务器故障问题,即对服务器故障进行自动化识别与处理,对于服务器的正常运行来说非常重要。

其中,随着服务器中硬件故障自动明确化率的提升,对于导致自动诊断失败的故障也愈发关注,然而,由于当前故障自动诊断失败或成功时,服务器均输出指示故障报错的日志,而自动诊断失败的故障相较于自动诊断成功的故障所输出的日志并无相应的显式指示,造成服务器运维人员无法监控自动诊断失败的故障,而是需要对发生故障的所有服务器进行逐台分析以确定发生自动诊断失败故障的服务器,给海量服务器运营带来了极大不便。此外,为了提升自动诊断成功率,需要收集并统计自动诊断失败的案例并反馈至服务器供应商,但是由于难以通过日志快速确定这些案例,而是需要通过穷举所有指示故障报错的日志来从中确定失败的比例,也为数据统计带来一定挑战。

因此,需要一种能够快速高效识别并处理自动诊断失败故障的方法。



技术实现要素:

为了解决上述问题,本公开通过将自动诊断失败的故障通过诊断失败信息进行实时上报并进入自动化处理流程,从而使得自动诊断失败故障处理更加快速且高效。

本公开的实施例提供了涉及一种用于服务器集群故障诊断的处理方法、处理装置、处理设备、和计算机可读存储介质。

本公开的实施例提供了一种用于服务器集群故障诊断的处理方法,包括:响应于所述服务器集群中出现发生灾难性故障的服务器,在所述服务器中执行自动诊断;在所述自动诊断失败的情况下,在所述服务器输出的实时操作信息中添加诊断失败信息,其中,所述诊断失败信息包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障;基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息,并对所述诊断失败信息进行分析;以及基于分析结果,确定对所述服务器的所述故障的处理方式。

本公开的实施例提供了一种用于服务器故障诊断的方法,包括:响应于所述服务器发生灾难性故障,在所述服务器中执行自动诊断;以及在所述自动诊断失败的情况下,在所述服务器输出的实时操作信息中添加诊断失败信息,其中,所述诊断失败信息包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障。

本公开的实施例提供了一种用于服务器集群故障诊断的处理方法,包括:从所述服务器集群中所包括的至少一个发生灾难性故障的服务器接收实时操作信息,其中,所述实时操作信息中包括诊断失败信息,所述诊断失败信息包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障;基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息,并对所述诊断失败信息进行分析;以及基于分析结果,确定对所述服务器的所述故障的处理方式。

本公开的实施例提供了一种用于服务器集群故障诊断的处理装置,包括:信息接收模块,被配置为从所述服务器集群中所包括的至少一个发生灾难性故障的服务器接收实时操作信息,其中,所述实时操作信息中包括诊断失败信息,所述诊断失败信息包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障;故障筛选模块,被配置为基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息;以及线上分析模块,被配置为对所述诊断失败信息进行分析,以及基于分析结果,确定对所述服务器的所述故障的处理方式。

本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。

本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的方法。

本公开的实施例提供了涉及一种用于服务器集群故障诊断的处理方法、处理装置、处理设备、和计算机可读存储介质。

本公开的实施例所提供的用于服务器集群故障诊断的处理方法相比于基于人工分析的处理方法而言,能够快速识别自动诊断失败的案例并及时介入处理,并且对于自动诊断成功和失败的故障均能执行相应的自动化处理,极大节省了人力并提高了处理效率。

本公开的实施例通过对造成自动诊断失败的故障类型进行梳理,将由于信息不全或多部件报错导致无法自动诊断的故障通过诊断失败信息进行实时上报并进入自动化处理流程,从而使得自动诊断失败故障处理更加快速且高效。此外,该处理方法通过在历史操作信息中基于诊断失败信息所包含的关键字来实现对自动诊断结果的区分与统计,提高了数据统计的可行性,并且通过线上系统对接服务器供应商以进行数据的实时反馈与记录,有利于服务器后续版本的自动诊断能力的提升和优化。通过使诊断失败信息所包含的关键字标准化,本公开的实施例所提供的用于服务器集群故障诊断的处理方法在不同厂商、不同类型和不同型号的服务器上具有可适用性。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是示出根据本公开的实施例的针对服务器集群故障的处理场景的示例示意图;

图2是示出根据本公开的实施例的用于服务器故障诊断的方法的流程图;

图3a是示出根据本公开的实施例的自动诊断的示意流程图;

图3b是示出根据本公开的实施例的自动诊断的流程图;

图4a是示出根据本公开的实施例的自动诊断中的寄存器分析过程及结果的示意流程图;

图4b是示出根据本公开的实施例的自动诊断中的寄存器分析过程的流程图;

图5a是示出根据本公开的实施例的用于服务器集群故障诊断的处理方法的流程图;

图5b是示出根据本公开的实施例的故障筛选界面的示意图;

图5c是示出根据本公开的实施例的示例故障不明确分析工单的示意图;

图6是示出根据本公开的实施例的用于服务器集群故障诊断的处理方法的流程图;

图7是示出根据本公开的实施例的用于服务器集群故障诊断的处理装置的示意图;

图8是示出根据本公开的实施例的服务器集群故障诊断处理的示意图;

图9是示出根据本公开的实施例的处理方法实施前后的基于实时操作信息的处理对比的示意流程图;

图10示出了根据本公开的实施例的用于服务器集群故障诊断的处理设备的示意图;

图11示出了根据本公开的实施例的示例性计算设备的架构的示意图;以及

图12示出了根据本公开的存储介质的示意图。

具体实施方式

为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。

在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。

除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。

为便于描述本公开,以下介绍与本公开有关的概念。

本公开的用于服务器集群故障诊断的处理方法可以基于云技术(cloudtechnology)。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。对于本公开的实施例所涉及的服务器集群而言,可以利用云技术来实现对服务器集群的海量数据的处理,其中可以包括服务器故障相关的识别与处理。

随着服务器在各种应用场景中的重要作用所带来的服务器保有量的增加,在服务器集群中的各个服务器不断负载运行的同时,某些服务器节点不可避免地会出现各种故障问题。例如,由于处理器内部错误所引起的服务器故障可能导致诸如服务器死机、异常重启等问题。因此,如何有效发现并解决服务器故障问题,即对服务器故障进行自动化识别与处理,对于服务器的正常运行来说非常重要。其中,随着服务器中硬件故障自动明确化率的提升,对于导致自动诊断失败的故障也愈发关注。然而,由于当前故障自动诊断失败或成功时,服务器均输出指示故障报错的日志,而自动诊断失败的故障所输出的日志并无显式指示(例如,浪潮inspursa5212m5机型4.28.0的基板管理控制器(bmc)版本和联想lenovohr650x机型4.17.0802的bmc版本均未对自动诊断失败的情况进行标志),造成服务器运维人员无法直接通过现有的自动化处理流程快速匹配和识别自动诊断失败的故障,而是需要对发生故障的所有服务器进行逐台分析以确定发生自动诊断失败故障的服务器,给海量服务器运营带来了极大不便。此外,为了提升自动诊断成功率,需要收集并统计自动诊断失败的案例并反馈至服务器供应商,但是由于难以通过日志快速确定这些案例,而是需要通过穷举所有指示故障报错的日志来从中确定失败的比例,也为数据统计带来一定挑战。

因此,需要对自动诊断失败的故障进行分类梳理与标识,以实现快速且高效的自动诊断失败故障识别与处理。可选地,本公开中对服务器集群故障的分析可以基于区块链技术。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。其中,区块链的运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。由此,对于基于区块链的处理方法而言,其能够基于该运营监控模块监控服务器集群中各服务器节点的运行情况,在检测到故障发生时收集并分析与故障相关的数据信息,以及执行对服务器集群故障的监控告警功能,使本公开的处理方法具有对自动诊断失败故障的自动化识别与处理的功能。

下面将结合附图对本公开的实施例进行进一步地描述。

图1是示出根据本公开的实施例的针对服务器集群故障的处理场景100的示例示意图。

如图1所示,在服务器集群101中存在服务器发生故障时,该服务器可以通过输出的实时上报日志向线上故障处理系统102报告故障信息。线上故障处理系统102在接收到故障信息之后,通过执行一系列自动化识别与处理流程来输出相应的处理结果(诸如服务器部件替换)并返回至服务器集群101中的相应服务器。

可选地,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器集群101可以包括不同厂商、不同类型或不同型号的多种服务器。线上故障处理系统102可以是由多个处理子系统按照一定逻辑顺序构成的处理系统。线上故障处理系统102与服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

其中,在服务器发生诸如处理器内部错误等故障之后,可能出现服务器内部自动诊断失败的情况,考虑到导致自动诊断失败的原因可能来自多个方面,诸如由于处理器内部错误而导致故障发生后处理器僵死,此时处理器对于读取命令无响应并且也无法通过传统复位方式进行复位,因此这种情况下无法采集分析僵死处理器内部信息并成功完成自动诊断,此外,在成功采集处理器内部信息的情况下,如果分析结果指示服务器此时存在多个部件报错,而考虑到实际中部件故障通常不会同时发生在两个及以上部件中,并且考虑到部件替换所需的成本,为了避免由于错误报错而导致的部件替换损失,当分析结果指示服务器内部存在多个部件报错时,还需要进一步分析确认而不是直接派单完成部件替换,因此将这种多个部件报错也归类到自动诊断失败。在这种发生自动诊断失败的情况下通过输出实时上报日志向线上故障处理系统102报告故障信息时,线上故障处理系统102无法基于实时上报日志快速确定发生自动诊断失败的服务器及其具体部件,因此无法相应地执行一系列自动化识别与处理流程来输出处理结果。因此,对于这种自动诊断失败的情况(包括但不限于由于处理器内部信息采集不全以及多个部件报错导致的自动诊断失败的情况),需要介入执行额外的针对自动诊断失败的标识处理。

本公开基于此,提供了一种用于服务器集群故障诊断的处理方法,其利用包含特定关键字的诊断失败信息来标识自动诊断失败的故障,以实现与自动诊断成功的故障的区分。

本公开的实施例所提供的用于服务器集群故障诊断的处理方法相比于基于人工分析的处理方法而言,能够快速识别自动诊断失败的案例并及时介入处理,并且对于自动诊断成功和失败的故障均能执行相应的自动化处理,极大节省了人力并提高了处理效率。

本公开的实施例通过对造成自动诊断失败的故障类型进行梳理,将由于信息不全或多部件报错导致无法自动诊断的故障通过诊断失败信息进行实时上报并进入自动化处理流程,从而使得自动诊断失败故障处理更加快速且高效。此外,该处理方法通过在历史操作信息中基于诊断失败信息所包含的关键字来实现对自动诊断结果的区分与统计,提高了数据统计的可行性,并且通过线上系统对接服务器供应商以进行数据的实时反馈与记录,有利于服务器后续版本的自动诊断能力的提升和优化。通过使诊断失败信息所包含的关键字标准化,本公开的实施例所提供的用于服务器集群故障诊断的处理方法在不同厂商、不同类型和不同型号的服务器上具有可适用性。

对于服务器集群中的单个服务器,图2是示出根据本公开的实施例的用于服务器故障诊断的方法200的流程图。

根据本公开的实施例的用于服务器故障诊断的方法200可以应用于任何的用于服务器故障诊断的设备中。可以理解,用于服务器故障诊断的设备可以是不同种类的硬件设备,例如个人数字助理(pda)、移动电话、个人计算机、膝上型计算机、服务器等。本领域技术人员应当理解本公开并不以此为限。

如图2所示,在步骤s201中,响应于服务器发生灾难性故障,可以在所述服务器中执行自动诊断。

根据本公开的实施例,该灾难性故障可以是无法自动恢复的故障,其在没有人为介入的情况下不能实现自动处理,并且可以是服务器内部故障(ierr)或总线故障(诸如机器检查错误(mcerr))。

可选地,当服务器的处理器或诸如外部代理的其他装置探测到该服务器出现内部故障或者总线故障时,可以向服务器的对应于该故障的特定传感器发送信号,并且响应于特定传感器接收到该信号,可以在该服务器输出的实时操作信息中输出对应于该特定传感器(也就是对应于该故障,但是对于不同厂商不同型号的服务器而言,同一故障可以对应于不同传感器)的格式的故障报告信息,以向如图1所示的线上故障处理系统通知该服务器中该故障的发生,其中,该特定传感器的格式可以包括与该特定传感器对应的、指示该故障的发生的关键字。例如,对于发生ierr或mcerr故障的情况,该特定传感器的格式可以包括诸如cpu_ierr、cpu_mcerr或system_error等关键字。

此时,基于该故障报告信息可以确定服务器中发生相应故障,需要对该服务器进行自动诊断,以确定服务器内部的具体故障部件,从而指导后续故障处理。对该服务器进行自动诊断的结果可以包括自动诊断成功和自动诊断失败两种,例如,自动诊断成功的情况下,可以明确发生故障的服务器的具体故障部件,而如上述参考图1所述,自动诊断失败的情况可以是由于服务器内部处理器无法访问导致无法对故障进一步分析,也可以是服务器内部同时存在多个部件报错而导致需要人为介入以明确具体故障部件。

在步骤s202中,在所述自动诊断失败的情况下,可以在所述服务器输出的实时操作信息中添加诊断失败信息,其中,所述诊断失败信息可以包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障。

可选地,在自动诊断失败的情况下,通过在所述服务器输出的实时操作信息中添加诊断失败信息,可以标识自动诊断失败的故障,以实现与自动诊断成功的故障的区分。其中,该实时操作信息可以是服务器的实时上报日志,用于对服务器运行状态的实时监控,并且诊断失败信息可以是包括该诊断失败关键字的诊断失败日志。

例如,对于自动诊断失败的情况,可以在服务器的实时上报日志中打印诊断失败日志,其中,以ierr或mcerr故障为例,该诊断失败日志所包括的诊断失败关键字可以是诸如ierr_diag_fail或mcerr_diag_fail等关键字,因此,在这种情况下,该服务器在实时上报日志中除了可以输出包括cpu_ierr、cpu_mcerr或system_error等关键字的故障报告日志外,还可以输出包括ierr_diag_fail或mcerr_diag_fail等关键字的诊断失败日志。

例如,在使用本公开的实施例所提供的包括该诊断失败关键字的诊断失败日志之前,当发生自动诊断失败时,在实时上报日志中的对应输出如下:

events::altsensortype=“systemevent”

events::altsensorname=“cpu_ierr”

其中,该特定传感器的类型(altsensortype)为“systemevent”,其对应的输出日志中包括与该特定传感器的名称(altsensorname)“cpu_ierr”对应的关键字“cpu_ierr”,可以看出,由当前输出无法判断自动诊断的结果,导致需要人为介入进一步分析此故障。

而在使用本公开的诊断失败日志之后,当发生自动诊断失败时,在实时上报日志中的对应输出如下:

events::altsensortype=“systemevent”

events::altsensorname=“cpu_ierr”

events::altsensoriype=“systemevent”

events::altsensorname=“ierrdiagfail”

其中,除了之前的故障报告日志外,还显式地指示了自动诊断失败的结果,可以基于此显式指示来与后续自动处理流程对接而无需人为介入。本领域技术人员应当理解,本公开仅以上述ierr或mcerr故障与诊断失败日志作为示例进行描述,但不作为对导致自动诊断失败的故障类型以及诊断失败信息的传递形式的限制。

上述用于服务器故障诊断的方法200通过将自动诊断失败的故障通过诊断失败信息进行实时上报,以便于后续基于诊断失败信息的自动化处理流程。

图3a是示出根据本公开的实施例的自动诊断的示意流程图。图3b是示出根据本公开的实施例的自动诊断310的流程图。

参考图3a,根据本公开的实施例,自动诊断可以包括寄存器采集301和寄存器分析302。

在图3b中,根据本公开的实施例,自动诊断310可以包括以下步骤,其中,步骤s311可以对应于寄存器采集301,并且步骤s312、s313和s314可以对应于寄存器分析302。

在步骤s311中,可以对所述服务器的与所述故障相关的多个寄存器进行信息采集,其中,在存在所述多个寄存器中的至少一个寄存器无法完成信息采集的情况下,确定所述自动诊断失败。

根据本公开的实施例,所述多个寄存器可以包括用于指示所述服务器的故障部件的错误指向寄存器,所述错误指向寄存器包括指示所述服务器的故障部件的信息,该错误指向寄存器可以包括由intel定义的mca_err_src_log、ierrloggingreg、mcerrloggingreg寄存器中的至少一个。例如,其中,mca_err_src_log可用于记录故障的错误源,ierrloggingreg、mcerrloggingreg寄存器提供了对故障发生的原因的指示,其中各个位所代表的条件满足时,可以设置相应位。可以通过例如平台环境控制接口(peci)命令读取这些错误指向寄存器的信息来确定服务器的具体故障部件。由于部分故障导致处理器对于peci命令不响应且无法通过热复位进行恢复,在这种情况下无法完成寄存器信息采集,因此可以判断自动诊断失败。

如图3a所示,在寄存器采集301完成之后,可以进入寄存器分析302过程,如果基于该寄存器分析302能够明确服务器的故障,则判断自动诊断成功,反之则判断自动诊断失败,继而输出相应的实时操作信息。可选地,基于该寄存器分析302不能明确服务器的故障可以包括基于该寄存器分析302不能确定服务器中的故障部件或者基于该寄存器分析302可以确定服务器中存在多个故障部件。

具体地,在步骤s312中,在对所述多个寄存器完成信息采集后,可以对所采集的寄存器信息进行分析,以得到第一故障分析结果,其中,在所述第一故障分析结果指示无法确定所述服务器的故障部件或指示所述服务器中存在多个故障部件的情况下,可以确定所述自动诊断失败。其中,无法确定服务器的故障部件或服务器中存在多个故障部件的情况即对应于图3a中的故障不明确的情况。

此外,根据本公开的实施例,自动诊断310还可以包括以下步骤。

在步骤s313中,在基于所述第一故障分析结果确定所述服务器的故障部件有且仅有一个的情况下,可以确定所述自动诊断成功。其中,服务器的故障部件有且仅有一个的情况即对应于图3a中的故障明确的情况。

在步骤s314中,在所述自动诊断成功的情况下,在所述服务器输出的实时操作信息中添加故障诊断信息,所述故障诊断信息可以包括与所述故障部件对应的明确故障部件信息。

在上述确定自动诊断失败或成功的情况下,可以在实时操作信息中分别添加诊断失败信息或故障诊断信息。

根据本公开的实施例,在所述自动诊断成功的情况下,还可以发送针对所述故障诊断信息的告警通知,并基于所述故障诊断信息创建与所述故障诊断信息对应的部件替换任务。该告警通知可以是基于该服务器的业务运维信息、告警通知方式或故障处理时效等信息而向该服务器的业务运维发送的,该服务器的业务运维可以基于故障诊断信息来确定对该服务器的故障的处理方式,例如,确定是否执行相应部件替换任务。

根据本公开的实施例,在基于所述告警通知确定要执行所述部件替换任务的情况下,可以执行所述部件替换任务用于对所述服务器的故障部件的替换。可选地,该确定可以由业务运维人员基于告警通知执行,在获得业务运维人员对于该部件替换任务的授权后,可以执行相应的部件替换。

图4a是示出根据本公开的实施例的自动诊断中的寄存器分析过程及结果的示意流程图。图4b是示出根据本公开的实施例的自动诊断中的寄存器分析过程410的流程图。图4b所示的流程图可以看作对图3a所示的自动诊断中的寄存器分析302部分的具体描绘。

如图4b所示,根据本公开的实施例,对所采集的寄存器信息进行分析的寄存器分析过程410可以包括以下步骤。

在步骤s411中,可以对所采集的寄存器中的所述错误指向寄存器进行分析,以确定所述服务器中先发生异常的处理器(图4a中的401)。

可选地,可以通过例如平台环境控制接口(peci)命令读取这些错误指向寄存器的信息来确定先发生异常的处理器。例如,可以根据mca_err_src_log寄存器值判断当前故障在处理器内部或外部,从而确定先发生异常的处理器。

在步骤s412中,在基于所述错误指向寄存器无法确定所述先发生异常的处理器的情况下,可以对所采集的寄存器中的时间戳寄存器进行比较,以确定所述服务器中先发生异常的处理器(图4a中的401)。

其中,对所采集的寄存器中的时间戳寄存器进行比较可以基于各处理器的时间戳寄存器中的计数值进行比较,对于最先发生异常的处理器,其所对应的时间戳寄存器的计数值与其他处理器的计数值相比可能较小,因此,可选地,可以将对应于所采集的寄存器中的时间戳寄存器的最小计数值的处理器确定为先发生异常的处理器。

在步骤s413中,在确定了所述先发生异常的处理器的情况下,可以基于该处理器的所述错误指向寄存器的值确定该处理器中的具体报错寄存器(图4a中的402),其中所述具体报错寄存器可用于指示所述服务器的故障部件。

例如,在ierrloggingreg寄存器中,在该寄存器的第8位值指示先发生异常的处理器有效的情况下,该寄存器的第[0:7]位值可以指示具体报错寄存器,由此可确定服务器的故障部件的身份标识。

在步骤s414中,在基于所述错误指向寄存器和所述时间戳寄存器均无法确定所述先发生异常的处理器的情况下,或者在基于该处理器的所述错误指向寄存器的值无法确定具体报错寄存器的情况下,可以对所采集的寄存器进行寄存器遍历(图4a中的403),以确定所述先发生异常的处理器中的所述具体报错寄存器。

在基于上述处理无法确定先发生异常的处理器的情况下,可以对所采集的寄存器的值逐个进行分析,以确定其中的具体报错寄存器。可选地,当错误指向寄存器的值并未显式指示错误来源时,可以对所采集的寄存器的值逐个进行分析以确定具体报错寄存器。

在步骤s415中,对所采集的寄存器进行寄存器遍历可以包括按照预定的优先级对所采集的寄存器进行遍历分析,以确定其中的所述具体报错寄存器。

其中,该预定的优先级可以是根据服务器供应商所定义的寄存器组索引顺序,从处理器外部各部件所对应的寄存器组到处理器内部所对应的寄存器组优先级递减,以快速确定服务器的故障部件。

在基于具体报错寄存器的值确定了服务器的故障地址之后可以对该故障进行综合判断从而得到第一故障分析结果,或者在完成寄存器遍历之后可以得到第一故障分析结果,该第一故障分析结果可以包括该故障明确或不明确(例如,该故障是否来自服务器的唯一故障部件),继而基于该第一故障分析结果判断自动诊断的结果并在实时操作信息中输出相应诊断信息。例如,自动诊断成功的情况下可以输出故障诊断信息(例如,明确故障日志),而自动诊断失败的情况下可以输出诊断失败信息(例如,诊断失败日志),如图4a所示。

完成自动诊断后,对于服务器集群中发生服务器故障自动诊断失败的情况,需要基于诊断失败信息确定发生自动诊断失败故障的服务器并创建关于该自动诊断失败故障的故障分析任务。

下面,将参考图5a来描述根据本公开实施例的用于服务器集群故障诊断的处理方法500的流程图。

在步骤s501中,可以从所述服务器集群中所包括的至少一个发生灾难性故障的服务器接收实时操作信息,其中,所述实时操作信息中可以包括诊断失败信息,所述诊断失败信息可以包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字可用于指示所述灾难性故障。

可选地,从服务器集群接收的实时操作信息可以是服务器的实时上报日志,用于对服务器运行状态的实时监控,并且诊断失败信息可以是包括该诊断失败关键字的诊断失败日志。其中,该诊断失败关键字可以用于标识自动诊断失败的故障,以实现与自动诊断成功的故障的区分。

在步骤s502中,可以基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息,并对所述诊断失败信息进行分析。

其中,根据本公开的实施例,基于所述诊断失败信息中的所述诊断失败关键字来从所述实时操作信息中筛选出所述诊断失败信息可以包括在所述实时操作信息中监控所述诊断失败信息,其中所述监控包括在所述实时操作信息中匹配所述诊断失败关键字,以及在成功匹配到所述诊断失败关键字后,获取与所述诊断失败关键字对应的诊断失败信息。

例如,通过在上述实时上报日志中进行关键字匹配,在成功匹配到诊断失败关键字时,可以确定此时包含该诊断失败关键字的诊断失败日志所对应的故障导致了自动诊断失败,因此可以收集与该故障相关的故障信息,包括该诊断失败信息,以用于分析,其中,该故障信息还可以包括该服务器的历史操作信息、配置信息和维护历史等,该历史操作信息是通过对实时操作信息进行累积而获得的。

图5b示出了根据本公开的实施例的故障筛选界面的示意图。其中,页面a示出了基于例如故障报告日志的关键字所筛选出的故障,而页面b示出了基于诊断失败关键字筛选出的自动诊断失败的故障,其中,故障报告日志的关键字以cpu_ierr为示例,而诊断失败关键字以ierrdiagfail为示例进行描述,并且不作为对本公开所采用的实时操作信息中的关键字的限制。

可选地,在界面a和界面b中,可以通过设置采集时间范围、以及限定服务器序列号和设备型号来进行故障案例筛选,并通过在实时操作信息中进行关键字匹配来完成特定类型案例的筛选。例如,页面a示出的故障可以看作发生处理器内部故障的案例汇总,通过该页面可以统计出处理器内部故障的案例的数量,而页面b可以认为是从页面a所包括的故障案例中筛选导致自动诊断失败的案例,由此可以统计出自动诊断失败的案例的数量,并且服务器运维人员可以在该页面及时介入处理这些自动诊断失败的案例。通过页面a和界面b可以快速计算出处理器内部故障自动诊断失败的比例。

可选地,还可以在确定发生自动诊断失败之后,向业务运维人员发送针对所述诊断失败信息的告警通知,以便业务运维人员能够及时获悉当前故障的处理进展。

其中,根据本公开的实施例,包括所述诊断失败信息的所述实时操作信息还可以用于指示执行所述处理器的故障分析任务的目标对象,并且对所述诊断失败信息进行分析可以包括基于所述诊断失败信息中的所述诊断失败关键字,创建对所述诊断失败信息所对应的故障的故障分析任务,其中所述故障分析任务可以包括所述诊断失败信息,基于包括所述诊断失败信息的所述实时操作信息,确定执行故障分析任务的目标对象,将所述故障分析任务提供至所述执行故障分析任务的目标对象,以及从所述执行故障分析任务的目标对象获取对所述故障分析任务的所述分析结果。

可选地,可以基于所述诊断失败信息确定发生自动诊断失败故障的服务器并创建关于该自动诊断失败故障的故障分析任务,进而确定要执行故障分析任务的目标对象。例如,该目标对象可以是该服务器的供应商,该故障分析任务可以以与所述诊断失败信息对应的故障不明确分析工单的形式进行分配,该故障不明确分析工单可以包括告警来源、告警描述、故障类型、故障描述等信息,将该故障不明确分析工单实时在线发送至该服务器的供应商,由该服务器的供应商及时分析并返回分析结果。

图5c是示出根据本公开的实施例的示例故障不明确分析工单的示意图。

如图5c所示,该故障不明确分析工单可以包括任务基础信息,例如流程单号、任务发起时间和流程状态等,还可以包括故障相关信息,例如告警来源、告警描述、故障类型、故障描述等信息。

可选地,该故障不明确分析工单可以用于指示故障的当前处理进度,例如,流程状态除了如图5c所示的待分析状态外,还可以包括诸如待反馈、已完成等状态,以用于向服务器供应商以及操作者双方提供当前处理进度信息。故障相关信息是基于诊断失败信息而获取的关于当前故障的具体信息,其中,告警来源可以包括诸如腾讯的titan告警监控平台,告警描述可以包括诸如告警类型和服务器当前异常情况描述等,故障类型可以是基于自动诊断执行后的故障分类,并且故障描述可以包括基于当前所有可用信息所能确定的故障信息,包括发生故障的服务器的序列号、故障原因、该服务器中的具体故障位置信息(一般情况下,该信息在此阶段不可获知)等。此外,根据本公开的实施例的故障不明确分析工单还可以包括诸如服务器操作系统版本信息等的其他信息,应当理解,上述所包括的信息仅用作示例而非限制。

回到图5a,在步骤s503中,基于分析结果,可以确定对所述服务器的所述故障的处理方式。

根据本公开的实施例,基于分析结果来确定对所述服务器的所述故障的处理方式可以包括在所述分析结果指示确定所述服务器中存在要替换的部件的情况下,创建指示所述要替换的部件的部件替换任务。

例如,如果执行故障分析任务的目标对象基于故障分析任务确定当前故障属于服务器内部部件故障,需要对该部件进行替换,可以类似地实时在线返回其分析结果,即指示该服务器中存在的要替换的部件。在接收到该分析结果后,可以创建对应的部件替换任务。

上述用于服务器集群故障诊断的处理方法500通过将自动诊断失败的故障通过诊断失败信息进行实时上报并进入自动化处理流程,使得自动诊断失败故障处理更加快速且高效。

图6是示出根据本公开的实施例的用于服务器集群故障诊断的处理方法600的流程图。

根据本公开的实施例的用于服务器集群故障诊断的处理方法600可以应用于任何的用于服务器集群故障诊断的处理设备中。可以理解,用于服务器集群故障诊断的处理设备可以是不同种类的硬件设备,例如个人数字助理(pda)、移动电话、个人计算机、膝上型计算机、服务器等。例如,该用于服务器集群故障诊断的处理设备可以是图1中的线上故障处理系统。本领域技术人员应当理解本公开并不以此为限。

如图6所示,在步骤s601中,响应于所述服务器集群中出现发生灾难性故障的服务器,可以在所述服务器中执行自动诊断。

根据本公开的实施例,该灾难性故障可以是无法自动恢复的故障,其在没有人为介入的情况下不能实现自动处理,并且可以是服务器内部故障(ierr)或总线故障(诸如机器检查错误(mcerr))。

可选地,在服务器集群中,当其中服务器的处理器或诸如外部代理的其他装置探测到该服务器出现内部故障或者总线故障时,可以向服务器的对应于该故障的特定传感器发送信号,并且响应于特定传感器接收到该信号,可以在该服务器输出的实时操作信息中输出对应于该特定传感器(也就是对应于该故障,但是对于不同厂商不同型号的服务器而言,同一故障可以对应于不同传感器)的格式的故障报告信息,以向如图1所示的线上故障处理系统通知服务器集群中该故障的发生,其中,该特定传感器的格式可以包括与该特定传感器对应的、指示该故障的发生的关键字。

此时,基于该故障报告信息可以确定所述服务器集群中存在服务器发生相应故障,需要对该服务器进行自动诊断,以确定服务器内部的具体故障部件,从而指导后续故障处理。

在步骤s602中,在所述自动诊断失败的情况下,可以在所述服务器输出的实时操作信息中添加诊断失败信息,其中,所述诊断失败信息可以包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障。

可选地,在自动诊断失败的情况下,通过在所述服务器输出的实时操作信息中添加诊断失败信息,可以标识自动诊断失败的故障,以实现与自动诊断成功的故障的区分。其中,该实时操作信息可以是服务器的实时上报日志,用于对服务器运行状态的实时监控,并且诊断失败信息可以是包括该诊断失败关键字的诊断失败日志。

在步骤s603中,可以基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息,并对所述诊断失败信息进行分析。

例如,通过在上述实时上报日志中进行关键字匹配,在成功匹配到诊断失败关键字时,可以确定此时包含该诊断失败关键字的诊断失败日志所对应的故障导致了自动诊断失败,因此可以收集与该故障相关的故障信息,包括该诊断失败信息,以用于分析,其中,该故障信息还可以包括该服务器的历史操作信息、配置信息和维护历史等,该历史操作信息是通过对实时操作信息进行累积而获得的。

在步骤s604中,基于分析结果,可以确定对所述服务器的所述故障的处理方式。

例如,如果执行故障分析任务的目标对象基于故障分析任务确定当前故障属于服务器内部部件故障,需要对该部件进行替换,可以类似地实时在线返回其分析结果,即指示该服务器中存在的要替换的部件。在接收到该分析结果后,可以创建对应的部件替换任务。

除了上述处理方法600所示的实时处理外,本公开的实施例所提供的服务器集群故障诊断的处理方法还可以基于历史处理来进行数据统计,以便于服务器后续版本的优化。

因此,根据本公开的实施例,用于服务器集群故障诊断的处理方法600还可以包括累积所述实时操作信息作为历史操作信息,通过在所述历史操作信息中进行与所述诊断失败关键字的关键字匹配,来筛选所述自动诊断失败的案例,以及基于筛选出的所述自动诊断失败的案例,计算与所述故障对应的所述自动诊断失败的概率,其中,所述自动诊断失败的案例及所述概率可被用于指导对所述服务器的优化。

例如,历史操作信息可以是诸如服务器事件日志(sel),本公开的处理方法实施前,当发生自动诊断失败时,sel中输出的故障信息可以表示如下:

a11|03/11/2021|14:38:58|processorcpu0_status|ierr|asserted

其中,此时输出的序号为a11的故障信息仅指示处理器cpu0中的ierr故障的发生,而在本公开的处理方法实施后,当发生自动诊断失败时,sel中输出的故障信息可以表示如下:

151|03/12/2021|14:14:22|processorcpu0_status|ierr|asserted

152|03/12/2021|14:14:23|systemeventierrdiagfail|asserted

其中,除了报告处理器cpu0中的ierr故障的发生,还包括了对于该ierr故障自动诊断失败的报告信息(ierrdiagfail)。

通过在历史操作信息中进行与该诊断失败关键字的关键字匹配来筛选自动诊断失败的故障,可以确定自动诊断失败的故障在所有故障中所占的比例,将该信息连同自动诊断失败案例一起反馈至服务器供应商可以有助于对服务器后续版本的自动诊断能力的提升和优化。

图7是示出根据本公开的实施例的用于服务器集群故障诊断的处理装置700的示意图。该处理装置700可以对应地执行如参考图5a所述的处理方法500。图8是示出根据本公开的实施例的服务器集群故障诊断处理的示意图,该服务器集群故障诊断处理可以由图7的处理装置700执行。

如图7所示,该处理装置700可以包括信息接收模块701、故障筛选模块702、线上分析模块703。

其中,信息接收模块701可以被配置为从所述服务器集群中所包括的至少一个发生灾难性故障的服务器接收实时操作信息,其中,所述实时操作信息中包括诊断失败信息,所述诊断失败信息包括与所述自动诊断失败对应的诊断失败关键字,并且所述诊断失败关键字用于指示所述灾难性故障。该自动诊断可以是例如参考图3a、3b、4a和4b所述的自动诊断过程。

可选地,基于服务器输出的故障报告信息可以确定所述服务器集群中存在服务器发生相应故障,需要对该服务器进行自动诊断。对该服务器进行自动诊断的结果可以包括自动诊断成功和自动诊断失败两种,在自动诊断失败的情况下,需要附加分析以明确具体故障部件。

如图8所示,信息接收模块701可以向故障筛选模块702传递诊断失败信息,故障筛选模块702可以被配置为基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息。其中,基于所述诊断失败信息中的所述诊断失败关键字,从所述实时操作信息中筛选出所述诊断失败信息可以包括在所述实时操作信息中监控所述诊断失败信息,其中所述监控包括在所述实时操作信息中匹配所述诊断失败关键字,以及在成功匹配到所述诊断失败关键字后,获取与所述诊断失败关键字对应的诊断失败信息。

可选地,在成功匹配到诊断失败关键字时,可以收集与该自动诊断失败故障相关的故障信息,包括该诊断失败信息,并提供至线上分析模块703,其中,该故障信息还可以包括该服务器的历史操作信息、配置信息和维护历史等,该历史操作信息是通过对实时操作信息进行累积而获得的。

可选地,故障筛选模块702还可以在成功匹配到诊断失败关键字后,通过监控告警平台向业务运维系统发送告警通知,以便业务运维人员能够及时获悉当前故障的处理进展。例如,该监控告警平台可以通过是诸如腾讯的titan监控告警平台。

线上分析模块703可以被配置为对所述诊断失败信息进行分析,以及基于分析结果,确定对所述服务器的所述故障的处理方式。

根据本公开的实施例,包括所述诊断失败信息的所述实时操作信息还可以用于指示执行所述处理器的故障分析任务的目标对象,线上分析模块703对所述诊断失败信息进行分析可以包括基于所述诊断失败信息中的所述诊断失败关键字,创建对所述诊断失败信息所对应的故障的故障分析任务,基于包括所述诊断失败信息的所述实时操作信息,确定执行故障分析任务的目标对象,将所述故障分析任务提供至所述执行故障分析任务的目标对象,以及从所述执行故障分析任务的目标对象获取对所述故障分析任务的所述分析结果。

作为示例,该执行故障分析任务的目标对象可以是该服务器的供应商,该故障分析任务可以以与所述诊断失败信息对应的故障不明确分析工单的形式进行分配,将该故障不明确分析工单实时在线发送至该服务器的供应商,由该服务器的供应商及时分析并返回分析结果。

根据本公开的实施例,基于分析结果确定对所述服务器的所述故障的处理方式可以包括在所述分析结果指示确定所述服务器中存在要替换的部件的情况下,创建指示所述要替换的部件的部件替换任务。

例如,如果执行故障分析任务的目标对象基于故障分析任务确定服务器内存在要替换的部件,可以通过线上分析模块703创建对应的部件替换任务,并提供至部件替换系统,如图8所示。

根据本公开的实施例,部件替换系统可以在基于所述告警通知确定要执行所述部件替换任务的情况下,执行所述部件替换任务用于对所述服务器的故障部件的替换。

可选地,基于所述告警通知确定要执行所述部件替换任务可以是由业务运维系统基于告警通知来确定对部件替换任务进行授权。在接收到来自业务运维系统的授权后,可以对服务器集群执行相应的部件替换。

根据本公开的实施例,信息接收模块701还可以被配置为在基于第一故障分析结果确定所述服务器的故障部件有且仅有一个的情况下,确定所述自动诊断成功,以及在所述自动诊断成功的情况下,在所述服务器输出的实时操作信息中添加故障诊断信息,所述故障诊断信息包括与所述故障部件对应的明确故障部件信息。例如,该第一故障分析结果可以包括该故障明确或不明确(例如,该故障是否来自服务器的唯一故障部件),并且自动诊断成功的情况下可以输出明确故障日志,指示故障部件的具体信息。

相应地,故障筛选模块702还可以在所述自动诊断成功的情况下,通过监控告警平台发送针对所述故障诊断信息的告警通知。类似于自动诊断失败的情况,可以向业务运维系统发送告警通知。线上分析模块703还可以被配置为基于所述故障诊断信息,创建与所述故障诊断信息对应的部件替换任务。可选地,业务运维系统可以基于该告警通知来确定对部件替换任务进行授权。

根据本公开的实施例,故障筛选模块702还可以被配置为累积所述实时操作信息作为历史操作信息,通过在所述历史操作信息中进行与所述诊断失败关键字的关键字匹配,来筛选所述自动诊断失败的案例,以及基于筛选出的所述自动诊断失败的案例,计算与所述故障对应的所述自动诊断失败的概率,其中,所述自动诊断失败的案例及所述概率被用于指导对所述服务器的优化。通过在历史操作信息中进行与该诊断失败关键字的关键字匹配来筛选自动诊断失败的故障,可以确定自动诊断失败的故障在所有故障中所占的比例,将该信息连同自动诊断失败案例一起反馈至服务器供应商可以有助于对服务器后续版本的自动诊断能力的提升和优化。

图9是示出根据本公开的实施例的处理方法实施前后的基于实时操作信息的处理对比的示意流程图。

如图9所示,在根据本公开的实施例的处理方法实施前,需要在实时操作信息中进行监控时,对与故障报告信息相关的所有关键字进行匹配,其中,对于不同厂商不同型号的服务器而言,同一类故障可以对应于不同的故障报告信息。完成关键字匹配之后,可以确定与该故障报告信息相关的所有报错故障,此时需要人为介入以对故障明确程度不同的故障进行区别处理。如图9中所示,需要服务器运维人员对确定的所有报错故障逐个区别分类,在确定故障不明确的情况下还需要通过线下联系服务器供应商进行分析定位,以确定故障部件替换任务。

在根据本公开的实施例的处理方法实施后,在实时操作信息中进行监控时,只需对诊断失败关键字(例如,ierr_diag_fail或mcerr_diag_fail)进行关键字匹配,匹配完成后可以自动筛选出与诊断失败关键字相关的自动诊断失败故障,然后将此类故障通过线上分析系统创建相应的故障分析任务并提供至相应的供应商处进行分析,而无需线下投入人力分析和跟进,通过线上分析系统进行实时对接,有效节省了人力并提高了服务器集群故障的处理效率。

根据本公开的又一方面,还提供了一种用于服务器集群故障诊断的处理设备。图10示出了根据本公开的实施例的用于服务器集群故障诊断的处理设备2000的示意图。

如图10所示,所述用于服务器集群故障诊断的处理设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的用于服务器集群故障诊断的处理方法。

本公开实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x86架构或arm架构的。

一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

例如,根据本公开的实施例的方法或装置也可以借助于图11所示的计算设备3000的架构来实现。如图11所示,计算设备3000可以包括总线3010、一个或多个处理器3020、只读存储器(rom)3030、随机存取存储器(ram)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如rom3030或硬盘3070可以存储本公开提供的用于服务器集群故障诊断的处理方法的处理和/或通信使用的各种数据或文件以及处理器所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图10所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图11示出的计算设备中的一个或多个组件。

根据本公开的又一方面,还提供了一种计算机可读存储介质。图12示出了根据本公开的存储介质的示意图4000。

如图12所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的根据本公开的实施例的用于服务器集群故障诊断的处理方法。本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率同步动态随机存取存储器(ddrsdram)、增强型同步动态随机存取存储器(esdram)、同步连接动态随机存取存储器(sldram)和直接内存总线随机存取存储器(drram)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于服务器集群故障诊断的处理方法。

本公开的实施例提供了涉及一种用于服务器集群故障诊断的处理方法、处理装置、处理设备和计算机可读存储介质。

本公开的实施例所提供的用于服务器集群故障诊断的处理方法相比于基于人工分析的处理方法而言,能够快速识别自动诊断失败的案例并及时介入处理,并且对于自动诊断成功和失败的故障均能执行相应的自动化处理,极大节省了人力并提高了处理效率。

本公开的实施例通过对造成自动诊断失败的故障类型进行梳理,将由于信息不全或多部件报错导致无法自动诊断的故障通过诊断失败信息进行实时上报并进入自动化处理流程,从而使得自动诊断失败故障处理更加快速且高效。此外,该处理方法通过在历史操作信息中基于诊断失败信息所包含的关键字来实现对自动诊断结果的区分与统计,提高了数据统计的可行性,并且通过线上系统对接服务器供应商以进行数据的实时反馈与记录,有利于服务器后续版本的自动诊断能力的提升和优化。通过使诊断失败信息所包含的关键字标准化,本公开的实施例所提供的用于服务器集群故障诊断的处理方法在不同厂商、不同类型和不同型号的服务器上具有可适用性。

需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。

在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。

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