[发明专利]一种高可靠的实时日志收集及可视化检索方法有效
申请号: | 201811479203.8 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109542733B | 公开(公告)日: | 2020-05-01 |
发明(设计)人: | 史飞悦;房鹏展 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F16/14;G06F16/182;G06F16/13;G06F16/18 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210032 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 可靠 实时 日志 收集 可视化 检索 方法 | ||
1.高可靠的实时日志收集及可视化检索方法,其特征是,步骤如下:
步骤1,设置实时日志收集架构:
设置通用的实时日志收集架构,确保日志收集完整:设有实时日志收集,日志数据加密传输,日志数据完整性检查,缺失告警,检查结果可视化系统架构;在目标日志服务器上部署Flume客户端及自定义Flume插件、Kafka集群、Storm集群、HDFS分布式文件系统;通过配置Flume配置文件,进行多线程的目标日志读取,并将读取的数据传输至Kafka集群;Kafka集群通过创建的分区与Kafka集群的Topic归类进行日志数据的缓存,并通过配置的自动清理机制清除过期的日志数据,避免Kafka消息堆积引起磁盘存储问题;Storm集群通过提交日志数据处理Topology任务,进行Kafka消息流式消费,并写入HDFS分布式文件系统,在过程中进行日志数据完整性检查,并将检查结果写入数据库中;最后通过开源调度工具Pentaho,编写定时调度作业,进行检查结果的处理,按制定的告警策略对日志文件完整性检查失败的结果进行邮件、短信的通知,并通过报表工具QlikView,开发报表实现准实时的检查结果展示;
设有日志数据压缩、加密算法模块,在Flume发送数据时,进行数据加密、压缩,并在Storm中再进行数据解压、解密还原;这样一方面保证了数据的安全性,同时可以降低数据传输所需的网络带宽,而Kafka集群在本地缓存数据时,就地加密存储,多方面确保了日志数据的安全性;
步骤2,日志数据完整性检查流程与算法步骤:通过自定义Flume插件在传输日志数据时,对已收集的日志文件发送检查消息,使Storm集群落地至HDFS的日志数据进行完整性检查,将检查结果入库,并且流式的向后传递检查结果消息;
步骤3,切片日志文件删除与缺失数据重传流程与算法步骤:
1)自定义Flume插件订阅Kafka数据检查Topic,解析检查结果;检查成功,则进行本地的切片日志文件清理工作,以减轻磁盘压力;
2)若检查失败,则根据缺失的日志文件名以及日志文件行号信息,重新读取缺失的日志文件,以相同的日志文件数据流向管道写入Kafka集群,并在最后添加日志文件完整性检查消息,等待步骤2;直至日志文件检查完整或者检查次数超过设定阈值;
在步骤1至3下,日志文件数据的完整性有了保证;
步骤4,设置实时日志可视化检索架构:
设有实时日志订阅模块,实时日志解析、过滤,实时日志可视化检索系统架构;实时日志订阅模块指搭建Elasticsearch集群与Kibana,使Kibana能利用Elasticsearch的REST接口来检索存储在Elasticsearch数据;通过配置Logstash配置文件,订阅Kafka中的某一个或多个日志数据缓存的Topic,将日志数据解析、过滤后,以指定索引写入Elasticsearch;最后在Kibana Web页面通过指定的索引,自定义日志数据的实时检索、查询与分析。
2.根据权利要求1所述的高可靠的实时日志收集及可视化检索方法,其特征是,步骤2中 ,
1)Flume在收集日志时,首先会对目标日志进行实时切片,切片策略包括按时间分钟、小时、天得到切片的日志文件,切片的日志文件以时间格式存储为本地文件,并本地保存目标切片日志文件的偏移量,防止程序异常关闭,异常关闭指人为或者自身出错引起导致再次启动时日志数据的重复或者丢失;
2)对于切片的日志文件,通过自定义Flume插件实时读取,将日志文件数据逐行写入Kafka集群,并在每一行消息头部添加日志数据附带属性;其间实时保存读取的日志文件信息,包括文件名、文件偏移量、当前文件行数信息,保证再次启动时日志文件能够准确无误地继续读取;
3)自定义Flume插件定时执行任务,对需要检查的切片日志,以日志文件数据相同的数据管道向后发送日志文件数据检查消息,包括日志文件数据的文件名,日志文件数据最大行数;
4)Storm Topology在处理日志文件数据的同时,会收到文件检查消息,对落地至HDFS的日志数据进行完整性检查,并将检查结果写入数据库,流式地将检查结果写入Kafka数据检查Topic中;
5)定时作业根据日志数据的切片日志文件的策略,对HDFS落地的日志数据以及数据库中的记录信息检查结果进行告警裁定,将需告警的信息以邮件、短信形式通知运维人员。
3.根据权利要求1所述的高可靠的实时日志收集及可视化检索方法,其特征是,步骤4中,
1)Logstash在订阅日志数据时,根据日志数据在Kafka中的分区数,确定多线程数量,以达到日志数据的实时消费;
2)Logstash在解析、过滤日志数据时,首先处理解析日志消息的头部信息,提取其中的数据附带属性,并作为关键字段添加至日志消息尾部;其次,根据指定规则过滤不需要的日志数据或者垃圾数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811479203.8/1.html,转载请声明来源钻瓜专利网。