【技术实现步骤摘要】
一种通用的分布式日志上下文检索系统及方法
本专利技术涉及日志检索方法领域,尤其涉及的是通用的分布式日志上下文检索系统及方法。
技术介绍
现有技术中,行业使用比较多的分布式系统日志收集方案使用ELK(Elasticsearch、Logstash、Kibana),Logstash负责从分布式系统中的各个节点发送日志到Elasticsearch对日志进行索引,Kibana是用来展示和检索日志。ELK使用Logstash在日志产生服务器收集日志发往Elasticsearch进行索引,Elasticsearch基于apachelucene将日志内容本身也存储与索引之中,以便Kibana根据用户输入参数进行日志检索。这种方式存在以下几点缺陷:1、缺少原始日志上下文和会话上下文信息,在web系统中如果日志失去上下文信息,排查问题、数据分析会变得不可能。2、部署安装较为麻烦,各个系统之间依赖关系较多。3、Logstash与Elasticsearch采用http协议,http并不是很适合大量实时 ...
【技术保护点】
1.一种通用的分布式日志上下文检索系统,其特征在于,包括kk-log-agnet模块、kk-log-server模块、kk-log-explorer模块、nio server模块;/n所述kk-log-agnet模块用于读取日志文件,并将读取的日志发送至kk-log-server模块;/n所述kk-log-server模块用于接收日志,并索引日志,以供前端用户搜索日志、浏览日志、权限验证;/n所述kk-log-explorer模块为kk-log-agnet模块的内置模块,kk-log-explorer模块给kk-log-server模块提供http api用于加载日志详情; ...
【技术特征摘要】
1.一种通用的分布式日志上下文检索系统,其特征在于,包括kk-log-agnet模块、kk-log-server模块、kk-log-explorer模块、nioserver模块;
所述kk-log-agnet模块用于读取日志文件,并将读取的日志发送至kk-log-server模块;
所述kk-log-server模块用于接收日志,并索引日志,以供前端用户搜索日志、浏览日志、权限验证;
所述kk-log-explorer模块为kk-log-agnet模块的内置模块,kk-log-explorer模块给kk-log-server模块提供httpapi用于加载日志详情;
所述nioserver模块为kk-log-server模块的内置模块,nioserver模块用于接收kk-log-agent推送的日志内容,并进行索引。
2.根据权利要求1所述的通用的分布式日志上下文检索系统,其特征在于,所述kk-log-agnet模块还用于监控日志文件的rename和create事件,在每日0点发生日志切割时,能够继续读取到新的日志数据。
3.一种通用的分布式日志上下文检索方法,其特征在于,包括如下步骤:
S1、启动kk-log-agnet,kk-log-agnet与kk-log-server建立tcp连接,kk-log-agnet发送基础信息至kk-log-server,等待kk-log-server进行基础信息检查,返回ok后,kk-log-agnet与kk-log-server双方应用层握手完成;
S2、kk-log-agnet读取日志文件,并记录读取到的行记录的文件指针位置和读取到行记录的长度,将以上数据推送到kk-log-server,进入下一次读取循环,以此往复;
S3、kk-log-server内部的nioserver,接收kk-log-agent应用层握手和日志相关数据,判断日志内容中是否存在reqId参数;
S4、步骤S3中,将日志内容、文件指针、创建时间、提交到apachelucene索引,若reqId存在时,reqId一并提交,并为reqId建立专门字段以便实现进行基于会话的日志上下文跟踪,若reqId不存在,则忽...
【专利技术属性】
技术研发人员:王刚,
申请(专利权)人:深圳前海移联科技有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。