基于微服务部署的应用和云平台跨层故障分析方法及系统与流程

文档序号:35413159发布日期:2023-09-09 23:30阅读:48来源:国知局
基于微服务部署的应用和云平台跨层故障分析方法及系统与流程

本发明涉及跨层故障分析,具体涉及一种基于微服务部署的应用和云平台跨层故障分析方法及系统。


背景技术:

1、加速推进企业数字化转型,是电力行业支撑新形势下多变的运营需求,电力行业业务系统由传统单体应用架构逐步向轻量化、容器化、微服务化的互联网新架构转变;伴随着业务应用上云以及版本升级迭代,微服务数量正在快速增多,不可避免的会出现应用故障、业务办理异常等问题。如何实现对电力行业云平台的全链路故障分析,成为了亟需解决的技术问题。

2、目前的apm监控产品更多的是监控业务应用本身的故障分析以及应用性能相关的告警功能,对于云平台监控数据以及关联分析定位无法满足当前企业的需求。

3、申请号为201711463907.1的发明中公开了一种基于关联分析的云平台故障自动化定位方法,该专利公开了读取策略库中的策略:根据数字化后的故障编码和定义好的故障策略生成故障发生模型;对所述故障发生模型进行推导,得到根故障发生的根原因;收集故障的基础数据并分析,生成当前系统存在的故障对应的故障编码;将故障编码与推导出的根原因进行对比分析,并根据故障发生模型,计算故障的故障发生路径,并进行分析得到分析结果;进行未知故障的探测:根据分析结果和当前监控到的故障进行对比,确定是否为未知故障;若为未知故障则将未知故障加入到故障发生模型中,并更新策略库;若不是未知故障,则根据当前故障的信息和所述分析结果完成故障定位。然而,该专利只是利用故障问题数字编码实现故障自动化定位,故障发生的根原因需要基于故障发生模型,在样本较少的情况下,故障发生模型的精度难以满足电力行业的跨层故障分析需求;另外,该专利也无法实现电力行业云平台的全链路故障分析。


技术实现思路

1、本发明为了解决电力行业云平台的全链路故障分析技术问题,提出了一种基于微服务部署的应用和云平台跨层故障分析方法及系统。

2、为实现上述技术目的,本发明采取的技术方案为:

3、本发明公开了一种基于微服务部署的应用和云平台跨层故障分析方法,所述分析方法用于对云平台提供的业务应用组件进行故障分析;所述云平台采用kubernetes部署架构,业务应用基于微服务部署,不同的微服务部署在多个容器部署单元中;

4、所述分析方法包括以下步骤:

5、s1,动态更新业务应用列表和应用主机的资源信息,实时采集业务应用故障数据和云基础设施的监控告警数据;

6、s2,将业务应用故障数据和云基础设施的监控告警数据进行匹配关联,获取待分析的目标位置对应的伪量测数据和量测数据,对待分析的目标位置对应的伪量测数据和量测数据进行统计分析,获得伪量测数据和量测数据的统计特性之间的相关性,判断应用是否出现异常;如果出现异常,转入步骤s3,否则,转入步骤s1;

7、s3,采集并关联分析业务实例本身的内存和gc日志是否出现异常,如果异常,提示业务实例故障,转入步骤s1,否则,转入步骤s4;

8、s4,采集业务应用所在云主机的性能指标,将业务实例本身的内存和gc日志与业务应用所在云主机的性能指标进行关联分析,如果异常,提示云主机故障,判断跨层故障的级别,转入步骤s1,否则,转入步骤s5;云主机的性能指标包括云主机的cpu、内存、网络、磁盘的运行指标;

9、s5,关联云平台组件实例信息,通过云平台组件实例找到其对应的云平台主机,将步骤s3、步骤s4中采集到的数据与云平台主机的监测数据进行关联分析,如果异常,提示云平台故障,判断跨层故障的级别,转入步骤s1,否则,提示本次分析无结果,转入步骤s1;

10、所述云平台主机的监测数据包括:云平台组件实例信息;云平台主机的cpu、内存、网络、磁盘的运行指标;云平台的流量监测数据。

11、进一步地,所述分析方法还包括:

