[发明专利]一种分布式环境下的日志收集系统及日志收集方法在审
申请号: | 202010742719.8 | 申请日: | 2020-07-29 |
公开(公告)号: | CN112003831A | 公开(公告)日: | 2020-11-27 |
发明(设计)人: | 陈龙飞;朱水平;杨文澜 | 申请(专利权)人: | 苏州玩蜂软件科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F16/18 |
代理公司: | 南京苏科专利代理有限责任公司 32102 | 代理人: | 姚姣阳 |
地址: | 215000 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 环境 日志 收集 系统 方法 | ||
本发明揭示了一种分布式环境下的日志收集系统及日志收集方法,系统包括:用户请求接收模块,用于接收来自用户的服务请求、生成对应的traceID并存入系统线程中,再将所接收到的服务请求向后传递;业务执行模块,用于接收服务请求,执行具体的业务操作,对于业务操作过程中的业务日志进行存储和记录;日志记录模块,用于记录日志并发布日志消息,对日志消息的框架进行扩展,随后从系统线程中提取traceID并进行传递。本发明针对于分布式环境的实际特征,实现了对各个应用节点内的日志收集及整理排序,为请求链路提供了traceID方案、使得整体请求被串联起来,有效地解决了分布式环境下的日志采集及链路性能分析的问题。
技术领域
本发明为一种日志收集系统及应用该系统的日志收集方法,具体涉及一种适用于java语言开发的、应用于分布式环境下的日志收集系统及日志收集方法,属于互联网技术领域。
背景技术
随着近年来互联网技术的飞速发展、用户量的逐年激增。在网络服务的过程中,各类高并发场景越来越常见,这也就直接导致网络内的应用节点数量成倍增加,加之现有技术中生产网络与开发网络间的隔离,从而导致在生产环境下很难直接查看应用内的日志信息,尤其针对于分布式环境,这一问题更为突出。
由于在分布式环境中,日志信息散落在各个服务器内,因此在进行日志信息查看时难以准确地区分且无法排序,对于请求链路更是无从查起,这也就给生产出现状况时的问题快速定位造成了极大的阻碍。
在现有技术中,对于日志收集的相关操作,主要通过ELK(Elastiscsearch,Logstash,Kibana)来完成,但是在使用这些开源软件进行日志收集时,经常会出现以下几个方面的问题:
首先,ELK只能够执行日志收集操作,并不能够提供链路日志,这一缺陷在分布式环境下是致命的,这意味着使用者无法对链路日志的性能进行实时监控。
此外,以Logstash为例,Logstash在进行配置采集时并不能够实现动态修改,且Logstash需要单独配置,无法监控采集过程、采集性能稍低。
综上所述,如何基于上述技术现状,设计出一种全新的、适用于java语言开发的、应用于分布式环境下的日志收集系统及日志收集方法,以克服现有技术中所存在的不足,也就成为了本领域内技术人员所共同关注的问题。
发明内容
鉴于现有技术存在上述缺陷,本发明的目的是提出一种适用于java语言开发的、应用于分布式环境下的日志收集系统及日志收集方法,具体如下。
一种分布式环境下的日志收集系统,包括:
用户请求接收模块,用于接收来自用户的服务请求、生成对应的traceID并存入系统线程中,再将所接收到的服务请求向后传递;
业务执行模块,用于接收来自所述用户请求接收模块的服务请求,执行具体的业务操作,对于业务操作过程中的业务日志进行存储和记录;
日志记录模块,用于在服务请求进入所述业务执行模块前以及所述业务执行模块完成业务操作后,记录日志并发布日志消息,对日志消息的框架进行扩展,随后从系统线程中提取traceID并进行传递。
优选地,所述用户请求接收模块内包括:
跟踪ID生成子模块,用于接收来自用户的服务请求,依据所接收的用户的服务请求生成对应的traceID并存入系统线程的共享变量中;
用户请求拦截子模块,用于依据预设的拦截方式,在针对用户的服务请求生成traceID时对其他的服务请求进行拦截。
优选地,所述日志记录模块内包括:
日志格式定义子模块,用于对日志消息的格式及日志消息的框架进行定义和指定;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州玩蜂软件科技有限公司,未经苏州玩蜂软件科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010742719.8/2.html,转载请声明来源钻瓜专利网。