一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于ELK的日志定时备份方法及系统与流程

2021-10-20 00:39:00 来源:中国专利 TAG:定时 备份 方法 系统 日志

一种基于elk的日志定时备份方法及系统
技术领域
1.本发明公开一种基于elk的日志定时备份方法及系统,涉及数据存储技术领域。


背景技术:

2.elk(elasticsearch,logstash,kibana)是一套常见的开源日志数据分析平台方案,一般是通过搜索引擎elasticsearch、日志处理服务logstash (filebeat)、数据缓存队列kafka、可视化日志分析kibana等组件,将日志的存储、数据采集、展现分析多个功能集成为一个独立的解决方案。
3.日志数据(log data)是应用系统在运行时产生的具有时序性质的附带数据,包括系统自身日志、用户操作日志、运行环境的监控日志等;日志数据可用来对系统故障、错误进行溯源排查,通过操作日志对系统的变更进行追踪、审计,还可以用于监控系统环境的运行状况、发现系统的性能瓶颈、以及通过日志的警告错误信息及时对系统的运维管理端进行告警,很多复杂的互联网应用还会在日志中挖掘潜在业务价值,会在后台对每个使用者的操作行为进行单独的日志记录,并加以分析挖掘生成用户画像,并与推荐系统等结合,为使用者推送与其喜好、兴趣、定位相关的产品服务等。
4.大型的应用系统所产生的日志往往是海量、多维度的,能够高效、快速的对系统即时发生日志数据进行采集并入库,达到可分析的效果,必须使用一些较为成熟的日志分析系统。elk是较为常用的大型日志分析系统的解决方案,其中elasticsearch是常用的搜索引擎,提供日志的存储;logstash和kafka 用于对系统实时推送的日志条目进行归一化和平稳写入elasticsearch索引; kibana则是提供了基于多种图表的可视化日志分析功能,同时可支持定制。elk 方案可满足目前大多数大型系统的日志处理方案。
5.日志备份(log backup)是大型日志处理系统所需要的另一套组件,根据不同的系统有不同的需求,在elk方案内,elasticsearch随着索引数据的不断增加,日志数据的入库延迟会随数据条目增多上升,造成kafka队列的拥堵,基于搜索引擎的日志查询分析性能也会逐渐下降;日志备份系统用于定期或手动对日志数据进行备份,同时清理一些失效的数据,保证日志处理性能的正常。
6.针对当前elk方案在elasticsearch的索引数据量增大时,造成数据的入库、查询性能的下降问题,本发明一种基于elk的日志定时备份方法及系统,以解决上述问题。


技术实现要素:

