CN112685370A - 一种日志采集方法、装置、设备和介质 - Google Patents

一种日志采集方法、装置、设备和介质 Download PDF

Info

Publication number
CN112685370A
CN112685370A CN202011494013.0A CN202011494013A CN112685370A CN 112685370 A CN112685370 A CN 112685370A CN 202011494013 A CN202011494013 A CN 202011494013A CN 112685370 A CN112685370 A CN 112685370A
Authority
CN
China
Prior art keywords
log
file
reading
content
progress
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011494013.0A
Other languages
English (en)
Other versions
CN112685370B (zh
Inventor
宋云静
陈晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujia Newland Software Engineering Co ltd
Original Assignee
Fujia Newland Software Engineering Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujia Newland Software Engineering Co ltd filed Critical Fujia Newland Software Engineering Co ltd
Priority to CN202011494013.0A priority Critical patent/CN112685370B/zh
Publication of CN112685370A publication Critical patent/CN112685370A/zh
Application granted granted Critical
Publication of CN112685370B publication Critical patent/CN112685370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种日志采集方法、装置、设备和介质,方法包括采集流程:S11、每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;S12、根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;S13、根据定制好的解析规则来解析读取的内容;S14、把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;S15、对每个通道的日志偏移量和日志文件数的实时监控和统计。从而解决现有日志采集工具的功能单一、性能不佳、智能度低、使用不灵活以及不易维护等不足之处。

Description

一种日志采集方法、装置、设备和介质
技术领域
本发明涉及计算机技术领域,特别涉及一种日志采集方法、装置、设备和介质。
背景技术
随着互联网技术的发展,原来的单机发展到多机再到大规模集群,nginx,tomcat,openStack,docker容器等等,一个系统由大量的服务构成,其中集群中的应用/服务的日志分析管理也变得越来越重要。而Paas平台这样的云服务平台,管理着成千上万个应用和服务,每个应用和服务每天都会生成成千上万行甚至更多的日志,这些日志的采集、清理、解析、存储、查询就变得异常困难,使用什么解决方案能稳定的采集、灵活的解析、有条理的存储、方便的查询就变得尤为重要。市面上已有针对日志采集的组件,比如beats、flume、logstash、SDC、app等,这些采集器对大型系统的日志采集来说,有一些缺点:
1).性能较差,容易导致内存使用量高;
2).不能对日志文件进行自动清理和备份;
3).对日志文件路径、文件名的模糊匹配做的不够智能;
4).解析规则比较单一、不可定制;
5).不能对文件内容进行分析、过滤、合并、扩充;
6).不支持采集进度的实时监控;
7).对Paas平台这样的大型云服务的支撑力度更大,稳定性更高。
发明内容
本发明要解决的技术问题,在于提供一种日志采集方法、装置、设备和介质,以解决现有日志采集工具的功能单一、性能差、智能度低、使用不灵活以及不易维护等不足之处。
第一方面,本发明提供了一种日志采集方法,包括采集流程,该采集流程包括下述步骤:
S11、每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
S12、根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;
S13、根据定制好的解析规则来解析读取的内容;
S14、把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;
S15、对每个通道的日志偏移量和日志文件数的实时监控和统计。
第二方面,本发明提供了一种日志采集装置,包括:
文件扫描器,用于每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
文件读取器,用于根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;
日志解析器,用于根据定制好的解析规则来解析读取的内容;
日志输出器,用于把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;
监控数据统计器,用于对每个通道的日志偏移量和日志文件数的实时监控和统计。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1).相较于市面上已有的beats、logstash、flume、SDC、app等采集组件,功能更加强大,比如可以实现日志文件自动清理和备份,支持异常堆栈日志的智能合并,提供日志速率和采集文件数的实时监控功能;
2).因为该采集器可以基于CRuby实现,只需要很少的系统资源,所以相较于其他采集器,该采集器性能更好、采集效率高,资源占用小;
3).灵活性更高,比如采集路径可模糊匹配、解析规则可定制、日志内容可过滤;并且该采集器的配置文件只有一个,并且配置内容较少,所以相较于其他采集器,该采集器配置更简单、维护更方便。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明实施例一中方法中的采集流程图;
图2为本发明实施例一中方法中的清理和备份的流程图;
图3为本发明实施例二中装置的结构示意图;
图4为本发明实施例二中装置的部署结构示意图;
图5为本发明实施例三中电子设备的结构示意图;
图6为本发明实施例四中介质的结构示意图。
具体实施方式
本申请实施例通过提供一种日志采集方法、装置、设备和介质,以解决现有日志采集工具的功能单一、性能不佳、智能度低、使用不灵活以及不易维护等不足之处。
本申请实施例中的技术方案,总体思路如下:在日志采集功能的基础上还实现了日志文件自动清理和备份功能,且支持异常堆栈日志的智能合并,以及提供日志速率和采集文件数的实时监控功能;还实现了采集路径可模糊匹配、解析规则可定制、日志内容可过滤等,大大提升了日志采集工作的功能化、性能、智能度,且使用灵活易维护。
在详细介绍具体实施例之前,先介绍以下几个缩略语和关键术语定义:
1).Meta:记录采集器每次读取的文件进度和行号的文件;
2).Kafka:是一种高吞吐量的分布式发布订阅消息系统;
3).ElasticSearch:是一个分布式、高扩展、高实时的搜索与数据分析引擎;
4).Avro:一种数据序列化的系统;
5).CRuby:一种编程语言,代码量比较小,性能比较高。
实施例一
如图1所示,本实施例提供一种日志采集方法,包括采集流程,该采集流程包括下述步骤:
S11、每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
S12、根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;具体是:根据Meta文件记录的该日志文件的上一次读取内容和行号来比对该日志文件最新的内容和行号,检查上一次的读取进度,并根据检查结果,按下述情况调整本次读取的起始位置:
如果日志内容只做了新增,则起始位置是上次采集的结束行号的下一行;
如果日志内容做了修改,则根据日志内容偏移量和行号进行结合分析,把修改的内容的第一行作为起始位置。
S13、根据定制好的解析规则(kv/split/regex/自定义)来解析读取的内容;所述解析的过程中,还根据自定义的换行符来进行换行,根据自定义的过滤级别(ERROR/INFO/DEBUG/TRACE)来过滤日志,以及根据自定义的合并规则(异常堆栈日志合并)来合并日志。
S14、把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;比如根据设定好的kafka话题名或者es索引名对配置好的目标输出组件(kafka/es/arvo)中输出解析过的日志内容;
S15、对每个通道的日志偏移量和日志文件数的实时监控和统计,所述实时监控和统计的信息是:通道内的单位时间日志数和通道内某个时间点的日志文件数,且对外开放了查询接口供用户调用以实时查询采集进度及相关信息。
其中,作为本实施例的一种更优的实现方式,所述方法还包括清理和备份流程,如图2所示,所述清理和备份流程包括下述步骤:
S21、按照用户对每个通道的过期判断策略,定期检查每个通道的日志文件是否过期,若是,标记该日志文件为过期文件;过期判断策略包括天过期、小时过期、大小过期、文件最后修改时间过期等,
天过期:每天固定时间自动清理、备份日志文件;
小时过期:有些应用日志量比较大,可以每个小时清理、备份一次文件;
大小过期:达到设定的大小以后采集器会清理、备份;
最后修改时间过期:如果最后修改时间达到设定的时间,就会进行清理和备份。
S22、根据清理策略(比如删除或者搬迁)来对所述过期文件进行删除或者搬迁到指定的目录下;
S23、清理完过期的日志文件以后,删除该日志文件的采集进度的记录;
S24、自动重启采集器,以避免该日志文件的读取和清理工作交叉处理;
基于同一发明构思,本申请还提供了与实施例一中的方法对应的装置,详见实施例二。
实施例二
如图3所示,在本实施例中提供了一种日志采集装置(或称采集器),包括:
文件扫描器,用于每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
文件读取器,用于根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;
日志解析器,用于根据定制好的解析规则来解析读取的内容;解析规则目前支持kv、split、regex三种解析规则,并预留自定义解析接口;可以根据日志级别进行过滤,可以合并异常堆栈日志内容,把多行合并成一行输出,方便用户查看堆栈信息以定位问题;
日志输出器,用于把解析过的日志内容按照各个通道输出到配置的目标输出组件中,比如根据设定好的kafka话题名或者es索引名对配置好的目标输出组件(kafka/es/arvo)中输出解析过的日志内容;
监控数据统计器,用于根据对每个通道的日志偏移量和日志文件数的实时监控和统计,其中主要监控统计两方面的信息:通道内的单位时间日志数、通道内某个时间点的日志文件数。通过统计通道内的单位时间日志数来监控采集速率,以灵活调整对该类日志的采集策略;通过统计通道内某个时间点的日志文件数监控该类日志的文件数量,以便于对日志文件句柄数进行监控。
其中,作为本实施例的一种更优的实现方式,所述装置还包括:
配置加载器,用于读取配置文件中的配置信息,并根据配置信息创建相应的所述文件扫描器,和配置所述日志解析器的解析规则;
文件句柄池,用于保存日志文件的读取连接信息;
文件清理器,用于按照每个通道的过期判断策略,定期检查每个通道的日志文件是否过期,若是,标记该日志文件为过期文件;根据清理策略来对所述过期文件进行删除或者搬迁到指定的目录下;清理完过期的日志文件以后,删除该日志文件的采集进度的记录并自动重启文件扫描器和文件读取器;过期判断策略包括天过期、小时过期、大小过期、文件最后修改时间过期等,
天过期:每天固定时间自动清理、备份日志文件;
小时过期:有些应用日志量比较大,可以每个小时清理、备份一次文件;
大小过期:达到设定的大小以后采集器会清理、备份;
最后修改时间过期:如果最后修改时间达到设定的时间,就会进行清理和备份。
进度管理器,用于读取Meta文件中保存的最近一次的读取记录,用以和下一次采集时进行比对,让所述文件读取器读取最近更新的内容;在系统运行期间,采集装置如果重新部署,因为设计了进度管理机制,新的采集装置会立即根据已有的读取进度记录继续工作,不会丢日志,也不会重复采集。
监控查询服务,获取监控数据统计器统计出来的采集信息,采集器对外开放了查询接口,用户可以通过调用接口实时查询采集进度及相关信息。
其中,作为本实施例的一种更优或更为具体的实现方式,所述进度管理器还进行如下读取进度自维护流程:每次采集完某个日志文件以后,自动在Meta文件中记录这次采集所读取的进度和行号;如果日志文件的内容被重置或者被修改,而不是增加内容,则自动跟Meta文件中记录的进度和行号进行比对,采集时,会根据实际情况决定从哪一行开始读取,并且在Meta文件中记录新的读取进度和行号,且记录不会因系统重启而改变,从而使系统重启会根据已有的采集进度记录继续进行采集,即使采集装置重启也不会改变进度管理器保存的采集进度记录,并会根据已有的记录继续进行采集,保证了采集器的正确性和延续性。
所述文件读取器根据进度调整本次读取的起始位置具体是:由所述进度管理器获取Meta文件中记录的该日志文件的上一次读取内容和行号来比对该日志文件最新的内容和行号,所述文件读取器根据该日志文件最新的内容和行号检查上一次的读取进度,并根据检查结果,按下述情况调整本次读取的起始位置:如果日志内容只做了新增,则起始位置是上次采集的结束行号的下一行;如果日志内容做了修改,则根据日志内容偏移量和行号进行结合分析,把修改的内容的第一行作为起始位置。
其中,作为本实施例的一种更优或更为具体的实现方式,所述日志采集装置支持容器化部署;如图4所示,采集器可以部署在容器中,部署过程简单方便,每台主机只需部署一个采集器应用即可采集该主机中指定的日志文件。
所述日志文件包括.log、.txt格式的文本文件;
所述配置文件支持对需要采集文件文件或不需要采集的文本文件的路径、层级和文件名进行模糊匹配配置;对文本文件的路径、层级和文件名进行模糊匹配,比如想采集/dcoslog/nl/paas/logs/resmgr/resmgr-5c778bd757-5tt6b目录下的paas-all.log、paas-error.log、paas-newland.log,可以在配置文件中配置/dcoslog/nl/paas/logs/resmgr/*/*.log,也可以配置/dcoslog/nl/paas/logs/*/*/*.log,匹配规则比较灵活;且配置文件只有一个,并且配置内容较少,配置更简单、维护更方便;
对不需要采集的文件路径和文件名进行模糊匹配,比如不想采集所有应用的paas-newland.log,可以在配置中加上/dcoslog/nl/paas/logs/*/*/paas-newland.log,这样所有应用的容器中的paas-newland.log就不会被采集到。
所述日志输出器支持Kafka、ElasticSearch、Avro类型的输出组件,并且能支持同时输出到多个目标组件,以及支持对输出的Kafka的话题名、ES的索引名进行灵活的配置;
所述日志解析器支持kv、split、regex三种解析规则,并预留自定义解析接口;用户可以为不同日志配置不同的解析规则。
所述解析规则还包括换行规则、过滤规则、合并规则和扩充日志内容规则,且扩充日志内容规则还包括路径扩充规则和文件名扩充规则;所述日志解析器在解析的过程中,还根据自定义的换行符来进行换行,根据自定义的过滤级别来过滤日志,根据自定义的合并规则来合并日志;以及根据路径扩充规则和文件名扩充规则扩充日志内容。其中,
1.通过解析文件路径来扩充日志内容:文件路径一般会有多层,每一层的命名都会有特殊的含义,比如某一层是以应用名称来命名、某一层是以容器名称来命名,如/logs/应用名/单元id/容器名,采集器根据事先定好的规则,获取到一些有含义的层级目录名称,把这些名称作为日志内容的扩充字段保存到目标组件中。
2.通过解析文件名来扩充日志内容:文件名一般也会是一些有含义的信息组成,比如时间戳、日志类别等,比如paas-error_20190820.log,采集器会根据分隔符来解析这些元素,比如error、20190820,把这些元素扩充到日志内容中去。
3、根据自定义的合并规则来合并日志,即支持异常日志合并:根据关键字判断日志中的异常日志,并且根据关键字判断异常日志的开始行和结束行,把多行异常日志合并成一行日志输出,更方便用户来定位问题。
4、根据自定义的换行符来进行换行:用户可以根据不同日志类型定制不同的换行符,采集装置会根据定制的换行符在采集相关日志的时候做特殊处理,根据换行符进行换行。
5、根据自定义的过滤级别来过滤日志:日志中经常会有ERROR、INFO、DEBUG、TRACE等不同级别的日志,采集装置可以灵活的根据用户定制的过滤级别采集日志,比如用户定制过滤级别为INFO,则采集装置会采集INFO及以上级别的日志,而过滤掉DEBUG、TRACE等级别的日志,日志内容中没有级别关键字的默认为INFO级别。
由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。
实施例三
本实施例提供了一种电子设备,如图5所示,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。
基于同一发明构思,本申请提供了实施例一对应的存储介质,详见实施例四。
实施例四
本实施例提供一种计算机可读存储介质,如图6所示,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:相较于市面上已有的beats、logstash、flume、SDC、app等采集组件,功能更加强大,比如可以实现日志文件自动清理和备份,支持异常堆栈日志的智能合并,提供日志速率和采集文件数的实时监控功能;相较于其他采集器,性能更好、配置更简单、维护更方便,且可基于CRuby实现,效率高,资源占用小;灵活性更高,比如采集路径可模糊匹配、解析规则可定制、日志内容可过滤;对Paas平台这样的大型云服务的支撑力度更大,稳定性更高。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置或系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (10)