12、将采集到的故障点与推导出的故障发生根原因的集合进行对比,对故障发生模型的树形结构进行推导,获得故障发生路径。

13、进一步地,步骤s2中,获得伪量测数据和量测数据的统计特性之间的相关性的过程包括以下步骤:

14、s21,确定待分析的目标位置,获取目标位置相关的特征数据,定义该目标位置对应的广义函数并设定广义函数的分布参数、变化参数和异常参数,将目标位置相关的特殊数据作为广义函数的输入变量,以生成该目标位置的伪量测数据;目标位置相关的特征数据包括资源使用情况、网络负载和错误率;分布参数用于控制生成数据的概率分布特征,变化参数用于控制生成数据的变化趋势,异常参数用于引入异常情况或者故障模式;

15、s22,收集目标位置的伪量测数据和量测数据,伪量测数据和量测数据在目标位置上具有一致的数据格式和参数设置;其中,伪量测数据是模拟故障数据或由广义函数生成的故障数据,量测数据是实际采集到的数据;

16、s23,采用基于确定性采样的无迹变换方法,将伪量测数据和量测数据进行变换,将伪量测数据和量测数据映射到一组确定性采样点上;

17、s24,基于变换后的伪量测数据和量测数据,分别计算得到伪量测数据和量测数据的包括均值、方差、相关系数在内的统计指标,分析得到伪量测数据和量测数据的统计特性;

18、s25,根据伪量测数据和量测数据的各个统计指标的相关性,分析得到伪量测数据和量测数据的相关性程度,如果相关性程度高于预设相关性阈值,则判断应用发生故障。

19、进一步地,步骤s3中,采集并关联分析业务实例本身的内存和gc日志是否出现异常,如果异常,提示业务实例故障的过程包括以下步骤:

20、判断业务应用本身实例本身内存和gc日志是否出现异常,内存异常包括内存使用量异常增长、内存出现泄露、内存溢出,gc日志异常包括频繁的gc事件、gc时间过长,如果异常,采用关联规则挖掘算法,结合业务代码和内存泄露dump文件中存在应用代码的block日志定位得到故障原因。

21、进一步地,步骤s4中,采集业务应用所在云主机的性能指标,将业务实例本身的内存和gc日志与业务应用所在云主机的性能指标进行关联分析的过程包括:

22、s41,采集业务应用所在云主机的性能指标,云主机的性能指标包括云主机的cpu利用率、内存利用率、磁盘i/o和网络带宽;

23、s42,判断云主机的业务应用是否出现异常,如果异常,选取内存使用增长幅度、cpu利用率、网络带宽占用率、磁盘使用率和并发连接数作为测量指标,判断业务实例内存使用增长幅度是否超过预设的增长幅度峰值,如果超过,判断故障原因为云主机内存故障,结束流程,如果没有超过,转入步骤s43;

24、s43,分析云主机的cpu利用率是否超过预设的cpu利用率峰值,如果超过,判断故障原因为云主机cpu故障,结束流程,如果没有超过,转入步骤s44;

25、s44,从云主机的网络带宽占用率、磁盘使用率、并发连接数分析相关性,根据分析结果判断故障原因。

26、进一步地,步骤s5中,将步骤s3、步骤s4中采集到的数据与云平台主机的监测数据进行关联分析的过程包括以下步骤:

27、s51,收集云平台组件实例的监测数据,云平台组件实例的监测数据包括云平台组件实例的cpu使用率、内存使用率、磁盘i/o、连接数和流量;

28、s52,当业务故障出现时,首先对业务实例的监控数据进行分析判断,业务实例的监控数据包括业务实例的内存使用率、cpu使用率和磁盘i/o,如果业务实例的监控数据均未出现异常,则使用关联分析算法,将业务实例信息和业务应用所在主机的性能指标与云平台组件实例进行关联分析,对业务应用使用的云平台组件实例的监控数据进行分析,如果云平台组件实例的任意一个监控数据出现异常,提示云平台组件实例故障,转入步骤s1,否则,转入步骤s53;