7.本发明针对现有技术的问题,提供一种基于elk的日志定时备份方法及系统,所采用的技术方案为:一种基于elk的日志定时备份方法,所述的方法具体步骤包括:
8.s1利用日志备份管理服务为流程管理和备份策略进行定义;
9.s2根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入;
10.s3采用elasticjob zookeeper方案进行备份任务调度服务;
11.s4对日志备份通过文件系统方式进行存储;
12.s5将日志备份数据以parquet格式进行存储。
13.所述s1中的日志本分管理服务包括日志备份管理策略、日志备份规则和日志备份任务执行监控,具体步骤包括:
14.s101利用日志备份策略制定备份任务的执行时间;
15.s102利用日志备份规则确定进行备份的日志内容和规则;
16.s103利用日志备份任务执行监控对任务是否执行、当前同步的日志索引名称、写入数据量、执行时间和执行状态的信息进行监控。
17.所述s3采用elasticjob zookeeper方案进行备份任务调度服务的具体步骤包括:
18.s301下发策略给备份任务调度服务,elasticjob根据策略按照计划执行调度;
19.s302当调度计划满足条件时,elasticjob将任务推送给数据抽取服务。
20.所述s4对日志备份通过文件系统方式进行存储,数据抽取服务接收到任务,开始执行日志数据备份,备份任务子流程步骤包括:
21.s401数据抽取服务连接elasticsearch集群,根据规则读取遍历符合规则需要备份的日志数据索引;
22.s402通过elasticsearch接口生成elasticsearch分片查询的scrollid s403根据scrollid使用elasticsearch接口分片拉取索引的json数据,将数据写入进程内的异步队列。
23.所述s5将日志备份数据以parquet格式进行存储的具体步骤包括:
24.s501在新线程内接受异步队列的索引json数据内容,将json结构转换为 parquet格式后写入hdfs;
25.s502当全量抽取数据结束后,根据规则“是否删除结束后删除索引本身”,确定将elasticsearch的原索引删除。
26.一种基于elk的日志定时备份系统,所述的系统具体包括定义模块、读取模块、调度模块、备份模块和存储模块:
27.定义模块:利用日志备份管理服务为流程管理和备份策略进行定义;
28.读取模块:根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入;
29.调度模块:采用elasticjob zookeeper方案进行备份任务调度服务;
30.备份模块:对日志备份通过文件系统方式进行存储;
31.存储模块:将日志备份数据以parquet格式进行存储。
32.所述定义模块中的日志本分管理服务包括日志备份管理策略、日志备份规则和日志备份任务执行监控,定义模块具体包括定时模块、规则模块和监控模块:
33.定时模块:利用日志备份策略制定备份任务的执行时间;
34.规则模块:利用日志备份规则确定进行备份的日志内容和规则;
35.监控模块:利用日志备份任务执行监控对任务是否执行、当前同步的日志索引名称、写入数据量、执行时间和执行状态的信息进行监控。
36.所述调度模块具体包括执行模块和推送模块:
37.执行模块:下发策略给备份任务调度服务,elasticjob根据策略按照计划执行调
度;
38.推送模块:当调度计划满足条件时,elasticjob将任务推送给数据抽取服务。
39.所述备份模块对日志备份通过文件系统方式进行存储,数据抽取服务接收到任务,开始执行日志数据备份,备份模块具体包括筛选模块、查询模块和写入模块:
40.筛选模块:数据抽取服务连接elasticsearch集群,根据规则读取遍历符合规则需要备份的日志数据索引;
41.查询模块:通过elasticsearch接口生成elasticsearch分片查询的 scrollid;
42.写入模块:根据scrollid使用elasticsearch接口分片拉取索引的json 数据,将数据写入进程内的异步队列。
43.所述存储模块具体包括转换模块和删除模块:
44.转换模块:在新线程内接受异步队列的索引json数据内容,将json结构转换为parquet格式后写入hdfs;
45.删除模块:当全量抽取数据结束后,根据规则是否删除结束后删除索引本身,确定将elasticsearch的原索引删除。
46.本发明的有益效果为:本发明提出一种基于elk的日志定时备份方法,本方法采用hdfs作为备份存储,用parquet作为底层备份数据的存储格式,利用 elasticjob zookeepr进行备份任务调度,并可支持多种定时备份方式,可用于解决大型应用在使用elk方案做日志分析时存在的日志数据备份管理方面的困难,加强传统elk方案在使用过程中的稳定性、健壮性。
附图说明
47.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
48.图1是本发明方法的流程图;图2是本发明系统的结构示意图;图3是本发明实施例的流程图;图4是本发明系统的架构图;图5是本发明与elk结合的示意图。
具体实施方式
49.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
50.实施例一:
51.一种基于elk的日志定时备份方法,所述的方法具体步骤包括:
52.s1利用日志备份管理服务为流程管理和备份策略进行定义;
53.s2根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入;
54.s3采用elasticjob zookeeper方案进行备份任务调度服务;
55.s4对日志备份通过文件系统方式进行存储;
56.s5将日志备份数据以parquet格式进行存储;
57.本发明提出一种基于elk的日志定时备份方法,本方法采用hdfs作为备份存储,用parquet作为底层备份数据的存储格式,利用elasticjob zookeepr 进行备份任务调度,并可支持多种定时备份方式,本发明方法具体步骤如下:
58.首先按照s1利用日志备份管理服务为流程管理和备份策略进行定义,接着按照s2根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入,然后采用elasticjob zookeeper方案按照s3进行备份任务调度服务,再按照s4对日志备份通过文件系统方式进行存储,选项为hdfs,最后按照s5将日志备份数据以parquet格式进行存储;
59.对构架中的组件进行说明:
60.日志备份管理服务:用对日志备份策略进行定义、监控系统服务的状态,提供界面操作,可单独部署;
61.数据抽取服务:从elasticsearch抽取索引数据,写入到日志备份存储,受备份任务调度组件定时调度;
62.日志备份存储:主要用于存储备份的日志数据,考虑到备份数据一般单个较大,且一般采用追加的方式,这里使用hdfs进行存储,hdfs对大文件的存储和追加写入有较好的性能,且安全性高;
63.日志存储格式:使用parquet格式存储日志文件,相比elasticsearch 传统json格式,parquet能够更好的与hdfs文件系统进行对接,支持压缩、更好分片存储,且对hive、spark等大数据离线分析业务组件支持更好;
64.备份任务调度服务:用于对数据抽取服务进行调度、任务分发,需要支持crontab定时调度,支持按时间点(月、日、时分秒)、时间间隔(月、天、小时)方式进行策略定义,这里采用elasticjob和zookeeper,因zookeeper 同样用于hdfs,所以这里可复用组件;
65.进一步的,所述s1中的日志本分管理服务包括日志备份管理策略、日志备份规则和日志备份任务执行监控,具体步骤包括:
66.s101利用日志备份策略制定备份任务的执行时间;
67.s102利用日志备份规则确定进行备份的日志内容和规则;
68.s103利用日志备份任务执行监控对任务是否执行、当前同步的日志索引名称、写入数据量、执行时间和执行状态的信息进行监控;
69.按照s101利用日志备份策略制定备份任务的执行时间,包括,1.即时,立刻启动备份任务,等同于手动备份日志;2.按时间点(月、日、时分秒),一般用于某段时间内的日志数据进行备份;3.时间间隔(月、天、小时),即定点,用于定期对日志数据进行备份;
70.按照s102利用日志备份规则确定进行备份的日志内容和规则;日志主要存储与elasticsearch索引内,需要指定索引的匹配方式,包括:索引前缀、索引名称两种方式,同时可支持按照时间日期格式对索引进行匹配;是否执行结束后删除索引本身用于确定抽取任务停止后删除源索引;
71.进一步的,所述s3采用elasticjob zookeeper方案进行备份任务调度服务的具体步骤包括:
72.s301下发策略给备份任务调度服务,elasticjob根据策略按照计划执行调度;
73.s302当调度计划满足条件时,elasticjob将任务推送给数据抽取服务;
74.进一步的,所述s4对日志备份通过文件系统方式进行存储,数据抽取服务接收到
任务,开始执行日志数据备份,备份任务子流程步骤包括:
75.s401数据抽取服务连接elasticsearch集群,根据规则读取遍历符合规则需要备份的日志数据索引;
76.s402通过elasticsearch接口生成elasticsearch分片查询的scrollid s403根据scrollid使用elasticsearch接口分片拉取索引的json数据,将数据写入进程内的异步队列;
77.再进一步的,所述s5将日志备份数据以parquet格式进行存储的具体步骤包括:
78.s501在新线程内接受异步队列的索引json数据内容,将json结构转换为 parquet格式后写入hdfs;
79.s502当全量抽取数据结束后,根据规则“是否删除结束后删除索引本身”,确定将elasticsearch的原索引删除。
80.实施例二:
81.一种基于elk的日志定时备份系统,所述的系统具体包括定义模块、读取模块、调度模块、备份模块和存储模块:
82.定义模块:利用日志备份管理服务为流程管理和备份策略进行定义;
83.读取模块:根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入;
84.调度模块:采用elasticjob zookeeper方案进行备份任务调度服务;
85.备份模块:对日志备份通过文件系统方式进行存储;
86.存储模块:将日志备份数据以parquet格式进行存储;
87.本发明提出一种基于elk的日志定时备份系统,本系统采用hdfs作为备份存储,用parquet作为底层备份数据的存储格式,利用elasticjob zookeepr 进行备份任务调度,并可支持多种定时备份方式,本发明系统具体工作过程如下:
88.首先定义模块利用日志备份管理服务为流程管理和备份策略进行定义,接着读取模块根据策略读取elasticsearch存储日志数据的索引,并写入日志存储服务进行写入,然后采用elasticjob zookeeper方案通过调度模块进行备份任务调度服务,再利用备份模块对日志备份通过文件系统方式进行存储,选项为hdfs,最后使用存储模块将日志备份数据以parquet格式进行存储,
89.所述定义模块中的日志本分管理服务包括日志备份管理策略、日志备份规则和日志备份任务执行监控,定义模块具体包括定时模块、规则模块和监控模块:
90.定时模块:利用日志备份策略制定备份任务的执行时间;
91.规则模块:利用日志备份规则确定进行备份的日志内容和规则;
92.监控模块:利用日志备份任务执行监控对任务是否执行、当前同步的日志索引名称、写入数据量、执行时间和执行状态的信息进行监控;
93.所述调度模块具体包括执行模块和推送模块:
94.执行模块:下发策略给备份任务调度服务,elasticjob根据策略按照计划执行调度;
95.推送模块:当调度计划满足条件时,elasticjob将任务推送给数据抽取服务。
96.所述备份模块对日志备份通过文件系统方式进行存储,数据抽取服务接收到任
务,开始执行日志数据备份,备份模块具体包括筛选模块、查询模块和写入模块:
97.筛选模块:数据抽取服务连接elasticsearch集群,根据规则读取遍历符合规则需要备份的日志数据索引;
98.查询模块:通过elasticsearch接口生成elasticsearch分片查询的 scrollid;
99.写入模块:根据scrollid使用elasticsearch接口分片拉取索引的json 数据,将数据写入进程内的异步队列;
100.所述存储模块具体包括转换模块和删除模块:
101.转换模块:在新线程内接受异步队列的索引json数据内容,将json结构转换为parquet格式后写入hdfs;
102.删除模块:当全量抽取数据结束后,根据规则是否删除结束后删除索引本身,确定将elasticsearch的原索引删除。
103.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