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

一种日志数据的处理方法及系统与流程

2022-10-13 06:26:07 来源:中国专利 TAG:


1.本发明涉及计算机数据处理技术领域,特别涉及一种日志数据的处理方法及系统。


背景技术:

2.在企业信息系统安全应用中,每天会产生大量日志信息,例如用户登陆日志、用户系统操作日志、邮件发送接收日志、软件安装日志、用户文件加解密操作日志,用户行为记录日志等。如何有效的收集、处理、存储、管理、检索、监控这些日志对于企业来说尤为重要。
3.在复杂的企业信息化建设中,往往存在集团企业旗下的各分部门的企业信息系统独立部署、相互孤立情况。集团下的各分部门每天产生的各类系统日志信息往往记录在各自的应用服务器上,且日志记录方式也是多种多样的情况。随着集团分部数量增多,分部应用系统数量增加,系统能够提供的服务也越来越多,各系统所产生的日志的数量也呈现爆炸式增长。因而对于集团总部,首先要面对和解决的是如何高效收集、存储、集中管理各分部、分公司每天产生海量的各类型的日志的问题。
4.传统的日志收集方法是在各分部应用系统上集成数据上报组件或程序,直接向总部数据库或者非关系型数据库提交存储任务。由于各分部应用错综复杂,上报形式多种多样,总部日志收集平台需要对接各分部的应用日志上报,维护和开发成本非常高。面对高并发,大数据量日志上报,无法高效控制各服务器上的各种上报参数和阀值,无法有效保证集团总部数据存储的稳定性和完整性,日志数据丢失后也无法有效追溯。
5.此外,传统的关系型数据库存储日志会面对如下问题:随着表日志数量的增多,磁盘使用率不够时出现扩容困难问题;单表日志记录过大时,查询效率低下,日志关键字检索查询等待时间过长、无响应问题;日志插入请求并发量过大时,过多请求时经常将数据库连接耗尽直到数据库宕机问题;各分部海量数据上报到集团总部日志收集平台过程中,由于网络异常、程序异常、数据库宕机等原因而导致日志数据丢失问题等等。
6.常见的解决方案,例如公开号为cn114780353a的中国专利申请,公开一种文件日志监控方法、系统及计算设备,操作系统中的虚拟文件与真实文件之间建立有文件操作监控模块,包含日志管理器,其从日志缓存队列中获取文件日志并通过socket发送至日志监控服务器。
7.此外,集团运维人员收集日志过程中,需要登录各个分部服务器,在多个服务器之间切换,查看分部日志,检查系统的健康情况;追踪、分析用户的操作行为,系统操作的异常记录等,分析运维过程极其困难。由于各分部应用服务器的日志数据的数据信息不能实现共享,因此集团无法做到主动、高效、集中的收集各分部的日志,实现对各分系统日志统一管理、各分系统日志异常的预警、各分部用户非法操作行为的追踪、对各分部业务日志数据深入挖掘和分析的目标。


技术实现要素:

