一种业务日志全链路跟踪方法及系统技术方案

技术编号:29261512 阅读:12 留言:0更新日期:2021-07-13 17:35
本发明专利技术涉及一种业务日志全链路跟踪方法及系统,所述的方法包括以下步骤:S1:获取业务日志;S2:对业务日志进行染色处理,将染色处理后的业务日志送入日志队列Kafka中;S3:监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗;S4:实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka;S5:储存清洗后的业务日志数据。与现有技术相比,本发明专利技术基于染色处理方法实现业务日志的全链路跟踪,提高业务日志的查询效率,针对日志队列Kafka设置守护线程,提高业务日志处理的稳定性。

【技术实现步骤摘要】
一种业务日志全链路跟踪方法及系统
本专利技术涉及一种业务日志跟踪领域,尤其是涉及一种业务日志全链路跟踪方法及系统。
技术介绍
随着系统业务功能的丰富和拓展,业务系统的使用过程中会产生大量的日志数据,需要通过日志组件对日志数据进行处理。现有的日志组件,只能解决日志进行归集问题,或只能针对某一场景进行追踪标记,不能将标记字段进行服务间的传递。如果微服务中任一环节出现问题,要准确追踪到问题所在,就只能分段查询各节点业务日志来追踪出现问题的业务追踪链,费时费力。并且现有的日志队列Kafka中守护线程机不完善,不能在日志队列Kafka出现异常时及时进行处理,进一步导致日志组件出现异常。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种业务日志全链路跟踪方法及系统。本专利技术的目的可以通过以下技术方案来实现:一种业务日志全链路跟踪方法,包括以下步骤:S1:获取业务日志;S2:对业务日志进行染色处理,将染色处理后的业务日志送入日志队列Kafka中;S3:监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗;S4:实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka;S5:储存清洗后的业务日志数据。优选地,所述的步骤S3中基于logstash对日志队列Kafka进行监听、抽取和清洗,并将不符合要求的日志丢弃。优选地,所述步骤S4具体包括:S41:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,进入步骤S42,否则返回S41继续扫描;S42:将Kafka中的业务日志送入本地日志存储器,进入步骤S43;S43:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,返回S43重新扫描,否则进入步骤S44;S44:将本地日志存储器中的日志通过日志队列Kafka的远程服务投递至日志队列Kafka中。优选地,所述的本地日志存储器的空间超过上限后将丢弃本地日志存储器中储存的业务日志。优选地,所述的方法还包括步骤S6:利用kibana对业务日志进行可视化展示。优选地,所述的步骤S2采用链路跟踪染色技术分别对业务日志的技术组件在交互时进行链路染色字段的创建和传递,将一笔业务请求所关联的所有技术组件创建携带相同的链路染色字段。优选地,所述的技术组件包括http协议、同步线程、异步线程、AMQP协议、远程调用。一种业务日志全链路跟踪系统,包括日志增强模块、Kafka模块、日志清洗模块、日志存储模块和守护线程模块,所述的日志增强模块获取业务日志,对业务日志进行染色处理,将染色处理后的业务日志送入Kafka模块的日志队列Kafka中;所述的Kafka模块获取染色处理后的业务日志并管理日志队列Kafka,所述的守护线程模块实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka,所述的日志清洗模块监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗,所述的日志存储模块储存清洗后的业务日志数据。优选地,所述的日志增强模块采用链路跟踪染色技术分别对业务日志的技术组件在交互时进行链路染色字段的创建和传递,将一笔业务请求所关联的所有技术组件创建携带相同的链路染色字段。优选地,所述的日志清洗模块基于logstash对日志队列Kafka进行监听、抽取和清洗。优选地,所述的系统还包括可视化模块,所述的可视化模块利用kibana对业务日志进行可视化展示。与现有技术相比,本专利技术具有如下优点:(1)本专利技术对业务日志进行染色处理,使一笔业务请求所关联的所有技术组件创建携带相同的链路染色字段,将跨应用业务日志进行关联,与日志队列、日志清洗配合实现业务日志的全链路追踪,从而节省故障排查时长;(2)针对日志队列Kafka设置守护线程,实时获取日志队列Kafka的状态,并在日志队列Kafka出现异常时进行及时有效的备份暂存,当异常恢复后将备份送入日志队列,有效提高对日志队列Kafka出现异常时处理的效率和准确性,防止消息队列出现异常后导致整个日志组件的异常;(3)本专利技术基于logstash对日志队列Kafka进行监听、抽取和清洗,清洗出有效的日志数据,提高业务日志全链路追踪的效率,降低业务日志的占用空间。附图说明图1为本专利技术的一种业务日志全链路跟踪方法的流程图;图2为本专利技术的一种业务日志全链路跟踪方法的步骤S4的具体流程图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本专利技术并不意在对其适用物或其用途进行限定,且本专利技术并不限定于以下的实施方式。实施例一种业务日志全链路跟踪方法,包括以下步骤:S1:获取业务日志;S2:对业务日志进行染色处理,将染色处理后的业务日志送入日志队列Kafka中。具体地,步骤S2采用链路跟踪染色技术分别对业务日志的技术组件在交互时进行链路染色字段的创建和传递,确保一笔业务请求所关联的所有技术组件携带相同的链路染色字段。本实施例中,S2中技术组件包括http协议、同步线程、异步线程、AMQP协议、远程调用。S3:监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗,并将不符合要求的日志丢弃。本实施例中,步骤S3中基于logstash对日志队列Kafka进行监听、抽取和清洗。S4:实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka。进一步地,为了对异常时的日志队列Kafka进行及时有效的保护和判定,对日志队列Kafka进行守护线程的具体步骤包括:S41:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,进入步骤S42,否则返回S41继续扫描;S42:将Kafka中的业务日志送入本地日志存储器,进入步骤S43;S43:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,返回S43重新扫描,否则进入步骤S44;S44:将本地日志存储器中的日志通过日志队列Kafka的远程服务投递至日志队列Kafka中。本实施例中,S41、S45中间隔扫描日志队列Kafka的Failover文件的时间间隔均为1分钟,能够有效及时的对日志队列Kafka的异常进行获取和处理。S42的本地日志存储器的空间超过上本文档来自技高网...