29、s53,通过关联的云平台组件实例数据从云服务厂商侧找到云主机组件实例对应的云主机列表清单,采集云平台主机的性能指标,云平台主机的性能指标包括云平台主机的cpu使用率、内存使用率、磁盘i/o、连接数、流量;使用关联分析算法,将云平台主机的性能指标与业务实例信息、业务应用所在主机的性能指标进行关联分析,如出现一台或多台云平台主机的性能指标出现异常,提示云平台主机性能故障,转入步骤s1,否则,转入步骤s54;云平台组件实例数据包括云平台组件ip、组件实例id数据;

30、s55,采集云平台流量监测数据,云平台流量监测数据信息包括入站流程、出站流量、带宽使用率、流量缝制、数据包丢失率;使用关联分析算法,将云平台流量监测数据与业务实例信息、业务应用所在云主机的性能指标、云平台主机的性能指标进行关联分析,当出现包括云平台监测到大量的非法请求、异常数据包导致云平台出现大面积的服务不可用情况在内的特殊场景时,判断云平台网络流量异常,转入步骤s1,否则,提示本次分析无结果,转入步骤s1。

31、进一步地,所述关联分析的过程包括:扫描数据集并计算每个测量指标的支持度,支持度是指某个测量指标在数据集中出现的频率;选择支持度大于最小支持度阈值的项集作为候选项集;基于候选项集生成候选关联规则;对于候选项集中的每个项集,生成其所有的非空子集作为规则的前提部分,再计算规则的置信度,只保留置信度大于等于给定最小置信度阈值的规则。

32、本发明还公开了一种基于微服务部署的应用和云平台跨层故障分析系统,所述分析系统包括应用指标采集系统、云平台组件实例数据监控系统和微服务全链路故障分析系统;

33、所述应用指标采集系统与云平台连接,对业务应用故障数据进行采集;所述云平台还与云平台统一监控系统连接,云平台统一监控系统用于云平台组件实例数据监控、云平台性能监测和云平台流量统计;云平台包括云服务器ecs、云数据库rds、运营支撑系统oss;

34、所述云平台组件实例数据监控系统用于采集云基础设施的监控告警数据;

35、所述微服务全链路故障分析系统用于采用如前所述的分析方法对云平台提供的业务应用组件进行故障分析。

36、进一步地,所述分析系统还包括全链路展现单元和可疑故障分析单元;

37、所述全链路展现单元用于对业务进行全链路展现;

38、所述可疑故障分析单元用于确定故障类型并提供相应发生故障的应急对策。

39、与现有技术相比,本发明的有益效果如下:

40、第一,本发明的基于微服务部署的应用和云平台跨层故障分析方法及系统,不仅仅只从应用本身分析故障信息,而是结合应用所使用的云平台组件一起进行高效的故障分析,最终判断告警事件的根本原因,有效提升基于微服务架构及k8s部署架构的应用服务故障定位效率及可操作性;

41、第二,本发明的基于微服务部署的应用和云平台跨层故障分析方法及系统,将应用指标采集系统采集到的故障点与推导出的故障发生根原因的集合进行对比,并对故障发生模型的树形结构进行推导,获得故障发生路径,提高故障分析的精准;

42、第三,本发明的基于微服务部署的应用和云平台跨层故障分析方法及系统,获得伪量测的统计特性及其与量测数据之间的相关性,利用目标位置进行过渡,将伪量测抽象为量测的广义函数,采用基于确定性采样的无迹变换来分析伪量测与量测之间的相关性,并判断应用是否出现异常;

43、第四,本发明的基于微服务部署的应用和云平台跨层故障分析方法及系统,通过可疑故障分析单元对所采集的数据以及所存储的数据进行汇总分析和综合判断,从而分析得出应用与云平台跨层故障是否发生、确定故障类型并提供相应发生故障的应急对策,进一步减小了故障发生时庞大的工作量以及紧迫性,故障发生时,首先系统会给出相应的应急对策,根据该应急对策处理故障,而后再根据相关数据对故障原因进行详细分析,进而再根据详细分析的结果去调整运行参数;

44、第五,本发明的基于微服务部署的应用和云平台跨层故障分析方法及系统,通过故障状态判断单元,根据数据分析计算的结果,判断跨层故障的级别,并进行报警提醒,及时派遣相关技术人员对故障进行排除。

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