8.为了解决上述问题,本发明提出了一种日志数据的处理方法及系统,能够提供包括日志数据生产、收集、传输、存储、检索的一套完整的方法,来解决背景技术中提到的上述问题。
9.为了实现上述目的,本发明的第一方面提供了一种日志数据的处理方法,包括如下步骤:s1:对应用服务器上的日志数据的格式进行统一规范,形成每个应用服务器的日志文件;s2:将每个应用服务器上的日志文件上传至ftp服务器;s3:根据配置的日志传输参数,将ftp服务器上的日志文件导入至es服务器集群,日志传输参数用于控制日志文件导入至es服务器集群的频率和流量阀值;s4:es服务器集群按照预设脚本,按时间段分区创建索引;s5:响应于外部对当前时间区间的索引是否存在的请求信息,调用查询接口判断该索引是否存在,若不存在则按当前时间区间创建索引。
10.进一步的,上述步骤s1具体包括如下步骤:s11:应用服务器导入扩展后的日志生产组件;s12:调用日志生产组件修改各应用服务器的配置信息,配置日志文件的输出格式和日志输出文件路径;s13:应用服务器根据配置信息输出日志文件。
11.进一步的,上述步骤s2具体包括如下步骤:s21:在应用服务器上部署系统批处理脚本;s22:配置系统批处理脚本中日志文件上传的服务器ip、路径、ftp用户名和ftp密码;s23:通过系统批处理脚本定时执行windows系统dos命令中的ftp上传命令,将应用服务器的本地日志文件按照配置上传到ftp服务器上。
12.进一步的,上述步骤s23具体包括如下步骤:s231:若应用服务器的本地日志文件成功上传到ftp服务器,则将已上传成功的日志文件在应用服务器上删除;s232:若应用服务器的本地日志文件上传失败,则在下次执行定时任务时重新上传。
13.进一步的,日志传输参数为日志传输管理应用程序的启动数量、线程数量和/或内存大小。
14.本发明的第二方面,提供了一种日志数据的处理系统,包括:至少一台应用服务器,被配置为对日志数据的格式进行统一规范,形成日志文件;将日志文件上传至ftp服务器;ftp服务器,被配置为根据配置的日志传输参数,将存储的日志文件导入至es服务器集群,日志传输参数用于控制日志文件导入至es服务器集群的频率和流量阀值;es服务器集群,被配置为按照预设脚本、并按时间段分区创建索引;响应于外部对当前时间区间的索引是否存在的请求信息,调用查询接口判断该索引是否存在,若不存在
则按当前时间区间创建索引。
15.进一步的,至少一台应用服务器被进一步配置为:导入扩展后的日志生产组件;调用日志生产组件修改各应用服务器的配置信息,配置日志文件的输出格式和日志输出文件路径;根据配置信息输出日志文件。
16.进一步的,至少一台应用服务器被进一步配置为:部署系统批处理脚本;配置系统批处理脚本中日志文件上传的服务器ip、路径、ftp用户名和ftp密码;通过系统批处理脚本定时执行windows系统dos命令中的ftp上传命令,将本地日志文件按照配置上传到ftp服务器上。
17.进一步的,至少一台应用服务器被进一步配置为:若本地日志文件成功上传到ftp服务器,则将已上传成功的日志文件在本地删除;若本地日志文件上传失败,则在下次执行定时任务时重新上传。
18.进一步的,日志传输参数为日志传输管理应用程序的启动数量、线程数量和/或内存大小。
19.本发明的一种日志数据的处理方法及系统具有如下有益效果:(1)日志数据生产、收集、传输、存储、检索各环节提供一套完整的方法及装置;(2)日志生产端通过导入日志扩展组件,规范了日志输出形式,统一了日志输出格式;(3)日志通过系统批处理脚本,调用windows server服务器自带的ftp服务,将各类型的日志数据文件上传到总部ftp服务器,对日志数据进行集中入库,避免了各分部应用服务器单独上报入库的复杂性,多样性,减轻了维护成本;(4)总部集中管控日志传输管理应用程序的启动及相关参数,很容易控制日志数据导入es服务器集群的频率和流量,保证es服务器集群的日志数据存储的稳定性;(5)日志以统一格式上传至总部ftp服务器,集中入库,规范入库口径,减轻了维护成本;(6)日志数据以文件格式存储总部ftp服务器上,日志入库后,异常记录可以有效溯源;(7)总部ftp服务器的日志收集平台监控索引状态,根据配置参数灵活的按年、月或日建索引,避免索引数据过大而带来的性能下降问题,提高了日志的插入性能和检索性能。
附图说明
20.图1为本发明一个实施例公开的日志数据处理系统的总体部署架构图;图2为本发明一个实施例公开的日志数据处理系统的ftp服务器和数据搜索引擎es集群服务器交互部署示意图;图3为本发明一个实施例公开的日志数据处理方法的步骤流程图。
具体实施方式
21.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
22.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”“所述”和“该”也旨在包括多数形式,除非上下文清楚的表示其他含义。
23.应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述获取模块,但这些获取模块不应限于这些术语。这些术语仅用来将获取模块彼此区分开。
24.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
25.需要注意的是,本发明实施例所描述的“上”“下”“左”“右”等方位词是以附图所示的角度来进行描述的,不应理解为对本发明实施例的限定。此外在上下文中,还需要理解的是,当提到一个元件被形成在另一个元件“上”或“下”时,其不仅能够直接形成在另一个元件“上”或者“下”,也可以通过中间元件间接形成在另一元件“上”或者“下”。
26.本发明从日志数据生产、收集、传输、存储、检索等方面提供了一套完整的日志数据处理方法和系统,主要包括以下几个主要部分:1、日志数据生产端log4j是apache的一个开源项目,具有线程安全,文件写入速度快,可扩展配置强,日志输出格式灵活等特性。本发明中的日志数据生产端基于log4j技术上做了扩展与增强。
27.扩展的log4j包中自定义了logfilter类和log4jrollingfileappender类。logfilter类继承log4j包中的filter抽象类并实现了optionhandler接口。logfilter中定义了enum leveltype{ }枚举类,枚举类中定义了日志类型和代码,例如文件日志:cdgfile_log_level(code) 。log4jrollingfileappender继承log4j包中rollingfileappender类,并实现了appender接口和optionhandler接口。扩展包中定义了string getlog4jconfigservice()接口获取log4j.xml配置信息和void updatelog4jconfigservice()接口用于修改log4j.xml配置,用以方便总部日志收集平台集中管理各分部的日志生产端组件的配置信息,便于维护。
28.日志输出文件格式,路径是通过log4j.xml配置文件中定义的,在log4j.xml中添加自定义append节点:《appender name="xx"class="com.esafenet.log.util.log4jrollingfileappender"》《appender》,节点name为日志类型名,例如文件日志file_log。log4jrollingfileappender为数据日志文件输出的实现类,该类中规范了日志文件名称格式,日志内容数据生成格式。
29.2、日志收集端日志收集端采用的是将各企业分部应用服务器上应用系统生成的日志数据通过
ftp方式上传到总部的ftp服务器预配置的日志类型文件夹中。
30.日志收集使用了windows server 服务器自带定时任务和ftp文件上传服务指令,省去了安装第三方ftp客户端软件和定时任务软件的步骤,减少安装第三方服务软件不必要的服务损耗和维扩成本。日志收集端充分利用了window系统强大的脚本处理能力,底层原理是通过bat脚本执行windows系统dos命令中的ftp上传服务相关命令,将日志生产端生成好的日志数据文件按照指定的配置上传到集团总部ftp服务器上。
31.bat脚本配置中主要定义了需要上传的日志路径文件夹、ftp服务器的ip、ftp服务器的用户名、ftp服务器的密码、企业分部名称等参数:set folder=日志文件夹路径;set ftphost=ip;set ftpuser=xx;set ftppass=xx;这些配置可通过集团日志收集平台统一配置维护。
32.然后通过遍历文件夹中指定类型的日志数据文件,调用自定义上传函数uploadfile上传日志数据文件:for/r%folder%%%f in (日志类型名称_*.log) do (
ꢀꢀꢀꢀꢀ
call :uploadfile 1,%%f,"file_log"
ꢀꢀ
)上传函数::uploadfileif ["%~1"]==["1"] (
ꢀꢀꢀ
set putcmd=put "%~2"
ꢀꢀꢀ
echo %~3)echo open %ftphost%》ftp.upecho %ftpuser%》》ftp.upecho %ftppass%》》ftp.upecho cd %~3》》ftp.upecho binary》》ftp.upecho %putcmd%》》ftp.upecho bye》》ftp.upfor/f "usebackq tokens=1" %%a in (`ftp
ꢀ‑
s:ftp.up`) do (
ꢀꢀꢀ
if %%a == 226 (
ꢀꢀꢀꢀꢀꢀ
echo %%a transfer file %~2 successful..》》 logs.txt
ꢀꢀꢀꢀꢀꢀ
echo begin del file %~2 ..》》 logs.txt
ꢀꢀꢀꢀꢀꢀ
del %~2》》 logs.txt
ꢀꢀ
))del ftp.up /q
goto:eofbat批处理脚本通过windows系统自带的定时任务触发执行。当本地日志文件成功上传到总服ftp服务器后,立即删除应用服务器上上传成功的日志文件。当日志文件因为网络或其它原因没上传成功时,会在定时任务下次执行时重新上传,本发明通过定时任务重传方式处理上传失败的日志,保证总部在收集各分部日志过程中日志数据不会被丢失。
[0033]
3、日志数据导入logstash是一种具备实时数据传输能力的管道,它具备有强大的实时数据传输能力,可以统一过滤来自日志生产端上传过来的数据日志文件,并按照指定的规范和格式输入到elasticsearch搜索引擎存储服务器集群中(es服务器集群)。
[0034]
本发明是通过在集团总部ftp服务器上部署logstash服务,利用logstash强大的数据传输能力,将日志数据导入到elasticsearch。
[0035]
为了方便logstash集中管理logstash服务配置和服务启停,通过集团的日志收集平台进行运维和管理,运维人员可以不需要掌握logstash复杂的指令和配置就可以轻松对logstash进行配置和服务启停的管理。
[0036]
系统定时任务触发执行系统批处理bat脚本,将各企业分部的应用服务器的日志上传至集团服务端,实现对日志进行集中管控和入库。集团总部可以通过合理设置logstash启动数量、线程数量、内存大小等参数来合理限制数据入库的流量阀值,提高了日志的传输入库性能,解决了在高并发场景容易遇到的流量上的瓶颈、数据丢失、服务宕机等问题,提高了系统的处理能力。同时运维人员灵活配置logstash相关参数,无需在各分部单独部署程序和组件,极大的减轻了运维成本。
[0037]
4、日志存储与检索elasticsearch搜索引擎是一个基于lucene的搜索非关系型数据库,它提供了基于分存式海量数据的存储能力和分布式海量数据的全文检索服务能力,它能很方便的从海量的分存式存储数据中快速检索数据,它基于restful web接口方便、快速的匹配检索的关键词。elasticsearch的特点为检索速度快、数据量大、匹配度高,并且elasticsearch基于分布式存储的天然特性,使得它很容易进行水平扩容。它的这些特性弥补了传统数据库根本解决不了的问题。
[0038]
本发明采用elasticsearch存储日志,提高elasticsearch日志存储效率、日志查询效率。为了保证elasticsearch稳定性,本发明根据集团的日志收集平台合理配置logstash启动个数及相关传输参数,来控制日志数据输入elasticsearch频率和阀值,避免因各分部各应用服务器单独上报而导致的并发量过多,数据量过大,超过elasticsearch数据插入的极限后拒绝数据插入请求带来的数据丢失风险和elasticsearch宕机的风险问题。
[0039]
为了提高elasticsearch日志查询与插入效率,避免因单个索引过大而影响elasticsearch日志插入与查询性能,日志收集平台定会根据预先设置的索引脚本,按照预设的规则按天、月或年按时间段分区创建索引。日志收集平台以指定频率向elasticsearch集群请求当前时间区间的索引是否存在,调用接口get /索引名称-yyyymm/_search,判断索引是否存在,如果不存在则按当前时间区间创间索引。
[0040]
下面结合附图对本发明做详细的介绍。
[0041]
本发明的一个实施例提供了一种日志数据的处理系统。参见图1,该系统包括位于企业分部的至少一个应用服务器、位于企业总部的ftp 服务器、以及es服务器集群。
[0042]
1、应用服务器至少一台应用服务器,位于各个企业分部或分公司,应用服务器用于对日志数据的格式进行统一规范,形成日志文件,并将日志文件上传至ftp服务器。
[0043]
具体的,应用服务器被示例性的配置为实现如下功能:在各企业分部的应用服务器中导入扩展后的log4j包,即日志生产装置。通过日志收集平台调用log4j服务,修改各企业分部的应用服务器的配置信息,配置日志输出文件格式和日志输出文件路径。日志输出平台通过调用log4j相关接口修改log4j.xml相关配置,下面以输出文件日志为例:《appender name="file_log" class="com.esafenet.log.util.log4jrollingfileappender"》《param name="file" value="d:\loges\filelog\"》《/param》《param name="datepattern" value="'.'yyyy-mm-dd'.log'"》《/param》 ....《/appender》此处的《appender name="file_log" 》中的file_log为自定义的待生成业务日志类型名称,《appender》子节点中的《param name="file"》中的value值为日志输出路径,表示将该类型的日志数据文件输出到d:\loges\filelog\路径下。《param name="datepattern" value="'.'yyyy-mm-dd'.log'"》 表示日志文件按天生成,生成格式为file_log_yyyymmdd.log格式。
[0044]
接着,在日志输出业务类中初始化logger对象:protected logger logger = logger.getlogger(this.getclass());然后在日志输出平台中调用logger.log(file_log_level, objectclass)方法。此处file_log_level 为自定义的日志编码;objectclass为日志对象,对象中定义了日志输出的关键字。调用该方法,会在该d:\loges\filelog\file_log_yyyymmdd.log文件中追加一行预先设置好格式的json字符串,json格式字符串中包含了数据来源系统、来源ip、objectclass定义的所有关键字的值。
[0045]
接着,在各分部服务器上部署系统批处理bat脚本,并配置bat脚本中日志上传的服务器ip、上传路径、ftp用户名、ftp密码和企业分部名称。
[0046]
接着,配置定时任务,执行系统批处理bat脚本。
[0047]
当定时任务执行后,就会在总部ftp服务器根目录上创建一个以企业分部名称命名的文件夹,并在该文件夹下创建一个file_log文件夹,该文件夹下存放分部上传上来的文件日志数据文件。
[0048]
2、ftp服务器和es服务器集群所述ftp服务器,其位于企业集团总部端,被配置为根据配置的日志传输参数,将存储的日志文件导入至es服务器集群,日志传输参数用于控制日志文件导入至es服务器集群的频率和流量阀值。
[0049]
es服务器集群,即elasticsearch搜索引擎的存储服务器集群,被配置为按照预设脚本、并按时间段分区创建索引;响应于外部对当前时间区间的索引是否存在的请求信息,调用查询接口判断该索引是否存在,若不存在则按当前时间区间创建索引。
[0050]
具体的,参见图2,在每个总部ftp服务器上部署一个日志传输管理应用程序实例,例如logstash,并配置各实例的input、output相关参数。
[0051]
本实施例仍以filelog为例进行说明:input 相关参数input {
ꢀꢀ
#读取日志文件路径
ꢀꢀꢀꢀ
file {
ꢀꢀꢀꢀꢀꢀꢀꢀ
path =》 "/data/loges/b3/filelog*.log"
ꢀꢀꢀꢀꢀ
tags =》 ["filelog"]
ꢀꢀꢀꢀꢀꢀꢀꢀ
start_position =》 "beginning"
ꢀꢀꢀꢀꢀꢀꢀꢀ
codec =》 "json"
ꢀꢀꢀꢀ
}}上面配置中path配置为logstash监控的日志文件路径,其中/data/loges/为ftp根目录的路径,b3为分部名称,表示监控/data/loges/b3/目录下所有以filelog开头的.log格式的数据文件。logstash会以预配置的频率读取新增的日志数据,导入到es集群中。
[0052]
output相关参数output {
ꢀꢀꢀꢀ
# 输出到企业分部elasticsearch
ꢀꢀꢀꢀ
if "file2" in [tags] {
ꢀꢀꢀꢀꢀ
elasticsearch {
ꢀꢀꢀꢀꢀꢀꢀꢀ
hosts =》 ["ip1:port","ip2:port",..]
ꢀꢀꢀꢀꢀꢀꢀꢀ
index =》 "索引名称-{ yyyymm}"
ꢀꢀꢀꢀꢀꢀꢀꢀ
document_type =》 "filelog2"
ꢀꢀꢀꢀꢀꢀꢀꢀ
document_id =》 "%{id}"
ꢀꢀꢀꢀꢀꢀꢀꢀ
pipeline =》 "my_timestamp_pipeline"
ꢀꢀꢀꢀꢀ
}
ꢀꢀ
}}hosts中定义了es集群ip地址集合,index为配置数据导入的索引名称。
[0053]
es集群的索引是根据配置中心按照年、月、天创建。如果按照月创建此处索引达式为索引名称-( yyyymm)。
[0054]
日志收集平台配置中心根据预设置好的频率定时检测当前时间区间的索引是否创建,如果当前时间区间索引不存在,则根据配置中心预设置好的脚本创建索引。
[0055]
参见图3,本发明的另一实施例还提供了一种日志数据的处理方法,包括如下步骤:
步骤s101,对应用服务器上的日志数据的格式进行统一规范,形成每个应用服务器的日志文件。
[0056]
具体的,在各企业分部的应用服务器中导入扩展后的log4j日志生产装置,即导入扩展后的log4j包。通过日志收集平台调用log4j服务修改各企业分部的配置信息,配置日志输出文件格式、日志输出文件路径。日志输出平台通过调用log4j相关接口修改log4j.xml相关配置,这里以输出文件日志为例:《appender
ꢀꢀ
name="file_log" class="com.esafenet.log.util.log4jrollingfileappender"》
ꢀꢀꢀꢀꢀꢀꢀꢀ
《param name="file" value="d:\loges\filelog\"》《/param》
ꢀꢀꢀꢀꢀꢀꢀꢀ
《param name="datepattern" value="'.'yyyy-mm-dd'.log'"》《/param》
ꢀꢀꢀꢀꢀꢀꢀꢀ
....
ꢀꢀ
《/appender》此处的《appender name="file_log" 》中的file_log为自定义的待生成业务日志类型名称,《appender》子节点中的《param name="file"》中的value值为日志输出路径,表示将该类型的日志数据文件输出到d:\loges\filelog\路径下。《param name="datepattern" value="'.'yyyy-mm-dd'.log'"》 表示日志文件按天生成,生成格式为file_log_yyyymmdd.log格式。
[0057]
然后,在日志输出业务类中初始化logger对象:protected logger logger = logger.getlogger(this.getclass());然后,在日志输出方法中调用logger.log(file_log_level, objectclass)方法。此处file_log_level 为自定义的日志编码;objectclass为日志对象,对象中定义了日志输出的关键字。调用该方法,会在该d:\loges\filelog\file_log_yyyymmdd.log文件中追加一行预先设置好格式的的json字符串,json格式字符串中包含了数据来源系统、来源ip、objectclass定义的所有关键字的值。
[0058]
本发明的日志数据生产端通过扩展log4j组件统一各分部服务器日志输出格式,规范了日志数据输出的口径,服务端集中管理配置,使得维护简单,可扩展性强。
[0059]
步骤s102,将每个应用服务器上的日志文件上传至ftp服务器;具体的,在各企业分部的应用服务器上部署系统批处理bat脚本。然后,配置bat脚本中的日志上传的服务器ip、上传路径、ftp用户名、ftp密码、企业分部名称等等。接着,配置定时任务执行bat脚本,当定时任务执行后,就会在配置服务器ftp根目录上创建一个以分部名称命名的文件夹,并在该文件夹下创建一个file_log文件夹,该文件夹下存放企业分部的应用服务器上传上来的文件日志数据文件。
[0060]
本发明通过windows系统的任务计划执行bat脚本,脚本通过调用window 自带的ftp上传命令上传日志文件,省去了安装第三方ftp客户端软件和定时任务软件的步骤,减少安装第三方服务软件不必要的服务器性能损耗和维扩成本。此外,日志数据文件上传至总部ftp服务器集中管理入库,统一了入库的口径,避免了各分部应用服务器单独上报入库的复杂性,多样性,减轻了维护成本。
[0061]
步骤s103,根据配置的日志传输参数,将ftp服务器上的所述日志文件导入至es服
务器集群,日志传输参数用于控制日志文件导入至es服务器集群的频率和流量阀值;步骤s104,es服务器集群按照预设脚本,按时间段分区创建索引;步骤s105,响应于外部对当前时间区间的索引是否存在的请求信息,调用查询接口判断该索引是否存在,若不存在则按当前时间区间创建索引。
[0062]
具体的,上述步骤s103-s105可通过在每个ftp服务器上部署一个logstash实例实现,部署后配置各实例的input、output相关参数。
[0063]
这里仍以filelog为例:input 相关参数input {
ꢀꢀ
#读取日志文件路径
ꢀꢀꢀꢀ
file {
ꢀꢀꢀꢀꢀꢀꢀꢀ
path =》 "/data/loges/b3/filelog*.log"
ꢀꢀꢀꢀꢀ
tags =》 ["filelog"]
ꢀꢀꢀꢀꢀꢀꢀꢀ
start_position =》 "beginning"
ꢀꢀꢀꢀꢀꢀꢀꢀ
codec =》 "json"
ꢀꢀꢀꢀ
}}上面配置中path配置为logstash监控的日志文件路径,其中/data/loges/为ftp根目录的路径,b3为分部名称,表示监控/data/loges/b3/目录下所有以filelog开头的.log格式的数据文件。logstash会以预配置的频率读取新增的日志数据,导入到es集群中。
[0064]
output相关参数output {
ꢀꢀꢀꢀ
# 输出到分部elasticsearch
ꢀꢀꢀꢀ
if "file2" in [tags] {
ꢀꢀꢀꢀꢀ
elasticsearch {
ꢀꢀꢀꢀꢀꢀꢀꢀ
hosts =》 ["ip1:port","ip2:port",..]
ꢀꢀꢀꢀꢀꢀꢀꢀ
index =》 "索引名称-{ yyyymm}"
ꢀꢀꢀꢀꢀꢀꢀꢀ
document_type =》 "filelog2"
ꢀꢀꢀꢀꢀꢀꢀꢀ
document_id =》 "%{id}"
ꢀꢀꢀꢀꢀꢀꢀꢀ
pipeline =》 "my_timestamp_pipeline"
ꢀꢀꢀꢀꢀ
}
ꢀꢀ
}}hosts中定义了es集群ip地址集合,index为配置数据导入的索引名称。
[0065]
es集群的索引是根据配置中心按照年、月、天创建。如果按照月创建此处索引达式为索引名称-( yyyymm)。
[0066]
日志收集平台配置中心根据预设置好的频率定时检测当前时间区间的索引是否创建,如果当前时间区间索引不存在,则根据配置中心预设置好的脚本创建索引。具体的,日志收集平台以指定频率向elasticsearch集群请求当前时间区间的索引是否存在,调用
接口get /索引名称-yyyymm/_search,判断索引是否存在,如果不存在则按当前时间区间创建索引。
[0067]
本发明由于日志数据源文件都集中上传至总部ftp服务器上,这样日志数据不仅可以溯源,总部还可以根据日志数据上报流量大小、服务器硬件配置、es集群性能指标,合理有效控制logstash启动实例数量、一次读取传输日志的数量、传输数据频率、内存大小等参数,控制数据入es的阀值,提高了logstash处理数据的稳定性。
[0068]
此外,本发明还支持日志收集平台集中管理和配置各logstash实例及相关参数,监控整个装置的健康状态,总部可以及时调整策略与参数,保证装置健康运行。为了提高elasticsearch日志查询与插入效率,避免因单个索引过大而影响elasticsearch日志插入与查询性能,本装置通过日志收集平台合理将索引按照时间区间分索引,提高日志检索、分析、统计的性能指标。
[0069]
以上描述仅为本发明的较佳实施例。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献