【技术保护点】
1.一种业务日志全链路跟踪方法,其特征在于,包括以下步骤:/nS1:获取业务日志;/nS2:对业务日志进行染色处理,将染色处理后的业务日志送入日志队列Kafka中;/nS3:监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗;/nS4:实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka;/nS5:储存清洗后的业务日志数据。/n

【技术特征摘要】
1.一种业务日志全链路跟踪方法,其特征在于,包括以下步骤:
S1:获取业务日志;
S2:对业务日志进行染色处理,将染色处理后的业务日志送入日志队列Kafka中;
S3:监听日志队列Kafka中的业务日志,并对日志队列Kafka中的业务日志进行抽取及清洗;
S4:实时对日志队列Kafka进行守护线程,将日志队列Kafka异常时的日志暂存,并在日志队列Kafka恢复正常时将暂存的日志推送至日志队列Kafka;
S5:储存清洗后的业务日志数据。


2.根据权利要求1所述的一种业务日志全链路跟踪方法,其特征在于,所述的步骤S3中基于logstash对日志队列Kafka进行监听、抽取和清洗。


3.根据权利要求1所述的一种业务日志全链路跟踪方法,其特征在于,所述步骤S4具体包括:
S41:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,进入步骤S42,否则返回S41继续扫描;
S42:将Kafka中的业务日志送入本地日志存储器,进入步骤S43;
S43:间隔扫描日志队列Kafka的Failover文件,判断Kafka的健康状态,若健康状态为异常,返回S43重新扫描,否则进入步骤S44;
S44:将本地日志存储器中的日志通过日志队列Kafka的远程服务投递至日志队列Kafka中。


4.根据权利要求1所述的一种业务日志全链路跟踪方法,其特征在于,所述的方法还包括步骤S6:利用kibana对业务日志进行可视化展示。


5.根据权利要求1所述的一种业务日志全链路跟踪方法,其特征在于,所述的步骤S2采用链路跟踪染色技术分别对业务日志的技术组件在交互时...

【专利技术属性】
技术研发人员:李虎曾毅峰俞敏徐朋兵
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1