1.一种日志采集方法,其特征在于:包括采集流程,该采集流程包括下述步骤:
S11、每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
S12、根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;
S13、根据定制好的解析规则来解析读取的内容;
S14、把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;
S15、对每个通道的日志偏移量和日志文件数的实时监控和统计。
2.根据权利要求1所述的一种日志采集方法,其特征在于:所述S12中,所述根据读取进度调整本次读取的起始位置具体是:根据Meta文件记录的该日志文件的上一次读取内容和行号来比对该日志文件最新的内容和行号,检查上一次的读取进度,并根据检查结果,按下述情况调整本次读取的起始位置:
如果日志内容只做了新增,则起始位置是上次采集的结束行号的下一行;
如果日志内容做了修改,则根据日志内容偏移量和行号进行结合分析,把修改的内容的第一行作为起始位置。
3.根据权利要求1所述的一种日志采集方法,其特征在于:
所述解析的过程中,还根据自定义的换行符来进行换行,根据自定义的过滤级别来过滤日志,以及根据自定义的合并规则来合并日志;
所述步骤S15中,所述实时监控和统计的信息是:通道内的单位时间日志数和通道内某个时间点的日志文件数,且对外开放了查询接口供用户调用以实时查询采集进度及相关信息。
4.根据权利要求1所述的一种日志采集方法,其特征在于:还包括清理和备份流程,所述清理和备份流程包括下述步骤:
S21、按照每个通道的过期判断策略,定期检查每个通道的日志文件是否过期,若是,标记该日志文件为过期文件;
S22、根据清理策略来对所述过期文件进行删除或者搬迁到指定的目录下;
S23、清理完过期的日志文件以后,删除该日志文件的采集进度的记录;
S24、自动重启,以避免该日志文件的读取和清理工作交叉处理。
5.一种日志采集装置,其特征在于:包括:
文件扫描器,用于每隔一段时间都要到指定的目录下扫描日志文件,当扫描到该目录下有日志文件以后,对该日志文件建立文件读取句柄;
文件读取器,用于根据读取进度调整本次读取的起始位置,并从起始位置读取所述日志文件的内容,一直读到最后一行;
日志解析器,用于根据定制好的解析规则来解析读取的内容;
日志输出器,用于把解析过的日志内容按照各个通道输出到配置好的目标输出组件中;
监控数据统计器,用于对每个通道的日志偏移量和日志文件数的实时监控和统计。
6.根据权利要求5所述的一种日志采集装置,其特征在于:还包括:
配置加载器,用于读取配置文件中的配置信息,并根据配置信息创建相应的所述文件扫描器,和配置所述日志解析器的解析规则;
文件句柄池,用于保存日志文件的读取连接信息;
文件清理器,用于按照每个通道的过期判断策略,定期检查每个通道的日志文件是否过期,若是,标记该日志文件为过期文件;根据清理策略来对所述过期文件进行删除或者搬迁到指定的目录下;清理完过期的日志文件以后,删除该日志文件的采集进度的记录并自动重启文件扫描器和文件读取器;
进度管理器,用于读取Meta文件中保存的最近一次的读取记录,用以和下一次采集时进行比对,让所述文件读取器读取最近更新的内容;
监控查询服务,获取监控数据统计器统计出来的采集信息,采集器对外开放了查询接口,用户可以通过调用接口实时查询采集进度及相关信息。
7.根据权利要求6所述的一种日志采集装置,其特征在于:
所述进度管理器还进行如下读取进度自维护流程:每次采集完某个日志文件以后,自动在Meta文件中记录这次采集所读取的进度和行号;如果日志文件的内容被重置或者被修改,而不是增加内容,则自动跟Meta文件中记录的进度和行号进行比对,采集时,会根据实际情况决定从哪一行开始读取,并且在Meta文件中记录新的读取进度和行号,且记录不会因系统重启而改变,从而使系统重启会根据已有的采集进度记录继续进行采集;
所述文件读取器根据进度调整本次读取的起始位置具体是:由所述进度管理器获取Meta文件中记录的该日志文件的上一次读取内容和行号来比对该日志文件最新的内容和行号,所述文件读取器根据该日志文件最新的内容和行号检查上一次的读取进度,并根据检查结果,按下述情况调整本次读取的起始位置:如果日志内容只做了新增,则起始位置是上次采集的结束行号的下一行;如果日志内容做了修改,则根据日志内容偏移量和行号进行结合分析,把修改的内容的第一行作为起始位置。
8.根据权利要求5所述的一种日志采集装置,其特征在于:
所述日志采集装置支持容器化部署;
所述日志文件包括.log、.txt格式的文本文件;
所述配置文件支持对需要采集文件文件或不需要采集的文本文件的路径、层级和文件名进行模糊匹配配置;
所述日志输出器支持Kafka、ElasticSearch、Avro类型的输出组件,并且能支持同时输出到多个目标组件,以及支持对输出的Kafka的话题名、ES的索引名进行灵活的配置;
所述日志解析器支持kv、split、regex三种解析规则,并预留自定义解析接口;
所述解析规则还包括换行规则、过滤规则、合并规则和扩充日志内容规则,且扩充日志内容规则还包括路径扩充规则和文件名扩充规则;所述日志解析器在解析的过程中,还根据自定义的换行符来进行换行,根据自定义的过滤级别来过滤日志,根据自定义的合并规则来合并日志;以及根据路径扩充规则和文件名扩充规则扩充日志内容;
所述过期判断策略包括天过期策略、小时过期策略、大小过期策略、文件最后修改时间过期策略。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。
CN202011494013.0A 2020-12-17 2020-12-17 一种日志采集方法、装置、设备和介质 Active CN112685370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011494013.0A CN112685370B (zh) 2020-12-17 2020-12-17 一种日志采集方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011494013.0A CN112685370B (zh) 2020-12-17 2020-12-17 一种日志采集方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN112685370A true CN112685370A (zh) 2021-04-20
CN112685370B CN112685370B (zh) 2022-08-05

