一种后端全链路采集系统的制作方法

文档序号:34461768发布日期:2023-06-15 03:39阅读:45来源:国知局
一种后端全链路采集系统的制作方法

本申请涉及上位领域,尤其是一种后端全链路采集系统。


背景技术:

1、采集服务的链路日志并关联上下游的服务,可以方便定位问题,根据链路查询该链路的请求和中间件以及相关服务的耗时、报错等。业界的基本方案有如下几种:方案一、通过使用类似aop的方式,基于拦截器的实现,开源方案有cat。方案二、通过使用探针的方式,代码零侵入,开源方案有skywalking。。

2、方案一对代码侵入性强,采集面狭窄,不能针对单一链路(上下游服务)。方案二采集的粒度不可控,比如采集redis只想采集本服务发出的指令(忽略中间件jedis本身),还有服务多,部署维护成本高。因此,针对上述问题提出一种后端全链路采集系统。


技术实现思路

1、在本实施例中提供了一种后端全链路采集系统。

2、根据本申请的一个方面,提供了一种后端全链路采集系统,包括threadcontext模块、启动模块、本地模块、flume模块和错误码api模块,所述错误码api模块分别连接java服务模块和javagent命令模块,所述java服务模块与所述javagent命令模块连接,所述javagent命令模块与探针模块连接,所述探针模块一侧与tcp模块连接,所述tcp模块与所述flume模块连接,所述启动模块与servlet模块连接,所述servlet模块分别与out模块和service模块连接,所述service模块与plugin模块连接,所述servlet模块、service模块和plugin模块均与所述threadcontext模块连接,所述out模块与reporter模块连接,所述reporter模块与本地模块和flume模块连接。

3、进一步地,所述flume模块内部设置上报单元和配置单元,所述配置单元分别连接本地模块和nacos模块。

4、进一步地,所述本地模块内部设置agent单元和core单元,所述agent单元和core单元包括包含初始化配置和日志等。

5、进一步地,所述plugin模块一侧连接boot-plugin模块,所述boot-plugin模块通过云端连接nacos模块。

6、进一步地,所述threadcontext模块一侧连接toolkit模块,所述toolkit模块与本地模块连接。

7、进一步地,所述plugin模块支持市面上主流的插件。

8、进一步地,所述boot-plugin模块支持nacos和支持探针配置的动态化。

9、进一步地,所述threadcontext模块用于存储链路信息。

10、进一步地,所述javagent命令模块可以识别错误码api和修改启动脚本。

11、进一步地,所述探针模块可以将指定的探针包发放到服务器目录或者初始化容器拉取探针镜像。



技术特征:

1.一种后端全链路采集系统,其特征在于:包括threadcontext模块(1)、启动模块(4)、本地模块(7)、flume模块(10)和错误码api模块(14),所述错误码api模块(14)分别连接java服务模块(15)和javagent命令模块(13),所述java服务模块(15)与所述javagent命令模块(13)连接,所述javagent命令模块(13)与探针模块(12)连接,所述探针模块(12)一侧与tcp模块(11)连接,所述tcp模块(11)与所述flume模块(10)连接,所述启动模块(4)与servlet模块(2)连接,所述servlet模块(2)分别与out模块(5)和service模块(21)连接,所述service模块(21)与plugin模块(20)连接,所述servlet模块(2)、service模块(21)和plugin模块(20)均与所述threadcontext模块(1)连接,所述out模块(5)与reporter模块(6)连接,所述reporter模块(6)与本地模块(7)和flume模块(10)连接。

2.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述flume模块(10)内部设置上报单元(18)和配置单元(17),所述配置单元(17)分别连接本地模块(7)和nacos模块(16)。

3.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述本地模块(7)内部设置agent单元(8)和core单元(9),所述agent单元(8)和core单元(9)包括包含初始化配置和日志等。

4.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述plugin模块(20)一侧连接boot-plugin模块(19),所述boot-plugin模块(19)通过云端连接nacos模块(16)。

5.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述threadcontext模块(1)一侧连接toolkit模块(3),所述toolkit模块(3)与本地模块(7)连接。

6.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述plugin模块(20)支持市面上主流的插件。

7.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述boot-plugin模块(19)支持nacos和支持探针配置的动态化。

8.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述threadcontext模块(1)用于存储链路信息。

9.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述javagent命令模块(13)可以识别错误码api和修改启动脚本。

10.根据权利要求1所述的一种后端全链路采集系统,其特征在于:所述探针模块(12)可以将指定的探针包发放到服务器目录或者初始化容器拉取探针镜像。


技术总结
本申请公开了一种后端全链路采集系统,包括ThreadContext模块、启动模块、本地模块、flume模块和错误码API模块,所述错误码API模块分别连接Java服务模块和javagent命令模块,所述Java服务模块与所述javagent命令模块连接,所述javagent命令模块与探针模块连接,所述探针模块一侧与tcp模块连接,所述tcp模块与所述flume模块连接,所述启动模块与servlet模块连接,所述servlet模块分别与out模块和service模块连接,所述service模块与plugin模块连接,所述servlet模块、service模块和plugin模块均与所述ThreadContext模块连接,所述out模块与reporter模块连接,所述reporter模块与本地模块和flume模块连接。本申请基于错误码加探针全链路日志采集方案,解决链路日志采集,模块简单易部署,配置可选支持动态发布,对业务系统无侵入性,支持虚拟机和容器环境。

技术研发人员:李继涛,王广民,滕雪松
受保护的技术使用者:北京比特易湃信息技术有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1