一种应用程序异常根因分析的方法及装置与流程

未命名 09-23 阅读:53 评论:0


1.本发明属于智能运维技术领域,具体而言属于一种应用程序异常根因分析的方法及装置。


背景技术:

2.应用程序异常根因分析是一种通过分析和识别应用程序中的异常情况来确定其根本原因的过程。它帮助开发人员和运维团队快速定位和解决应用程序中的问题,以提高应用程序的性能、可用性和稳定性。
3.在现实场景中,应用程序的规模庞大且类型纷乱复杂,对异常根因的定位及分析需要消耗大量的人力成本和人员精力,同时也很难快速查找出发生异常的根因节点。
4.有鉴于此,特提出本发明。


技术实现要素:

5.有鉴于此,本发明公开了一种应用程序异常根因分析的方法及装置,用以帮助企业避免繁琐的异常根因定位,能够快速诊断问题,降低业务风险,提升运维效率和用户体验。
6.具体的,本发明是通过以下技术方案实现的:
7.第一方面,本发明公开了一种应用程序异常根因分析的方法,包括如下步骤:
8.s1、对应用程序进行周期性巡检,触发报警事件并收集报警信息;
9.s2、根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;
10.s3、对定位到的异常根因进行根因分析并生成异常根因分析报告。
11.在应用程序异常根因分析过程中,有两个黄金指标在服务级别帮助衡量中断用户体验、服务中断、业务影响等层面的问题,具体为以下两个指标:
12.请求速率:请求速率是指在给定时间内,系统所处理的请求数量。高请求速率可能表示系统面临着巨大的压力,因此需要进一步评估是否需要扩展系统的资源。
13.错误率:错误率指的是在给定时间内系统请求失败的比率,高错误率可能表示系统出现了问题,因此需要进一步评估系统是否存在故障。
14.进一步地,所述s1步骤中,所述触发报警事件的条件为根据巡检过程中,所述应用程序的延迟指标或错误率指标发生异常的情况下触发报警。
15.优选的,当延迟指标或错误率指标其中一个指标发生异常变动时,触发收集报警信息进行根因分析,具体可以在跟踪阈值p99时延>30秒或error>10%的情况下触发收集报警信息。
16.进一步地,所述s1步骤中,所述收集报警信息的方式为直接从数据存储器中获取数据分析所需时间范围内的所有链路数据,从span中统计获得对应的service数据、resource数据、latency数据、request数据、error_count数据和create_time数据。
17.具体的,数据存储器可以是es或其他数据存储空间,为了保障es或其他数据存储的性能最高利用,首先会将所有的service查询出来,先进行service的异常排查,再根据查询的service进一步查询每个service对应的resource列表中的异常情况,再进一步利用dql查询service及resource以及where指定的project和env,若没有指定的project和env,则查询所有的service。
18.进一步地,所述s2步骤中,所述根因定位的方法包括根据异常观测指标查询该异常观测指标关联的底层水平堆栈的异常情况;
19.若所述底层水平堆栈出现异常,则直接定位到异常指标;
20.若所述底层水平堆栈未出现异常,则判断其垂直堆栈及其垂直堆栈对应的水平堆栈是否有异常,进而定位到异常指标。
21.进一步地,所述s3步骤中,所述异常根因分析报告包括事件概览、错误趋势、异常影响和异常链路采样。
22.具体的,事件概览报告描述异常巡检事件的对象、内容;
23.异常影响报告可查看当前链路的异常服务所影响到的服务及资源;
24.异常链路采样报告可以查看详细的出错时间、服务、资源、链路id;点击服务、资源会进入相应的数据查看器;点击链路id会进入具体链路详情页。
25.进一步地,所述s3步骤中,所述错误趋势为所述应用程序1个小时内的性能指标趋势。
26.第二方面,本发明公开了一种应用程序异常根因分析的装置,包括:
27.报警模块:对应用程序进行周期性巡检,触发报警事件并收集报警信息;
28.异常根因定位模块:根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;
29.异常根因分析模块:对定位到的异常根因进行根因分析并生成异常根因分析报告。
30.第三方面,本发明公开了一种计算机可读存储介质,其上存储有计算机程序所述程序被处理器执行时实现如第一方面所述应用程序异常根因分析的方法的步骤。
31.第四方面,本发明公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述应用程序异常根因分析的方法的步骤。
32.与现有技术相比,本发明的有益效果在于:
33.本发明提出的应用程序异常根因分析的方法及装置,对应用程序的延迟指标和错误率指标进行检测,能够及时对应用程序出现的异常进行处理,并且形成可视化报告,便于直观定位到异常根因的位置,精准解决问题,比传统的应用程序异常根因分析方法更加全面,快速,便捷,可解释。
附图说明
34.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
service出现异常但是在该服务的底层信息没有发现异常,但是检测到其对service1的以来,且service1也表现出异常行为,但是service1的底层也没有发现异常,同理发现service1对service3的依赖,检测到service3的是所有依赖项都表现出异常行为,并且是整个问题的根本原因的一部分。由此可见问题很少是一次性事件,可能通常以常规模式出现,如果依赖于相同组件的任何其他实体也在大约同一时间遇到问题,那么这些实体也将成为问题根本原因分析的一部分。
54.将上述应用程序异常根因分析生成根因分析报告,在报告中可以通过多个模块查看异常原因。
55.具体的,异常根因报告包括:
56.事件概览:描述异常巡检时间的对象、内容等信息;
57.错误趋势:可查看当前应用近1个小时的性能指标;
58.异常影响:可查看当前链路的异常服务所影响到的服务及资源信息;
59.异常链路采样:看查看详细的出错时间、服务、资源、链路id;并且点击服务、中资源会进入相应的数据查看器;点击链路od会进入具体链路详情页。
60.本发明的应用程序异常根因分析的方法,比传统的应用程序异常根因分析方法更加全面,快速,便捷,可解释。
61.本发明还提供了一种应用程序异常根因分析的装置,如图5所示,具体包括:
62.报警模块:对应用程序进行周期性巡检,触发报警事件并收集报警信息;
63.异常根因定位模块:根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;
64.异常根因分析模块:对定位到的异常根因进行根因分析并生成异常根因分析报告。
65.该装置主要由上述三个模块构成,通过该系统的搭建很好的实现同时挂载同一个文件系统可实现并行操作的目的。
66.具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
67.图6为本发明公开的一种计算机设备的结构示意图。参考图6所示,该计算机设备400,至少包括存储器402和处理器401;所述存储器402通过通信总线403和处理器连接,用于存储所述处理器401可执行的计算机指令,所述处理器401用于从所述存储器402读取计算机指令以实现上述实施例所述应用程序异常根因分析的方法的步骤。
68.对于上述装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
69.适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、
磁盘(例如内部磁盘或可移动盘)、磁光盘以及cd rom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
70.最后应说明的是:虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
71.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
72.由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
73.以上所述仅为本发明公开的较佳实施例而已,并不用以限制本公开,凡在本发明公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明公开保护的范围之内。

技术特征:
1.一种应用程序异常根因分析的方法,其特征在于,包括以下步骤:s1、对应用程序进行周期性巡检,触发报警事件并收集报警信息;s2、根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;s3、对定位到的异常根因进行根因分析并生成异常根因分析报告。2.根据权利要求1所述的应用程序异常根因分析的方法,其特征在于,所述s1步骤中,所述触发报警事件的条件为根据巡检过程中,所述应用程序的延迟指标或错误率指标发生异常的情况下触发报警。3.根据权利要求1所述的应用程序异常根因分析的方法,其特征在于,所述s1步骤中,所述收集报警信息的方式为直接从数据存储器中获取数据分析所需时间范围内的所有链路数据,从span中统计获得对应的service数据、resource数据、latency数据、request数据、error_count数据和create_time数据。4.根据权利要求1所述的应用程序异常根因分析的方法,其特征在于,所述s2步骤中,所述根因定位的方法包括根据异常观测指标查询该异常观测指标关联的底层水平堆栈的异常情况;若所述底层水平堆栈出现异常,则直接定位到异常指标;若所述底层水平堆栈未出现异常,则判断其垂直堆栈及其垂直堆栈对应的水平堆栈是否有异常,进而定位到异常指标。5.根据权利要求1所述的应用程序异常根因分析的方法,其特征在于,所述s3步骤中,所述异常根因分析报告包括事件概览、错误趋势、异常影响和异常链路采样。6.根据权利要求5所述的应用程序异常根因分析的方法,其特征在于,所述错误趋势为所述应用程序1个小时内的性能指标趋势。7.一种应用程序异常根因分析的装置,使用如权利要求1-6任一项所述的方法,其特征在于,包括:报警模块:对应用程序进行周期性巡检,触发报警事件并收集报警信息;异常根因定位模块:根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;异常根因分析模块:对定位到的异常根因进行根因分析并生成异常根因分析报告。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序执行时实现权利要求1-6任一项所述应用程序异常根因分析的方法的步骤。9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6任一项所述应用程序异常根因分析的方法的步骤。

技术总结
本发明提供一种应用程序异常根因分析的方法及装置,所述方法包括:S1、对应用程序进行周期性巡检,触发报警事件并收集报警信息;S2、根据所述报警信息中各观测指标的垂直和水平拓扑依赖关系进行异常根因定位;S3、对定位到的异常根因进行根因分析并生成异常根因分析报告。本发明的应用程序异常根因分析的方法用以帮助企业避免繁琐的异常根因定位,能够快速诊断问题,降低业务风险,提升运维效率和用户体验。体验。体验。


技术研发人员:潘杨 蒋烁淼
受保护的技术使用者:上海观测未来信息技术有限公司
技术研发日:2023.06.26
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