Family

ID=75448648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011494013.0A Active CN112685370B (zh) 2020-12-17 2020-12-17 一种日志采集方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN112685370B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033910A (zh) * 2021-11-12 2022-09-09 荣耀终端有限公司 一种访问记录展示方法及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161381A1 (en) * 2015-04-03 2016-10-06 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
CN106294470A (zh) * 2015-06-03 2017-01-04 北京京东尚科信息技术有限公司 基于切分日志的实时增量日志信息读取的方法
CN109088782A (zh) * 2018-11-01 2018-12-25 郑州云海信息技术有限公司 分布式系统的日志收集方法及装置
CN109542733A (zh) * 2018-12-05 2019-03-29 焦点科技股份有限公司 一种高可靠的实时日志收集及可视化检索方法
CN110032496A (zh) * 2019-04-19 2019-07-19 杭州玳数科技有限公司 一种支持多样化日志合并的日志采集方法及系统
CN111708679A (zh) * 2020-05-08 2020-09-25 中国建设银行股份有限公司 日志监控方法、系统、装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161381A1 (en) * 2015-04-03 2016-10-06 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
CN106294470A (zh) * 2015-06-03 2017-01-04 北京京东尚科信息技术有限公司 基于切分日志的实时增量日志信息读取的方法
CN109088782A (zh) * 2018-11-01 2018-12-25 郑州云海信息技术有限公司 分布式系统的日志收集方法及装置
CN109542733A (zh) * 2018-12-05 2019-03-29 焦点科技股份有限公司 一种高可靠的实时日志收集及可视化检索方法
CN110032496A (zh) * 2019-04-19 2019-07-19 杭州玳数科技有限公司 一种支持多样化日志合并的日志采集方法及系统
CN111708679A (zh) * 2020-05-08 2020-09-25 中国建设银行股份有限公司 日志监控方法、系统、装置和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEI CHEN,JIAN LIU,MING XIAN,HUIMEI WANG: "Docker Container Log Collection and Analysis System Based on ELK", 《2020 INTERNATIONAL CONFERENCE ON COMPUTER INFORMATION AND BIG DATA APPLICATIONS (CIBDA)》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115033910A (zh) * 2021-11-12 2022-09-09 荣耀终端有限公司 一种访问记录展示方法及电子设备
CN115033910B (zh) * 2021-11-12 2023-04-07 荣耀终端有限公司 一种访问记录展示方法及电子设备

