CN116561070A - 基于grep的分布式日志查询方法、终端、系统、设备及介质 - Google Patents
基于grep的分布式日志查询方法、终端、系统、设备及介质 Download PDFInfo
- Publication number
- CN116561070A CN116561070A CN202310465395.1A CN202310465395A CN116561070A CN 116561070 A CN116561070 A CN 116561070A CN 202310465395 A CN202310465395 A CN 202310465395A CN 116561070 A CN116561070 A CN 116561070A
- Authority
- CN
- China
- Prior art keywords
- log
- logs
- time
- grep
- query
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 12
- 230000003139 buffering effect Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 230000002085 persistent effect Effects 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims description 2
- 238000010276 construction Methods 0.000 abstract description 3
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于grep的分布式日志查询方法、终端、系统、设备及介质,其查询方法包括:在web控制台新增应用,在应用中添加实例,为实例配置客户端的IP及程序运行端口,以及日志路径及日志的正则匹配;web控制台向客户端程序下发日志路径;web控制台接收客户端程序上传的日志及其时间戳,根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,合并日志的命名信息包含日志时间范围信息;web控制台调用grep搜索查询日志,查询条件包括应用名称及时间范围,其后根据是否有关键词返回不同的查询结果。本发明组件少,性能高,搭建简单,运维成本和学习成本极低,大大提高了日志查询的效率。
Description
技术领域
本发明涉及分布式日志查询技术领域,具体涉及一种基于grep的分布式日志查询方法、终端、系统、设备及介质。
背景技术
互联网应用看中高可用,往往一个应用会部署多个实例,这些实例又会跑在多个终端上,这将导致应用的日志分散在各个机器,想查找日志变得比较困难,不知道某个请求的日志在哪台机器上,往往需要一台一台登录上去查找日志。
当前,常用的分布式日志收集与查询工具是ELK,它是三个开源软件的缩写,分别表示:Elasticsearch、Logstash、Kibana,配合使用可以用来做分布式日志收集。
但ELK其过于复杂,使用门槛很高,光软件的搭建就异常复杂,更不用说后续的优化和调优,需要对这些技术有较为深入的研究的专业技术人员才可以胜任。
ELK的使用也很复杂,往往用户只需要进行分布式的日志收集和搜索,但是它提供了很多其他不是很有必要、用户基本用不上的功能,但用户仍然需要为它的整体复杂性进行买单。尤其是搜索,无论是KQL还是基于Lucene的查询都需要相关的技术知识,否则用户会对查询结果感到十分困惑。
发明内容
本发明的第一目的在于提供一种基于grep的高性能的极其简单的分布式日志收集和查询方法,以实现搭建简单,使用更简单,对运维人员和使用人员门槛极低,做到开箱即用。
为实现上述目的,本发明采用以下技术方案:
基于grep的分布式日志查询方法,包括:
在web控制台新增应用,在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;
web控制台与客户端程序通信,向所述客户端程序下发日志路径;
web控制台接收所述客户端程序上传的日志及其时间戳,根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
web控制台调用grep搜索查询日志,查询条件包括应用名称及时间范围,识别查询条件是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
进一步地,根据日志的时间顺序合并日志包括:web控制台根据不同应用创建不同目录,所述目录中按设定时间间隔生成有若干列表,所述列表的命名信息包含按所述时间间隔而分级的时间信息,所述列表中按时间排序保存了该时间间隔中的日志;将所述列表按时间顺序写入磁盘中。
进一步地,将所述列表按时间顺序写入磁盘包括:设定缓冲时间;将最近一定时间内的日志存储在内存中,将内存中距离当前时间已超过缓冲时间的列表持久化到所述磁盘后,然后从所述内存中清除。
进一步地,按预设的文件大小合并日志包括:顺序读取并合并所述列表,将第一个列表中第一行日志的时间作为起始时间添加到所述合并日志的命名信息中;判断当前列表是否读取完毕,若否,继续读取当前列表,若是,删除当前列表;判断所述合并日志是否达到预设的文件大小,若否,继续顺序读取所述列表;若是,继续读取当前列表直至其日志读取完毕,将当前列表的时间作为终止时间添加到所述合并日志的命名信息中。
进一步地,所述时间间隔为分钟;所述预设的文件大小为100-300M。
本发明的第二目的在于提供一种基于grep的分布式日志查询方法,其包括:
在查询终端部署web控制台及grep搜索,在若干个客户端分别部署客户端程序;
配置所述web控制台,在web控制台新增应用,在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;向所述客户端程序下发日志路径;
配置所述客户端程序,所述客户端程序监控客户端的日志,在有日志输出时,对日志进行正则匹配以提取时间戳,然后将日志及其时间戳发送给所述web控制台;
web控制台接收所述客户端上传的日志及其时间戳,根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
通过所述grep搜索查询日志,查询条件包括应用名称及时间范围,web控制台确认是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
本发明的第三目的在于提供一种基于grep的分布式日志查询终端,其包括:
配置模块,所述配置模块用于新增应用,并在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;
日志获取模块,用于向所述客户端下发日志路径,并接收所述客户端上传的日志及其时间戳;
日志合并模块,用于根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
查询模块,用于调用grep搜索以用于根据查询条件实现日志查询,所述查询条件包括应用名称及时间范围,web控制台确认是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
本发明的第四目的在于提供一种基于grep的分布式日志查询系统,其包括:
grep搜索;
若干个客户端程序,分别部署于若干个客户端以监控客户端的日志;
web控制台,所述web控制台为如前所述的查询终端。
本发明的第五目的在于提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如前述所述的方法。
本发明的第六目的在于提供一种计算机可读存储介质,当所述存储介质中的指令由计算机设备的处理器执行时,使得所述计算机设备能够执行如前所述的方法。
采用上述技术方案后,本发明与背景技术相比,具有如下优点:
本发明涉及的组件极少(只有web控制台与客户端程序),搭建简单,除了linux系统自带的grep搜索,其不依赖于第三方组件(如ES、数据库,ES,flume,kafka等),在日志生成与查询过程中,日志的读写采用了顺序操作,读写效率极高,并且,对合并日志的大小进行了限制,基于此基础,结合grep的高性能搜索,查询的延迟时间通常只需几分钟,大幅提高了查询性能,此外,其对终端用户的查询也很简单,不涉及复杂的操作,运维成本和学习成本低。
本发明的日志汇总操作通过内存计算实现,性能高,在日志收集过程中,设定了缓冲时间,避免有日志没收集到及内存中内容过大的情形发生。
附图说明
图1为本发明在web控制台的日志存储及查询流程示意图;
图2为本发明内存对日志进行汇总操作的流程示意图;
图3为日志合并的流程示意图;
图4为本发明查询系统的日志存储及查询流程示意图;
图5为本发明查询终端的模块拓扑图;
图6为本发明查询系统的拓扑图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
请参考图1所示,本发明公开了基于grep的分布式日志查询方法,其中,图1中的左侧流程图为日志存储流程示意,右侧流程图为日志查询流程示意。
在日志存储流程中,首先,在web控制台新增应用,在所述应用中添加实例,其后,为各实例配置客户端的IP及程序运行端口,以及输入日志的路径(让客户端知道去那个目录下监听日志)及每行日志的正则匹配(用于提取日志的时间戳),然后保存。
此时,web控制台即会与客户端程序通信,把各个客户端上的日志路径下方下去,这样,每个客户端程序就知道自己所在的机器上要搜索的日志路径在哪里了。
接着,web控制台即会接收客户端程序上传的日志及其时间戳,然后根据日志的时间顺序及预设的文件大小合并日志以生成合并日志以减少日志文件的数量。为便于后续查询,所述合并日志的命名信息包含日志时间范围信息。此时,即完成了web控制台对客户端的日志收集及存储。
为进一步理解日志存储流程,本实施例结合具体示例进行说明。
假设有某应用serviceA,它有3个实例,分别部署在3个不同的机器上,此时,我们在web控制台新增应用serviceA,然后在应用中添加对应的3个实例,完成IP、端口、路径及日志正则匹配后,下发至三个客户端程序中。
其后,在web控制台接收到客户端程序上传的日志及其时间戳后,就会根据不同service创建不同目录(比如/root/serviceA)。目录中按设定时间间隔生成有若干列表,列表的命名信息包含按所述时间间隔而分级的时间信息(比如,在优选的实施例中,将时间间隔设定为分钟级,则有,当前时间为10:14分,此时,就有一个名称为1014List的列表),所述列表中按时间排序保存了该时间间隔中的日志(如,按时间排序,名称为1014List的列表保存了各客户端程序中10:14分的日志);将所述列表按时间顺序持久化到磁盘中。
继续读取日志,完成日志的汇总操作。本实施例中,日志的汇总操作通过内存实现,因此,请参考图2所示,本申请还设定了缓冲时间,将最近一定时间内的日志存储在内存中,将内存中距离当前时间已超过缓冲时间的列表持久化到所述磁盘后,然后从所述内存中清除。
在一种具体实例中,假设将缓冲时间设定为3分钟,则,当前时间为10:14分,那么就有一个名称为1014List的列表,该列表内部按时间排序,保存了从各个agent中10:14分的日志,到了15分钟时,会有一个1015List的列表,该列表内部按时间排序,保存了从各个agent中10:15分的日志,以此类推,到了10:17分的时候,会把10:14分的列表持久化到磁盘中,然后清空内存中的1014List,释放内存,到了10:18分,会把10:15分的列表持久化到磁盘中,然后清空内存中的1015List,这样可以给日志一个缓冲的三分钟的时间,避免迟一点的日志没收集到,内存中的内容也不会太大。
此时,web控制台的的工作目录下就会有很多分钟级别的列表,然后web控制台会合并这些小的分钟级别的列表。
请参考图3所示,web控制台顺序读取并合并所述列表,将第一个列表中第一行日志的时间作为起始时间添加到所述合并日志的命名信息中;判断当前列表是否读取完毕,若否,继续读取当前列表,若是,删除当前列表;判断所述合并日志是否达到预设的文件大小(本实施例中,预设文件大小设定为100-300M,优选为200M),若否,继续顺序读取列表;若是,继续读取当前列表直至其日志读取完毕,将当前列表的时间作为终止时间添加到合并日志的命名信息中。
本申请通过日志合并,减少了日志列表的数量;同时,通过限定合并日志的大小,使得grep搜索对日志的查询总是处于稳定、快速的响应状态。
衔接前述具体实例,此时记录第一个日志中第一行日志的时间,新的日志文件命名为202207181014.log,然后不断的读取日志文件,如果该分钟级别的日志文件已经全部读取完毕,则会删除该分钟级别的文件,然后继续读取新的分钟级别的日志文件,直到新的日志文件大小超过200M,取得该行日志的时间,假如是10:29分,然后会继续读取10:29分的日志写进去,直到10:29分的日志全部写完,此时新的日志文件202207181014.log已经全部写完,大小会稍大于200M,并且重命名为202207181014-1029.log,因为分钟级别的日志文件本身已经是有顺序的,而对磁盘的顺序读和顺序写效率极高,所以整体效率很高。该文件就包含了2022年7月18日10:14到2022年7月18日10:29时间段内的所有日志,继续按照上述步骤,会有多个不同时间范围的日志,并且大小均在200M左右。至此,日志存储流程结束。
当需要查询日志时,查询日志流程为:web控制台调用grep搜索查询日志,查询条件包括应用名称及时间范围,识别查询条件是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
衔接前述具体实例,假定,在前述日志存储流程的示例中,后续又生产了几个日志文件,分别为202207181030-1032.log,202207181032-1039.log。
那么,查询步骤为:在web控制台的web界面进行日志查询,选中应用serviceA,选择时间范围,比如2022年7月18日10:18到2022年7月18日10:38分,此时不输入关键字点击搜索,此时manger会找到/root/serviceA目录,然后根据时间范围,找到有如下几个日志文件:202207181014-1029.log,202207181030-1032.log,202207181032-1039.log,根据第一文件202207181014-1029.log,进行grep时间2022年7月18日10:18找到第一行即可,后面就顺序读,分页返回。如果输入了关键字,则先用多线程的方式对着3个文件分别进行并行的grep搜索关键字,匹配到了后,要过滤掉不在查询时间范围内的内容,然后把结果进行汇总即可。
综上所述,grep的性能是极高的,并且日志文件大小都不大,所以性能非常高,汇总操作是内存计算,性能也很高,综合前述因素,本发明可以实现毫秒级的查询操作,整体查询性能非常高。此外,本申请可应用对象广泛,不仅可应用于容器云,常规的物理机与虚拟机也都支持。
实施例2
请参考图4所示,本发明的第二目的在于提供一种基于grep的分布式日志查询方法,其包括:
在查询终端部署web控制台manager及grep搜索,在若干个客户端分别部署客户端程序agent;
其中,grep搜索为linux自带的grep高性能搜索,web控制台manager按实施例1所述的方法配置并执行,本实施例不再赘述。
客户端程序agent被配置为:监控客户端的日志,在有日志输出时,对日志进行正则匹配以提取时间戳,然后根据web控制台manager下发的路径,将日志及其时间戳发送给web控制台manager。
如此,web控制台manager对各客户端程序agent收集的客户端日志进行汇总操作,实现日志存储及查询。
实施例3
请参考图5所示,本发明的第三目的在于提供一种基于grep的分布式日志查询终端,其包括配置模块、日志获取模块、日志合并模块及查询模块。
其中,配置模块用于新增应用,并在应用中添加实例,为实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配(用于实现时间戳的提取)。
日志获取模块用于向客户端下发日志路径,并接收客户端上传的日志及其时间戳。
日志合并模块,用于根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,合并日志的命名信息包含日志时间范围信息。其日志合并过程,请参考实施例1所述,本实施例不再赘述。
查询模块,用于调用grep搜索以用于根据查询条件实现日志查询,所述查询条件包括应用名称及时间范围,web控制台确认是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。调用grep搜索请参考实施1及实施例2所述,本实施例不再赘述。
实施例4
请参考图4及图6所示,本发明的第四目的在于提供一种基于grep的分布式日志查询系统,其包括grep搜索、web控制台manager及若干个客户端程序agent,grep搜索及web控制台部署于同一终端上,若干个客户端程序agent分别部署于若干个客户端以监控客户端的日志;
其中,web控制台用于执行实施例1及2所述的方法,grep搜索及客户端程序用于执行实施例2所述的方法,本实施例不再赘述。
实施例5
本发明的第五目的在于提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如实施例1-2任一实施例所述的方法。
实施例6
本发明的第六目的在于提供一种计算机可读存储介质,当所述存储介质中的指令由计算机设备的处理器执行时,使得所述计算机设备能够执行如实施例1-2任一实施例前所述的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.基于grep的分布式日志查询方法,其特征在于,包括:
在web控制台新增应用,在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;
web控制台与客户端程序通信,向所述客户端程序下发日志路径;
web控制台接收所述客户端程序上传的日志及其时间戳,根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
web控制台调用grep搜索查询日志,查询条件包括应用名称及时间范围,识别查询条件是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
2.如权利要求1所述的基于grep的分布式日志查询方法,其特征在于,根据日志的时间顺序合并日志包括:
web控制台根据不同应用创建不同目录,所述目录中按设定时间间隔生成有若干列表,所述列表的命名信息包含按所述时间间隔而分级的时间信息,所述列表中按时间排序保存了该时间间隔中的日志;
将所述列表按时间顺序写入磁盘中。
3.如权利要求2所述的基于grep的分布式日志查询方法,其特征在于:将所述列表按时间顺序写入磁盘包括:设定缓冲时间;将最近一定时间内的日志存储在内存中,将内存中距离当前时间已超过缓冲时间的列表持久化到所述磁盘后,然后从所述内存中清除。
4.如权利要求2所述的基于grep的分布式日志查询方法,其特征在于,按预设的文件大小合并日志包括:
顺序读取并合并所述列表,将第一个列表中第一行日志的时间作为起始时间添加到所述合并日志的命名信息中;判断当前列表是否读取完毕,若否,继续读取当前列表,若是,删除当前列表;
判断所述合并日志是否达到预设的文件大小,若否,继续顺序读取所述列表;若是,继续读取当前列表直至其日志读取完毕,将当前列表的时间作为终止时间添加到所述合并日志的命名信息中。
5.如权利要求2-4任一项所述的基于grep的分布式日志查询方法,其特征在于:所述时间间隔为分钟;所述预设的文件大小为100-300M。
6.基于grep的分布式日志查询方法,其特征在于,包括:
在查询终端部署web控制台及grep搜索,在若干个客户端分别部署客户端程序;
配置所述web控制台,在web控制台新增应用,在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;向所述客户端程序下发日志路径;
配置所述客户端程序,所述客户端程序监控客户端的日志,在有日志输出时,对日志进行正则匹配以提取时间戳,然后将日志及其时间戳发送给所述web控制台;
web控制台接收所述客户端上传的日志及其时间戳,根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
通过所述grep搜索查询日志,查询条件包括应用名称及时间范围,web控制台确认是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
7.基于grep的分布式日志查询终端,其特征在于,包括:
配置模块,所述配置模块用于新增应用,并在所述应用中添加实例,为所述实例配置客户端的IP及程序运行端口,以及输入日志的路径及每行日志的正则匹配;
日志获取模块,用于向所述客户端下发日志路径,并接收所述客户端上传的日志及其时间戳;
日志合并模块,用于根据日志的时间顺序及预设的文件大小合并日志以生成合并日志,所述合并日志的命名信息包含日志时间范围信息;
查询模块,用于调用grep搜索以用于根据查询条件实现日志查询,所述查询条件包括应用名称及时间范围,web控制台确认是否有关键词,若有,根据关键词多线程grep后过滤不在查询时间范围内的内容后汇总返回,若无,根据开始时间grep到起始行分页返回。
8.基于grep的分布式日志查询系统,其特征在于,包括:
grep搜索;
若干个客户端程序,分别部署于若干个客户端以监控客户端的日志;
web控制台,所述web控制台为如权利要求7所述的查询终端。
9.一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,其特征在于:所述计算机程序由所述处理器加载并执行以实现如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,当所述存储介质中的指令由计算机设备的处理器执行时,使得所述计算机设备能够执行如权利要求1-6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465395.1A CN116561070A (zh) | 2023-04-27 | 2023-04-27 | 基于grep的分布式日志查询方法、终端、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465395.1A CN116561070A (zh) | 2023-04-27 | 2023-04-27 | 基于grep的分布式日志查询方法、终端、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116561070A true CN116561070A (zh) | 2023-08-08 |
Family
ID=87487199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310465395.1A Pending CN116561070A (zh) | 2023-04-27 | 2023-04-27 | 基于grep的分布式日志查询方法、终端、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116561070A (zh) |
-
2023
- 2023-04-27 CN CN202310465395.1A patent/CN116561070A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11416505B2 (en) | Querying an archive for a data store | |
US8589432B2 (en) | Real time searching and reporting | |
WO2012106378A2 (en) | Real time searching and reporting | |
US20200174820A1 (en) | Presenting hypervisor data for a virtual machine with associated operating system data | |
JP2016539401A (ja) | 階層的データアーカイビング | |
US20190179933A1 (en) | Generating sub-indexes from an index to compress the index | |
CN111258978A (zh) | 一种数据存储的方法 | |
US9659021B1 (en) | Client based backups and backup indexing | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN109740034A (zh) | 基于图形数据库的企业涉案信息查询方法及装置 | |
US10901811B2 (en) | Creating alerts associated with a data storage system based on natural language requests | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN103177035A (zh) | 一种在数据库中查询数据的装置及方法 | |
CN103177022A (zh) | 一种恶意文件搜索方法及装置 | |
CN109117426A (zh) | 分布式数据库查询方法、装置、设备及存储介质 | |
CN109635022B (zh) | 一种可视化的ElasticSearch数据采集方法及装置 | |
CN108090186A (zh) | 一种大数据平台上的电力数据去重方法 | |
CN104462349A (zh) | 一种文件处理方法及装置 | |
CN114218211A (zh) | 数据处理系统、方法、计算机设备以及可读存储介质 | |
CN102129454A (zh) | 一种基于云存储的百科数据处理方法及系统 | |
CN116561382A (zh) | 一种图数据库的数据处理方法、装置、设备及存储介质 | |
CN111522918A (zh) | 数据汇聚方法、装置、电子设备及计算机可读存储介质 | |
CN116561070A (zh) | 基于grep的分布式日志查询方法、终端、系统、设备及介质 | |
CN110888840A (zh) | 分布式文件系统中的文件查询方法、装置、设备及介质 | |
CN112464049B (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 |