CN117370052B - 微服务故障分析方法、装置、设备及存储介质 - Google Patents

微服务故障分析方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117370052B
CN117370052B CN202311190434.8A CN202311190434A CN117370052B CN 117370052 B CN117370052 B CN 117370052B CN 202311190434 A CN202311190434 A CN 202311190434A CN 117370052 B CN117370052 B CN 117370052B
Authority
CN
China
Prior art keywords
service
fault
micro
target
data
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
Application number
CN202311190434.8A
Other languages
English (en)
Other versions
CN117370052A (zh
Inventor
李创
张远辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Yuzhong Network Technology Co ltd
Original Assignee
Guangzhou Yuzhong Network Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Yuzhong Network Technology Co ltd filed Critical Guangzhou Yuzhong Network Technology Co ltd
Priority to CN202311190434.8A priority Critical patent/CN117370052B/zh
Publication of CN117370052A publication Critical patent/CN117370052A/zh
Application granted granted Critical
Publication of CN117370052B publication Critical patent/CN117370052B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于计算机领域,公开了一种微服务故障分析方法、装置、设备及存储介质。该方法包括:在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。由于本发明是根据异常特征标识提取历史日志数据中的目标特征数据;基于预设故障判定规则和目标特征数据判断目标微服务是否存在故障。相对于现有的在每个需要进行故障分析的微服务中均嵌入大量的监测代码进行硬耦合分析微服务是否故障的方式,本发明上述方式能够提高微服务的故障分析效率。

Description

微服务故障分析方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种微服务故障分析方法、装置、设备及存储介质。
背景技术
随着开源和云计算的推进,云原生微服务作为核心的技术门槛大幅降低,开始渗透到各行各业。越来越多的企业在***选型上开始采用微服务等新一代技术去加速企业的数字化转型。随着微服务的组件数量开始增长,服务化粒度越细,在微服务架构中,每个服务都需要独立地配置、部署、监控和收集日志。在***间调用时带来了许多监控难题,传统的故障监测需要在每个微服务中嵌入大量的监测代码进行硬耦合,导致额外的网络开销,同时降低了编码的可读性。因此,如何高效的对微服务进行监控,并及时发现微服务的故障成为了亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供了一种微服务故障分析方法、装置、设备及存储介质,旨在解决现有技术微服务故障监测效果不高的技术问题。
为实现上述目的,本发明提供了一种微服务故障分析方法,所述方法包括以下步骤:
在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;
根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;
基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。
可选地,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤,包括:
在所述异常特征标识为业务异常特征标识时,获取所述预设故障判定规则中的正常业务数据;
对比所述正常业务数据和所述目标特征数据,得到对比结果;
在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果。
可选地,所述在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果的步骤之后,还包括:
确定所述对比结果中的异常数据,并提取所述异常数据中的异常特征;
基于预设特征权重确定所述异常特征的影响分值;
根据所述影响分值确定故障影响程度,并根据所述故障影响程度进行预警。
可选地,所述根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据的步骤,包括:
确定所述故障分析请求对应的异常特征标识;
基于所述异常特征标识确定异常特征提取策略;
根据所述异常特征提取策略和所述异常特征标识提取所述历史日志数据中的目标特征数据。
可选地,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤之后,还包括:
在判定所述目标微服务存在故障时,获取所述目标微服务的性能信息;
根据所述性能信息确定所述目标微服务的优化方向;
根据所述优化方向生成优化策略。
可选地,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤之后,还包括:
在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略;
在所述容错策略为切换服务时,获取所述目标微服务对应的备用服务;
启用所述备用服务替换所述目标微服务。
可选地,所述在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略的步骤,包括:
在判定所述目标微服务存在故障时,获取故障信息;
根据所述故障信息确定故障节点;
根据所述故障节点的功能信息确定所述故障节点对目标微服务的影响程度;
根据所述影响程度生成所述目标微服务对应的容错策略。
此外,为实现上述目的,本发明还提供一种微服务故障分析装置,所述装置包括:
接收模块,用于在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;
提取模块,用于根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;
故障分析模块,用于基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。
此外,为实现上述目的,本发明还提出一种微服务故障分析设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务故障分析程序,所述微服务故障分析程序配置为实现如上文所述的微服务故障分析方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有微服务故障分析程序,所述微服务故障分析程序被处理器执行时实现如上文所述的微服务故障分析方法的步骤。
本发明在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障,得到故障分析结果。由于本发明是根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。相对于现有的在每个需要进行故障分析的微服务中均嵌入大量的监测代码进行硬耦合分析微服务是否故障的方式,本发明上述方式能够提高微服务的故障分析效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的微服务故障分析设备的结构示意图;
图2为本发明微服务故障分析方法第一实施例的流程示意图;
图3为本发明微服务故障分析方法第二实施例的流程示意图;
图4为本发明微服务故障分析方法第三实施例的流程示意图;
图5为本发明微服务故障分析装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的微服务故障分析设备结构示意图。
如图1所示,该微服务故障分析设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对微服务故障分析设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及微服务故障分析程序。
在图1所示的微服务故障分析设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明微服务故障分析设备中的处理器1001、存储器1005可以设置在微服务故障分析设备中,所述微服务故障分析设备通过处理器1001调用存储器1005中存储的微服务故障分析程序,并执行本发明实施例提供的微服务故障分析方法。
基于上述微服务故障分析设备,本发明实施例提供了一种微服务故障分析方法,参照图2,图2为本发明微服务故障分析方法第一实施例的流程示意图。
本实施例中,所述微服务故障分析方法包括以下步骤:
步骤S10:在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据。
需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或微服务故障分析设备。以下以所述微服务故障分析设备为例,对本实施例及下述各实施例进行说明。
需要说明的是,所述故障分析请求可以是用户生成的监测目标微服务是否故障的命令,其可以包括要监测的微服务的标识,需要监测的故障类型,需要监测的业务等。例如,可以监测目标微服务是否发生404、空指针等代码故障,也可以监测目标微服务中的某个业务是否异常。所述故障分析请求对应的历史日志数据可以是所述故障分析请求对应的监测周期内的目标微服务产生的日志数据。
步骤S20:根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据。
需要说明的是,所述异常特征标识可以是需要监测的故障的特征、例如,需要监测的是目标微服务是否发生空指针异常,则所述异常特征标识可以是NullPointerException;若需要监测的是目标微服务是否发生404异常,则所述异常特征标识可以是404,若需要监测的是某一个业务是否异常,则所述异常特征标识可以是要监测的业务的相关特征,例如,业务可能涉及的参数、字段、名称等。
应理解的是,为了提高目标微服务的兼容性和适应性,所述目标微服务在接收到网络请求时,还可通过服务级别协议(SLA)帮助管理与客户之间的服务级别协议,提高服务可靠性和稳定性。可以定义抽象的接口适配器及通用的数据包结构格式,在接收到的网络请求与目标微服务的数据格式和语言不一致时,对网络请求进行数据转换,确保目标微服务能够识别网络请求。
进一步的,为了准确判断目标微服务是否存在故障,所述根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据的步骤,包括:
确定所述故障分析请求对应的异常特征标识;
基于所述异常特征标识确定异常特征提取策略;
根据所述异常特征提取策略和所述异常特征标识提取所述历史日志数据中的目标特征数据。
需要说明的是,所述异常特征提取策略包括统计特征、频域特征、时域特征等。所述基于所述异常特征标识确定异常特征提取策略可以是根据所述异常特征标识对应的故障判定条件确定异常特征提取策略。例如,所述异常特征标识对应的故障判定条件为故障频率是否大于预设频率阈值,则所述异常特征提取策略可以是按照频域特征提取方式进行特征提取;故障判定条件为故障总次数是否大于预设故障次数阈值,则所述异常特征提取策略可以是按照统计特征提取方式进行特征提取。
步骤S30:基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。
需要说明的是,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障可以是判断所述目标特征数据是否满足所述预设故障判定规则中的故障判定条件,若满足,则判定目标微服务存在故障。所述预设故障判定规则包括各类型的故障对应的故障判定条件。例如,当故障分析请求为检测目标微服务是否存在404故障时,预设故障判定规则中的故障判定条件可以是在预设周期内,出现3次以上404故障,则判定为目标微服务出现404故障。当故障分析请求为检测目标微服务是否存在获取业务数据失败的故障时,该获取业务数据请求对应的数据请求结果的数据源可能为多个,即需要向多个数据源请求数据,将请求到的数据进行拼接得到数据请求结果,其中可能存在若干个数据源没有数据,但是不可能是全部的数据源都没有数据,此时,预设故障判定规则中的故障判定条件可以是当超过预设阈值个数据源没有数据时,判定出现获取业务数据失败的故障。当故障分析请求为检测目标微服务是否存在内存满了时,预设故障判定规则中的故障判定条件可以是在预设周期内,出现3次以上内存满了的故障,则判定为目标微服务出现内存满了的故障。
在具体实施中,若用户想监控目标微服务中的硬件和/或业务故障,可以预先设置判断是否存在该故障时需要采集到的相关信息,并使目标微服务在日志中打印该相关信息,然后根据该故障中的特征信息,设置该故障对应的异常特征标识,以从目标微服务打印出来的日志中利用所述异常特征标识提取与该故障相关的故障信息。然后利用预设故障判定规则中该故障对应的故障判定条件和与该故障相关的故障信息判断目标微服务是否存在该故障。
本实施例中在基于预设故障判定规则和所述目标特征数据判定目标微服务存在故障之后,还可以获取微服务之间的依赖关系,根据微服务之间的依赖关系确定故障的影响范围,形成网状依赖源,以分析故障的根本原因并根据故障的影响范围进行预警。本实施例中还可以引入模拟故障注入测试,用于评估目标微服务的容错性和鲁棒性,并发现潜在的弱点。
进一步的,为了提升用户的体验感,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤之后,还包括:
在判定所述目标微服务存在故障时,获取所述目标微服务的性能信息;
根据所述性能信息确定所述目标微服务的优化方向;
根据所述优化方向生成优化策略。
需要说明的是,所述性能信息可以包括所述目标微服务的消息传递模式、事件驱动架构、内存使用率、CPU占用、通信协议、处理任务的耗时、数据库的结构、代码质量、是否有缓存等信息。所述根据所述性能信息确定所述目标微服务的优化方向通过对所述性能信息进行分析,确定所述目标微服务的性能瓶颈,根据所述性能瓶颈确定优化方向。所述优化方向可包括:异步通信:使用异步消息传递模式或事件驱动架构,减少同步调用带来的等待时间,提高***的并发性能。缓存数据:对于频繁访问的数据,可以使用缓存来减少对后端服务的请求次数,提高响应速度。水平扩展:根据***负载情况,通过添加更多的实例来水平扩展微服务,提高***的处理能力和吞吐量。精简通信协议:优化微服务之间的通信协议,减少通信开销和数据传输量。异步处理:将耗时较长的操作设计为异步任务,通过后台处理来提高响应速度。数据库优化:合理设计数据库结构,使用合适的索引和查询优化技巧,提高数据库的读写性能。服务拆分:将大型的微服务拆分为更小、更专注的服务单元,提高***的可伸缩性和灵活性。资源管理:合理管理微服务的资源消耗,包括内存、CPU等,避免资源的浪费和瓶颈。代码优化:对微服务的代码进行性能分析和调优,减少不必要的计算、循环和资源占用,提高代码执行效率。监控与调优:使用监控工具对微服务进行实时监测,及时发现性能瓶颈和异常情况,并进行针对性的调优。压力测试:进行***的压力测试,模拟高并发和大数据量的场景,评估***的性能表现和瓶颈,找出优化的空间。容量规划:根据业务需求和预测的负载情况,进行合理的容量规划,确保微服务能够满足未来的扩展需求。
本实施例在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障,得到故障分析结果。由于本实施例是根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。相对于现有的在每个需要进行故障分析的微服务中均嵌入大量的监测代码进行硬耦合分析微服务是否故障的方式,本实施例上述方式能够提高微服务的故障分析效率。
参考图3,图3为本发明微服务故障分析方法第二实施例的流程示意图。
基于上述第一实施例,在本实施例中,所述步骤S30包括:
步骤S301:在所述异常特征标识为业务异常特征标识时,获取所述预设故障判定规则中的正常业务数据。
需要说明的是,当故障分析请求中需要监测的故障在预设故障判定规则中存在预先设置的正常状态下的正常业务数据,可判定所述故障分析请求对应的要监测的故障为业务故障。要监测的业务故障对应的用于从目标微服务中提取故障相关信息的特征或关键字为业务异常特征标识。可在接收到故障分析请求,根据所述故障分析请求中的异常特征标识在预设故障判定规则中进行匹配,得到匹配结果,若匹配结果为异常特征标识为业务异常特征标识,则提取所述业务异常特征标识对应的正常业务数据。对于某些要检测的业务故障,有时候并不会默认在目标微服务中的日志进行打印,因此,在要监测可能不会在目标微服务中的日志进行打印的业务故障时,需要对目标微服务进行设置,使目标微服务打印该业务相关的信息。
步骤S302:对比所述正常业务数据和所述目标特征数据,得到对比结果。
需要说明的是,所述对比所述正常业务数据和所述目标特征数据可以是将所述正常业务数据和所述目标特征数据进行文本比对,判断所述正常业务数据和所述目标特征数据是否相同,若不同,获取两者的差异数据,并生成对比结果。
步骤S303:在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果。
需要说明的是,所述根据所述对比结果中的差异信息生成故障分析结果可以是根据所述差异信息确定正常业务数据和所述目标特征数据中的差异数据,并根据差异数据的来源确定可能导致目标微服务故障的原因,根据故障的原因生成故障分析结果。
在具体实施中,当所述对比结果为正常业务数据和所述目标特征数据不一致时,判定目标微服务存在故障,并确定所述对比结果中的差异信息的来源或生成路径,根据差异信息的来源或生成路径确定可能导致该故障的故障原因,根据故障原因生成故障分析结果。
进一步的,为了在发生故障时,及时对故障进行预警,所述在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果的步骤之后,还包括:
确定所述对比结果中的异常数据,并提取所述异常数据中的异常特征;
基于预设特征权重确定所述异常特征的影响分值;
根据所述影响分值确定故障影响程度,并根据所述故障影响程度进行预警。
需要说明的是,所述异常特征可以是所述异常数据中的参数值、字段、关键字等特征。所述预设特征权重可以是预先设置的各个异常特征对目标微服务的影响程度。例如,对于数据获取任务,数据中主键的特征权重较高、其他字段的特征权重较低,也可以设置某一个关键信息的特征权重较高,其他附加信息的特征权重较低,具体可根据实际场景自定义设置,所述基于预设特征权重确定所述异常特征的影响分值可以是将所述异常数据中的各个异常特征对应的特征权重值相加,得到异常特征的影响分值。所述根据所述影响分值确定故障影响程度可以是当影响分值大于预设第一阈值,则判定故障影响程度为高;当影响分值小于预设第二阈值,则判定故障影响程度为低;当影响分值小于或等于预设第一阈值且大于或等于预设第二阈值,则判定故障影响程度为中,其中,预设第一阈值和预设第二阈值可自定义设置,根据所述故障影响程度进行预警可以是根据预先设置的故障影响程度对应的预警策略进行预警。
本实施例在所述异常特征标识为业务异常特征标识时,获取所述预设故障判定规则中的正常业务数据;对比所述正常业务数据和所述目标特征数据,得到对比结果;在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果。本实施例通过将正常业务数据与目标特征数据进行对比,进而根据对比结果判断目标微服务是否存在故障,能够提高目标微服务的故障分析效率,及时发现目标微服务的故障。
参考图4,图4为本发明微服务故障分析方法第三实施例的流程示意图。
基于上述各实施例,在本实施例中,所述步骤S30之后,所述方法还包括:
步骤S40:在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略。
需要说明的是,所述容错策略包括切换到备用的服务实例或采用恢复机制,恢复机制可以是重启目标微服务或根据故障的节点进行节点切换。
进一步的,所述在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略的步骤,包括:
在判定所述目标微服务存在故障时,获取故障信息;
根据所述故障信息确定故障节点;
根据所述故障节点的功能信息确定所述故障节点对目标微服务的影响程度;
根据所述影响程度生成所述目标微服务对应的容错策略。
需要说明的是,所述故障信息可以是在判定所述目标微服务存在故障时,根据所述异常特征标识提取的所述历史日志数据中的目标特征数据。所述根据所述故障信息确定故障节点可以是根据所述故障信息确定故障对应的目标节点,所述目标节点可以是可能导致该故障发生的节点。所述根据所述故障节点的功能信息确定所述故障节点对目标微服务的影响程度可以是根据所述功能信息查询预设功能影响程度映射表确定所述故障节点对目标微服务的影响程度,所述预设功能影响程度映射表可以包括目标微服务中各功能对应的对微服务的影响程度。所述根据所述影响程度生成所述目标微服务对应的容错策略可以是在所述影响程度为中或者高时,判定容错策略为切换服务,即用备用服务代替所述目标微服务。在所述影响程度为低时,判定容错策略为节点切换或重启服务,即采用备用节点代替所述故障节点或重启所述目标微服务。
步骤S50:在所述容错策略为切换服务时,获取所述目标微服务对应的备用服务。
需要说明的是,所述切换服务可以是切换至备用的服务实例。所述备用服务与所述目标微服务的功能一致,可以在目标微服务出现故障时,替换目标微服务。
步骤S60:启用所述备用服务替换所述目标微服务。
需要说明的是,所述启用所述备用服务替换所述目标微服务可以是启用所述备用服务,并禁用所述目标微服务。
本实施例在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略;在所述容错策略为切换服务时,获取所述目标微服务对应的备用服务;启用所述备用服务替换所述目标微服务。本实施例结合自动化容错策略,可以帮助目标微服务在发生故障时自动切换到备用的服务实例或采用恢复机制,以确保目标微服务的可用性和稳定性。
参照图5,图5为本发明微服务故障分析装置第一实施例的结构框图。
如图5所示,本发明实施例提出的微服务故障分析装置包括:
接收模块10,用于在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;
提取模块20,用于根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;
故障分析模块30,用于基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。
本实施例在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障,得到故障分析结果。由于本实施例是根据所述异常特征标识提取所述历史日志数据中的目标特征数据;基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障。相对于现有的在每个需要进行故障分析的微服务中均嵌入大量的监测代码进行硬耦合分析微服务是否故障的方式,本实施例上述方式能够提高微服务的故障分析效率。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的微服务故障分析方法,此处不再赘述。
基于本发明上述微服务故障分析装置第一实施例,提出本发明微服务故障分析装置的第二实施例。
在本实施例中,所述故障分析模块30,还用于在所述异常特征标识为业务异常特征标识时,获取所述预设故障判定规则中的正常业务数据;
对比所述正常业务数据和所述目标特征数据,得到对比结果;
在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果。
进一步的,所述故障分析模块30,还用于确定所述对比结果中的异常数据,并提取所述异常数据中的异常特征;
基于预设特征权重确定所述异常特征的影响分值;
根据所述影响分值确定故障影响程度,并根据所述故障影响程度进行预警。
进一步的,所述提取模块20,还用于确定所述故障分析请求对应的异常特征标识;
基于所述异常特征标识确定异常特征提取策略;
根据所述异常特征提取策略和所述异常特征标识提取所述历史日志数据中的目标特征数据。
进一步的,所述故障分析模块30,还用于在判定所述目标微服务存在故障时,获取所述目标微服务的性能信息;
根据所述性能信息确定所述目标微服务的优化方向;
根据所述优化方向生成优化策略。
进一步的,所述故障分析模块30,还用于在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略;
在所述容错策略为切换服务时,获取所述目标微服务对应的备用服务;
启用所述备用服务替换所述目标微服务。
进一步的,所述故障分析模块30,还用于在判定所述目标微服务存在故障时,获取故障信息;
根据所述故障信息确定故障节点;
根据所述故障节点的功能信息确定所述故障节点对目标微服务的影响程度;
根据所述影响程度生成所述目标微服务对应的容错策略。
本发明微服务故障分析装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有微服务故障分析程序,所述微服务故障分析程序被处理器执行时实现如上文所述的微服务故障分析方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种微服务故障分析方法,其特征在于,所述微服务故障分析方法包括以下步骤:
在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;
根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;
基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障;
所述根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据的步骤,包括:
确定所述故障分析请求对应的异常特征标识;
基于所述异常特征标识确定异常特征提取策略;
根据所述异常特征提取策略和所述异常特征标识提取所述历史日志数据中的目标特征数据;
其中,所述异常特征提取策略包括统计特征、频域特征、时域特征,所述基于所述异常特征标识确定异常特征提取策略为根据所述异常特征标识对应的故障判定条件确定异常特征提取策略;
所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤之后,还包括:
在判定所述目标微服务存在故障时,获取所述目标微服务的性能信息;
根据所述性能信息确定所述目标微服务的优化方向;
根据所述优化方向生成优化策略;
所述性能信息包括所述目标微服务的消息传递模式、事件驱动架构、内存使用率、CPU占用、通信协议、处理任务的耗时、数据库的结构、代码质量、是否有缓存,所述优化方向包括异步通信、缓存数据、水平扩展、数据库优化、服务拆分、资源管理、压力测试以及容量规划。
2.如权利要求1所述的微服务故障分析方法,其特征在于,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤,包括:
在所述异常特征标识为业务异常特征标识时,获取所述预设故障判定规则中的正常业务数据;
对比所述正常业务数据和所述目标特征数据,得到对比结果;
在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果。
3.如权利要求2所述的微服务故障分析方法,其特征在于,所述在所述对比结果为数据不一致时,判定目标微服务存在故障,并根据所述对比结果中的差异信息生成故障分析结果的步骤之后,还包括:
确定所述对比结果中的异常数据,并提取所述异常数据中的异常特征;
基于预设特征权重确定所述异常特征的影响分值;
根据所述影响分值确定故障影响程度,并根据所述故障影响程度进行预警。
4.如权利要求1-3任一项所述的微服务故障分析方法,其特征在于,所述基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障的步骤之后,还包括:
在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略;
在所述容错策略为切换服务时,获取所述目标微服务对应的备用服务;
启用所述备用服务替换所述目标微服务。
5.如权利要求4所述的微服务故障分析方法,其特征在于,所述在判定所述目标微服务存在故障时,确定所述目标微服务对应的容错策略的步骤,包括:
在判定所述目标微服务存在故障时,获取故障信息;
根据所述故障信息确定故障节点;
根据所述故障节点的功能信息确定所述故障节点对目标微服务的影响程度;
根据所述影响程度生成所述目标微服务对应的容错策略。
6.一种微服务故障分析装置,其特征在于,所述微服务故障分析装置包括:
接收模块,用于在接收到故障分析请求时,获取所述故障分析请求对应的历史日志数据;
提取模块,用于根据所述故障分析请求确定异常特征标识,根据所述异常特征标识提取所述历史日志数据中的目标特征数据;
故障分析模块,用于基于预设故障判定规则和所述目标特征数据判断目标微服务是否存在故障;
所述提取模块,还用于确定所述故障分析请求对应的异常特征标识;
基于所述异常特征标识确定异常特征提取策略;
根据所述异常特征提取策略和所述异常特征标识提取所述历史日志数据中的目标特征数据;
其中,所述异常特征提取策略包括统计特征、频域特征、时域特征,所述基于所述异常特征标识确定异常特征提取策略为根据所述异常特征标识对应的故障判定条件确定异常特征提取策略;
所述故障分析模块,还用于在判定所述目标微服务存在故障时,获取所述目标微服务的性能信息;
根据所述性能信息确定所述目标微服务的优化方向;
根据所述优化方向生成优化策略;
所述性能信息包括所述目标微服务的消息传递模式、事件驱动架构、内存使用率、CPU占用、通信协议、处理任务的耗时、数据库的结构、代码质量、是否有缓存,所述优化方向包括异步通信、缓存数据、水平扩展、数据库优化、服务拆分、资源管理、压力测试以及容量规划。
7.一种微服务故障分析设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务故障分析程序,所述微服务故障分析程序配置为实现如权利要求1至5中任一项所述的微服务故障分析方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有微服务故障分析程序,所述微服务故障分析程序被处理器执行时实现如权利要求1至5任一项所述的微服务故障分析方法的步骤。
CN202311190434.8A 2023-09-14 2023-09-14 微服务故障分析方法、装置、设备及存储介质 Active CN117370052B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311190434.8A CN117370052B (zh) 2023-09-14 2023-09-14 微服务故障分析方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311190434.8A CN117370052B (zh) 2023-09-14 2023-09-14 微服务故障分析方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117370052A CN117370052A (zh) 2024-01-09
CN117370052B true CN117370052B (zh) 2024-04-26

Family

ID=89401218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311190434.8A Active CN117370052B (zh) 2023-09-14 2023-09-14 微服务故障分析方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117370052B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201786A (zh) * 2006-12-13 2008-06-18 中兴通讯股份有限公司 一种故障日志监控方法及装置
CN108376107A (zh) * 2018-03-01 2018-08-07 郑州云海信息技术有限公司 一种服务器故障检测的方法、装置、设备及存储介质
CN109710444A (zh) * 2018-12-26 2019-05-03 九逸(北京)信息技术有限公司 智能医院信息***的异常处理的方法及相关设备
CN110888783A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 微服务***的监测方法、装置以及电子设备
CN110888755A (zh) * 2019-11-15 2020-03-17 亚信科技(中国)有限公司 一种微服务***异常根因节点的查找方法及装置
CN111209134A (zh) * 2020-01-02 2020-05-29 广州虎牙科技有限公司 基于日志信息的故障分析方法、装置、存储介质及设备
CN111240876A (zh) * 2020-01-06 2020-06-05 远光软件股份有限公司 微服务的故障定位方法、装置、存储介质及终端
CA3096768A1 (en) * 2019-10-24 2021-04-24 Next Pathway Inc. System and method for automated microservice source code generation and deployment
CN114153703A (zh) * 2021-12-08 2022-03-08 中国建设银行股份有限公司 微服务的异常定位方法、装置、电子设备和程序产品
US11561868B1 (en) * 2021-12-23 2023-01-24 Intel Corporation Management of microservices failover

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11573848B2 (en) * 2020-11-10 2023-02-07 International Business Machines Corporation Identification and/or prediction of failures in a microservice architecture for enabling automatically-repairing solutions

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201786A (zh) * 2006-12-13 2008-06-18 中兴通讯股份有限公司 一种故障日志监控方法及装置
CN108376107A (zh) * 2018-03-01 2018-08-07 郑州云海信息技术有限公司 一种服务器故障检测的方法、装置、设备及存储介质
CN109710444A (zh) * 2018-12-26 2019-05-03 九逸(北京)信息技术有限公司 智能医院信息***的异常处理的方法及相关设备
CA3096768A1 (en) * 2019-10-24 2021-04-24 Next Pathway Inc. System and method for automated microservice source code generation and deployment
CN110888755A (zh) * 2019-11-15 2020-03-17 亚信科技(中国)有限公司 一种微服务***异常根因节点的查找方法及装置
CN110888783A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 微服务***的监测方法、装置以及电子设备
CN111209134A (zh) * 2020-01-02 2020-05-29 广州虎牙科技有限公司 基于日志信息的故障分析方法、装置、存储介质及设备
CN111240876A (zh) * 2020-01-06 2020-06-05 远光软件股份有限公司 微服务的故障定位方法、装置、存储介质及终端
CN114153703A (zh) * 2021-12-08 2022-03-08 中国建设银行股份有限公司 微服务的异常定位方法、装置、电子设备和程序产品
US11561868B1 (en) * 2021-12-23 2023-01-24 Intel Corporation Management of microservices failover

Also Published As

Publication number Publication date
CN117370052A (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
US7496795B2 (en) Method, system, and computer program product for light weight memory leak detection
CN109543891B (zh) 容量预测模型的建立方法、设备及计算机可读存储介质
CN112954031B (zh) 一种基于云手机的设备状态通知方法
CN114697232A (zh) Skywalking探针的指标数据采集***、方法及电子设备
CN108650123B (zh) 故障信息记录方法、装置、设备和存储介质
CN117370052B (zh) 微服务故障分析方法、装置、设备及存储介质
CN112711606A (zh) 数据库访问方法、装置、计算机设备和存储介质
CN112100070A (zh) 版本缺陷的检测方法、装置、服务器及存储介质
CN111756594B (zh) 压力测试的控制方法、计算机设备和计算机可读存储介质
CN116633766A (zh) 故障处理方法、装置、电子设备及存储介质
CN114895879B (zh) 管理***设计方案确定方法、装置、设备及存储介质
CN111367934A (zh) 数据一致性的检验方法、装置、服务器和介质
CN113742400B (zh) 一种基于自适应约束条件的网络数据获取***及方法
US20090083747A1 (en) Method for managing application programs by utilizing redundancy and load balance
CN112463343B (zh) 业务进程的重启方法和装置、存储介质、电子设备
CN114385498A (zh) 性能测试方法、***、计算机设备及可读存储介质
CN110362464B (zh) 软件分析方法及设备
CN114650211A (zh) 故障修复方法、装置、电子设备和计算机可读存储介质
CN113392028A (zh) 一种分布式测试***及控制方法
CN115114316A (zh) 一种高并发数据的处理方法、装置、集群和存储介质
KR20120070179A (ko) 통신 시스템 모니터링 방법 및 이를 위한 장치
KR102448702B1 (ko) 엣지 서비스 증설 제어 시스템 및 그 제어방법
JP2021179820A (ja) 障害判定装置、障害判定方法、及び、障害判定プログラム
CN115499492A (zh) 应用服务的异常处理方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant