本发明涉及一种故障定位与分析系统、方法,尤其涉及一种基于日志及链路追踪的微服务故障定位与分析系统、方法。
背景技术:
1、在当今的软件开发中,微服务架构已经成为一种广泛采用的方法。然而,微服务架构面临着一些挑战,其中之一是故障定位和分析的复杂性。传统的微服务故障定位方法通常依赖于手动日志分析和链路技术。开发人员需要花费大量的时间和精力来检查和分析分散在不同微服务中的信息,以确定故障根本原因。这种手动分析的方法存在几个明显的局限性。
2、首先,手动分析是一项繁琐而耗时的工作。随着微服务系统的规模不断扩大,日志及链路数量呈指数增长,手动分析变得更加困难。人工分析过程容易出错,可能会导致故障定位的延迟和不准确性。
3、其次,传统方法可能无法提供准确的故障定位。它们只能提供故障所在的大致范围,而无法精确定位到具体的微服务或组件。这给故障排查和修复带来了很大的挑战,延长了故障恢复时间。
技术实现思路
1、为了解决上述技术所存在的不足之处,本发明提供了一种基于日志及链路追踪的微服务故障定位与分析系统、方法。
2、为了解决以上技术问题,本发明采用的技术方案是:一种基于日志及链路追踪的故障定位与分析系统,包括有如下模块:
3、分析模块,用于获取日志及链路数据,通过自定义的标准对获取的数据进行比对;
4、链路追踪模块,用于记录和跟踪请求在系统中的传递路径和各个组件的调用关系;
5、日志模块,用于存储日志信息,使业务轨迹有迹可循;
6、服务模块,用于对接日志模块及链路追踪模块,探针发送链路数据至链路追踪模块,同时将追踪id发送给至日志模块,通过追踪id将链路数据与日志数据相关联。
7、进一步地,分析模块包含有获取数据单元、标准定制单元、分析单元、展示单元、分析存储单元;
8、通过获取数据单元与链路追踪模块、日志模块交互,实现日志及链路数据的获取;
9、标准定制单元,提供了分析故障的一系列指标;
10、分析单元,用于对获取的数据根据指标进行对比从而得出故障原因和相关影响因素;
11、展示单元,用于提供可视化界面,展示分析结果;
12、分析存储单元,用于将分析的数据存储到其中。
13、进一步地,标准定制单元根据微服务器的特点和需求,定义一组自定义指标,用于故障分析和定位。
14、进一步地,自定义指标为系统性能和故障相关的度量指标,包括但不限于服务响应时间、错误率、并发请求量。
15、进一步地,分析单元根据标准定制单元存储的自定义指标,对数据进行故障定位和分析;运用定义的指标和故障分析模型,识别出潜在的故障根因和影响因素;通过比对指标的异常情况和相关因素的权重,确定故障发生的位置和原因。
16、进一步地,链路追踪模块包含链路服务单元和链路存储单元;
17、链路服务单元负责接收处理并归档链路数据,提供查询链路数据的接口;
18、链路存储单元负责存储链路数据,并作数据持久化操作。
19、进一步地,日志模块包含日志服务单元和日志存储单元;
20、日志服务单元负责对日志进行个性化处理,提供日志查询接口,接收归档日志数据;
21、日志存储单元负责存储日志数据,并作数据持久化操作。
22、进一步地,服务模块包含业务单元、探针单元、日志单元;
23、业务单元处理具体的业务逻辑;
24、探针单元负责生成追踪id并上传链路数据;
25、日志单元负责打印日志数据并发送至日志模块;
26、在打印日志时,探针单元将追踪id上传到日志单元,由此追踪id把请求日志及链路数据做绑定。
27、一种基于日志及链路追踪的故障定位与分析系统的方法,方法为:在业务系统最小入侵的前提下,通过链路信息与日志相结合,监测微服务应用程序中的故障,并根据自定义指标,自动诊断日志、链路数据发生故障的原因。
28、进一步地,通过分析模块获取日志及链路数据,并将数据与自定义标准比对,若数据不符合标准即视为故障,将故障数据进行入库,用于后续展示或通知用;
29、通过服务模块对接日志模块、链路追踪模块,由服务模块探针发送链路数据至链路追踪模块,并在打印日志时,将追踪id上传,通过追踪id将链路数据与日志数据相关联。
30、本发明公开了一种基于日志及链路追踪的故障定位与分析系统及方法,通过结合日志分析和链路追踪技术,能够自动识别故障,提高定位的准确性和效率。同时,本发明还能够深入分析日志和链路数据,以识别故障根因和相关的影响因素,有助于缩短故障恢复时间的同时,提高应用程序的可用性和可靠性,帮助开发人员和运维团队更快更好地理解系统中发生的事件和问题。
1.一种基于日志及链路追踪的故障定位与分析系统,其特征在于:包括有如下模块:
2.根据权利要求1所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:所述分析模块(11)包含有获取数据单元(111)、标准定制单元(112)、分析单元(113)、展示单元(114)、分析存储单元(115);
3.根据权利要求2所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:标准定制单元(112)根据微服务器的特点和需求,定义一组自定义指标,用于故障分析和定位。
4.根据权利要求3所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:自定义指标为系统性能和故障相关的度量指标,包括但不限于服务响应时间、错误率、并发请求量。
5.根据权利要求2所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:所述分析单元(113)根据标准定制单元(112)存储的自定义指标,对数据进行故障定位和分析;运用定义的指标和故障分析模型,识别出潜在的故障根因和影响因素;通过比对指标的异常情况和相关因素的权重,确定故障发生的位置和原因。
6.根据权利要求1所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:所述链路追踪模块(12)包含链路服务单元(121)和链路存储单元(122);
7.根据权利要求1所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:所述日志模块(13)包含日志服务单元(131)和日志存储单元(132);
8.根据权利要求1所述的基于日志及链路追踪的故障定位与分析系统,其特征在于:所述服务模块(14)包含业务单元(141)、探针单元(142)、日志单元(143);
9.一种如权利要求1-8任一项所述的基于日志及链路追踪的故障定位与分析系统的方法,其特征在于:所述方法为:在业务系统最小入侵的前提下,通过链路信息与日志相结合,监测微服务应用程序中的故障,并根据自定义指标,自动诊断日志、链路数据发生故障的原因。
10.根据权利要求9所述的基于日志及链路追踪的故障定位与分析系统的方法,其特征在于:通过分析模块(11)获取日志及链路数据,并将数据与自定义标准比对,若数据不符合标准即视为故障,将故障数据进行入库,用于后续展示或通知用;