Also Published As

Publication number Publication date
CN112685370B (zh) 2022-08-05

Similar Documents

Publication Publication Date Title
CN109684053B (zh) 大数据的任务调度方法和系统
CN109240886B (zh) 异常处理方法、装置、计算机设备以及存储介质
US7421621B1 (en) Application integration testing
JP3778652B2 (ja) ログデータ収集管理方法及びその装置
US20060047805A1 (en) Apparatus, system, and method for gathering trace data indicative of resource activity
CN102780726A (zh) 一种基于web平台的日志分析方法及系统
US8489941B2 (en) Automatic documentation of ticket execution
CN111125444A (zh) 大数据任务调度管理方法、装置、设备及存储介质
CN110895488B (zh) 任务调度方法及装置
CN111367760B (zh) 日志采集方法及装置、计算机设备、存储介质
CN111400127B (zh) 业务日志的监控方法及装置、存储介质、计算机设备
WO2015187001A2 (en) System and method for managing resources failure using fast cause and effect analysis in a cloud computing system
CN112685370B (zh) 一种日志采集方法、装置、设备和介质
CN107632926B (zh) 业务数量统计方法、装置、设备及计算机可读存储介质
CN109063040A (zh) 客户端程序数据采集方法及系统
CN108228417A (zh) 车联网日志处理方法及处理装置
CN112866049A (zh) 服务器主机指标采集方法及系统
CN112764989A (zh) 一种用于监控应用服务启停时间的方法
CN114020565A (zh) 日志智能采集处理方法、装置、电子设备及存储介质
CN113722135A (zh) 一种错误日志采集系统、方法、设备及介质
CN109684158B (zh) 分布式协调系统的状态监控方法、装置、设备及存储介质
CN116170321B (zh) 一种链路追踪的数据收集方法、装置、设备和存储介质
CN104199930A (zh) 数据采集及处理的系统及方法
CN112100495B (zh) 一种基于分布式的一站式采集方法及采集系统
CN109684159A (zh) 分布式消息系统的状态监控方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant