CN116991815B - 一种分布式存储系统的日志收集方法、装置、设备及介质 - Google Patents
一种分布式存储系统的日志收集方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116991815B CN116991815B CN202311245841.4A CN202311245841A CN116991815B CN 116991815 B CN116991815 B CN 116991815B CN 202311245841 A CN202311245841 A CN 202311245841A CN 116991815 B CN116991815 B CN 116991815B
- Authority
- CN
- China
- Prior art keywords
- log
- file
- collection
- time
- audit
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012550 audit Methods 0.000 claims abstract description 213
- 230000008569 process Effects 0.000 claims description 45
- 238000007726 management method Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000008676 import Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 241001362551 Samba Species 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001052 transient effect 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/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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种分布式存储系统的日志收集方法、装置、设备及介质,应用于日志收集技术领域,包括:基于预设周期获取当前时间;获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间;若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志;当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。能够提升查询效率以及灵活度,有利于问题的定位。
Description
技术领域
本发明涉及日志收集技术领域,特别涉及一种分布式存储系统的日志收集方法、装置、设备及介质。
背景技术
多协议互通属于分布式存储的一种,以文件系统为底座,上层支持单独的文件协议。在目前的多协议互通场景下,通常是各协议分别将日志写入日志文件中,这样,在查询日志时,需要不断打开日志文件,影响系统性能,查询效率较低、灵活度差,不利于问题的定位。
发明内容
有鉴于此,本发明的目的在于提供一种分布式存储系统的日志收集方法、装置、设备及介质,能够提升日志查询效率以及灵活度,有利于问题的定位。其具体方案如下:
第一方面,本发明公开了一种分布式存储系统的日志收集方法,应用于管理节点,包括:
基于预设周期获取当前时间;
获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间;
若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;
当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志;
当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。
可选的,还包括:
当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件。
可选的,还包括:
当所述审计日志文件已读完,则将所述文件偏移量置为0;
判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
可选的,还包括:
当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。
可选的,在所述判定满足第二预设日志入库条件之后,还包括:
将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间,并将所述文件偏移量置为0,判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
可选的,还包括:
当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。
可选的,所述获取收集进度以及文件偏移量,包括:
从所述配置文件中获取收集进度以及文件偏移量。
可选的,所述根据所述文件偏移量读取所述审计日志文件中的日志,包括:
若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。
可选的,还包括:
为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。
可选的,所述为每个存储节点均创建一个日志收集线程,包括:
启动一个主进程,基于所述主进程为每个存储节点均创建一个日志收集线程。
可选的,还包括:
当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。
可选的,还包括:
当所述主进程监测到所有所述日志收集线程均终止,则退出。
可选的,还包括:
若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
可选的,还包括:
获取所述审计日志文件的文件名称;
基于所述文件名称识别所述审计日志文件的文件创建时间。
可选的,所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。
可选的,所述将所述日志集合写入数据库,包括:
提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;
将所述内容根据所述数据表头填入数据库中的数据表。
可选的,所述事件协议类型包括对象协议以及文件协议。
可选的,所述数据库表头还包括事件名称,所述方法还包括:
基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称。
可选的,所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。
第二方面,本发明公开了一种分布式存储系统的日志收集装置,应用于管理节点,包括:
当前时间获取模块,用于基于预设周期获取当前时间;
进度及偏移获取模块,用于获取收集进度以及文件偏移量;
收集时间确定模块,用于基于所述收集进度确定收集时间;
日志读取模块,用于若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;
日志添加模块,用于当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合;
偏移更新模块,用于更新所述文件偏移量,相应的,所述日志读取模块,还用于基于更新后的文件偏移量继续读取所述审计日志文件中的日志;
日志入库模块,用于当满足第一预设日志入库条件,则将所述日志集合写入数据库;
进度更新模块,用于将所述收集进度更新为所述当前时间。
第三方面,本发明公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的分布式存储系统的日志收集方法。
第四方面,本发明公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的分布式存储系统的日志收集方法。
可见,本发明基于预设周期获取当前时间,获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间,若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志,当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志,当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。也即,本发明可以自定义日志收集的周期,基于自定义的周期获取当前时间,比较存储节点中审计日志文件的文件创建时间与基于收集进度确定的收集时间,当文件创建时间晚于或等于收集时间,则根据文件偏移量读取审计日志文件中的日志,并且,在日志的事件发生时间小于或等于当前时间,则将日志添加至日志集合,并更新文件偏移量,继续读取审计日志文件,在满足入库条件后,则将日志集合写入数据库,并将收集进度更新为当前时间。
本发明的有益效果在于:按照自定义周期,并基于当前时间、收集进度以及日志中的事件发生时间收集存储节点的审计日志,然后存入数据库,将管理节点的日志收集周期和存储节点的审计日志记录周期割离,能够允许存储节点以较长的周期记录审计日志,减少审计日志文件数量,在收集日志时无需打开过多的文件,避免影响系统性能,并且能够支持管理节点以较短周期收集日志并入库,进而基于数据库实现查询,能够提升查询效率以及灵活度,有利于问题的定位。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种分布式存储系统的日志收集方法流程图;
图2为本发明实施例提供的一种具体的多协议场景下的审计日志收集示意图;
图3为本发明实施例提供的一种审计日志生成示意图;
图4为本发明实施例提供的一种具体的日志收集和导入流程图;
图5为本发明实施例公开的一种分布式存储系统的日志收集装置结构示意图;
图6为本发明实施例公开的一种电子设备原理结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。分布式文件存储系统一般采用NFS(即NetworkFile System,网络文件系统,)或CIFS(即Common Internet File System,通用网络文件系统)命令集访问数据,以NAS(即(Network Attached Storage,网络附属存储)为传输协议,通过TCP(即Transmission Control Protocol,传输控制协议)/IP(即Internet Protocol,网际互连协议)实现网络化存储,可扩展性好、价格便宜、用户易管理,兼容传统数据库。另外,对象存储是最简单的分布式存储系统,主要由数据节点集群、元数据集群和网关集群(或者客户端)三部分构成。数据节点集群负责保存对象数据,元数据集群负责保存集群的元数据,网关集群和客户端对外提供简单的访问API(即Application ProgrammingInterface,应用程序接口),对内访问元数据和数据节点读写数据。一般采用S3(即SimpleStorage Service,简单存储服务)协议访问数据,底层数据扁平化管理。面向存储海量非结构化数据,如图片、视频等非结构化数据的存储。RADOS(即Reliable, AutonomicDistributed Object Store,一种分布式数据存储系统)对象是保存在分布式存储池中的基本数据单元,缺陷:不支持修改写,难以兼容传统数据库。其中,S3协议为公认的对象存储行业标准协议。S3协议提供了指定存储段和对象的所有者和权限的能力,就像对待硬件的文件和文件夹一样。在S3协议中定义对象或存储段时,可以指定一个访问控制策略,注明谁可以访问自身的S3资产以及如何访问(例如,读和写权限)。相应地,可以通过许多方式提供对自身的对象的访问,如RESTful(REST即Representational State Transfer,表述性状态传递) API。NAS协议,指代以文件为单位的通信协议。NAS上文件共享的协议通常有Samba(即Server Messages Block,信息服务块)、nfs、ftp(即File Transfer Protocol,文件传输协议)协议。这些文件管理协议,都包含了文件的列表、添加、删除、属性获取(文件大小、创建时间、修改时间等)等管理操作。
进一步的,多协议互通属于分布式存储的一种,以文件系统为底座,上层支持单独的文件协议,同时支持S3协议到NAS协议的转换。在多协议互通场景下,一份数据在一个业务场景下被多次利用,如果协议不能互通,就需要多次复制数据来兼容不同协议。多协议互通指不需要进行格式转化,就能让通过对象方式存储到服务器中的数据,通过文件方式来访问;或者通过文件方式存储到服务器中的数据,通过对象方式来访问。存取数据之间不需要经过格式转化,能够有效避免语义的缺失和性能的损失。多协议互通的实现方式为:多协议互通场景下,对象协议和文件协议,同一个文件的数据和元数据在服务器上保存为同一份;通过对象协议上传的数据,通过业务网关调用文件接口按照文件系统的方式存储数据和元数据,在文件协议进行数据的读取时直接调用文件接口获取;通过文件协议写入的数据,使用对象协议下载时,通过业务网关调用文件接口获取数据和元数据,然后按照对象协议格式返回给客户端。
在目前的多协议互通场景下,通常是各协议分别将日志写入日志文件中,这样,在查询日志时,需要不断打开日志文件,影响系统性能,查询效率较低、灵活度差,不利于问题的定位。为此,本发明提供了一种日志采集方案,能够提升日志查询效率以及灵活度,有利于问题的定位。
参见图1所示,本发明实施例公开了一种分布式存储系统的日志收集方法,应用于管理节点,包括:
步骤S11:基于预设周期获取当前时间。
在具体的实施方式中,周期可以自定义,比如1分钟,也即,审计日志可按照分钟收集,能够自定义收集周期。当前时间可以精确到分钟。
步骤S12:获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间。
本发明实施例可以从配置文件中获取收集进度以及文件偏移量。并且,当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。若本地存在配置文件,则直接从配置文件中获取收集进度以及文件偏移量。在一种实施方式中,配置文件中可以包括每个存储节点的收集进度和文件偏移量,根据节点名称区分,针对任一存储节点,按照其对应的收集进度和文件偏移量进行日志收集。在另一种实施方式中,可以为每个存储节点分别创建该存储节点对应的配置文件。
进一步的,本发明实施例可以基于审计日志文件的文件创建时间的精度截取收集进度,得到与文件创建时间相同精度的收集时间,比如收集进度精确到分钟,文件创建时间精度为小时,则截取收集进度中小时之前的内容,得到收集时间。
步骤S13:若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志。
在具体的实施方式中,可以获取所述审计日志文件的文件名称;基于所述文件名称识别所述审计日志文件的文件创建时间。所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。例如,存储节点每小时新建一个审计日志文件,该小时所有操作均记录在该文件中,基于文件创建时间确定审计日志文件的名称,如:2023-07-23-12.log,记录了12:00到13:00的所有操作。
并且,若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。也即,文件创建时间早于收集时间,则读取下一个审计日志文件。
在具体的实施方式中,若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。相较于复制日志到管理节点的方法,本发明可以有效节省磁盘空间。需要指出的,集群中所有节点均为存储节点,管理节点除了正常的存储数据外,还负责日志收集,每个存储节点均各自生成审计日志文件,包括管理节点。
步骤S14:当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志。
也即,从更新后的文件偏移量开始,读下一条日志。
步骤S15:当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。
在具体的实施方式中,当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件,并且,当满足第一预设日志入库条件,本发明实施例还可以更新文件偏移量。需要指出的是,日志中的事件发生时间大于所述当前时间,表明该在进行日志入库时,该审计日志文件还没有读取完,所以需要更新收集进度以及文件偏移量,保障下个周期时,可以从未读取的位置开始读取日志。
在一种实施方式中,当所述审计日志文件已读完,则将所述文件偏移量置为0;判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。也即,读取下一个审计日志文件中的日志,暂时不做数据库入库处理。
在另一种实施方式中,当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。并且,将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间,并将所述文件偏移量置为0,判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
在具体的实施方式中,将所述日志集合写入数据库的过程可以包括:提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;将所述内容根据所述数据表头填入数据库中的数据表。所述事件协议类型包括对象协议以及文件协议。操作类型可以包括创建、删除以及重命名等。所述数据库表头还包括事件名称,本发明实施例还可以基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称,日志序号表征该进程对应的日志次序,也即,该进程对应的第几个日志。
另外,所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。也即,可以根据实际需求,拓展数据库表头。
进一步的,本发明实施例可以为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。具体的,可以启动一个主进程,基于所述主进程为每个存储节点均创建一个日志收集线程。可以理解的是,每个日志收集线程均可以执行前述步骤S11至步骤S15。多线程可以并行进行日志收集。当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。当所述主进程监测到所有所述日志收集线程均终止,则退出。
可见,本发明实施例基于预设周期获取当前时间,获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间,若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志,当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志,当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。也即,本发明实施例可以自定义日志收集的周期,基于自定义的周期获取当前时间,比较存储节点中审计日志文件的文件创建时间与基于收集进度确定的收集时间,当文件创建时间晚于或等于收集时间,则根据文件偏移量读取审计日志文件中的日志,并且,在日志的事件发生时间小于或等于当前时间,则将日志添加至日志集合,并更新文件偏移量,继续读取审计日志文件,在满足入库条件后,则将日志集合写入数据库,并将收集进度更新为当前时间。这样,按照自定义周期,并基于当前时间、收集进度以及日志中的事件发生时间收集存储节点的审计日志,然后存入数据库,将管理节点的日志收集周期和存储节点的审计日志记录周期割离,能够允许存储节点以较长的周期记录审计日志,减少审计日志文件数量,在收集日志时无需打开过多的文件,避免影响系统性能,并且能够支持管理节点以较短周期收集日志并入库,进而基于数据库实现查询,能够提升查询效率以及灵活度,有利于问题的定位。
本发明实施例进一步的阐述多协议场景下的审计日志收集,参见图2所示,图2为本发明实施例提供的一种具体的多协议场景下的审计日志收集示意图,包括审计日志收集、审计日志导入、审计日志检索。以集群中有n个节点为例。
一个集群由多个节点组成,包括少量的管理节点,剩余的均为存储节点。管理节点除了正常存储数据外,还负责管理整个集群信息,普通的存储节点不具备该功能。审计日志管理仅在管理节点上,但审计日志生成在每个存储节点(包括管理节点)上。
其中,审计日志的生成,由各协议自主生成,当请求执行结束后,将该请求的相关信息以固定的格式保存到节点本地审计日志目录下,例如,参见图3所示,图3为本发明实施例提供的一种审计日志生成示意图。以n个客户端为例,分别为客户端1、客户端2、客户端3至客户端n,协议层包括S3协议、NFS协议、CIFS协议以及HDFS(即Hadoop Distributed FileSystem,海杜普分布式文件系统)协议。存储系统可以包括n个服务器,分别为服务器1、服务器2、服务器3至服务器n,通过日志缓存以及下刷接口将日志写入审计日志文件。具体的,每个存储节点均每小时新建一个审计日志文件,该小时所有操作均记录在该文件中。如:2023-07-23-12.log,记录了12:00到13:00的所有操作。管理节点负责收集所有存储节点的审计日志,多个管理节点均维护一套自己的审计日志进程,这些进程相互独立,并不冲突,也即,每个管理节点均相互独立的收集集群中所有存储节点的审计日志,需要指出的是,可以在集群中指定一个管理节点,用户可以通过该管理节点进行日志查询等操作,当该管理节点发生故障,则进行虚拟机IP迁移,从而保障用户可以通过正常运行的管理节点进行日志查询等操作。
进一步的,将收集到的审计日志,转存到数据库中。数据库中表头包括事件名称(event_id)、事件发生时间(event_time)、事件协议类型(protocol)、操作类型(op_type),其中事件名称由操作时间、进程pid(即进程标识)、序号组成,其在数据库中作为主键必须存在且唯一;事件发生时间作为评估日志是否需要导入数据库的标准,也必须存在(后日志收集会根据事件发生时间作为衡量标准)。根据需求的不同还插入文件路径、用户名、文件名、文件大小等。在进行审计日志检索时,可以通过数据库检索审计日志内容,提高检索效率。
参见图4所示,图4为本发明实施例提供的一种具体的日志收集和导入流程图。可以在管理节点部署审计日志收集服务,审计日志收集服务在管理节点启动,启动时进行服务初始化,遍历集群所有存储节点,为每个存储节点创建一个日志收集线程,审计日志收集服务启动时,若不存在收集进度对应的配置文件,则创建配置文件;若管理节点还未统计收集进度,则为每个节点的收集进度赋一个初始值。配置文件中section(即区段)为存储节点名称,key(即键)包括收集进度和偏移量,收集进度精确到分钟,初始值可以为1970-01-01-00-00;偏移量为已经读到日志文件的位置,初始值为0。收集进程结束的条件是是否接收到终止信号,若主进程接收到终止信号,子线程(即每个日志收集线程)在一次日志收集进程结束后会判断主进程是否接收到终止信号,接收到则子线程终止。主线程在所有子线程终止后退出。
并且,审计日志收集时,可以通过SSH(即Secure Shell,安全外壳)远程连接的方式访问其他节点的审计日志,相较于复制日志到管理节点的方法,有效节省磁盘空间,但相应的,对节点之间网络的流畅性、稳定性的要求相对较高。
在收集过程中,可以通过对比收集进度和审计日志名称来判断日志是否完成收集,若审计日志目录为空或者收集进度晚于审计日志名称,说明日志收集完成,更新当前时间到收集进度中。需要说明的是,比较时所用的收集进度为基于审计日志文件的创建时间截取的部分,也即前述收集时间,本发明实施例可以截取小时部分。若审计日志名称等于或晚于收集进度,则收集审计日志;从收集进度的偏移量位置开始,向后按行读取日志内容,审计日志信息保存到日志集合中,直到日志文件被读完或者日志记录的事件发生时间晚于当前时间时结束;若审计日志收集过程中,读完了整个审计日志内容,则说明此日志文件已经读完,将偏移量置0,继续开始读下一个日志文件;审计日志收集完成后,将日志集合中的内容导入审计日志数据库中,更新本次的收集进度和偏移量到收集进度配置文件中。待所有节点审计日志收集完毕,等待一个收集周期,开始下一次日志收集。
另外,在一种实施方式中,可以设计审计日志管理系统,包括审计日志生成模块、审计日志收集模块、审计日志导入模块、审计日志检索模块,其中,审计日志生成模块部署于每个存储节点,用于生成审计日志文件。审计日志收集模块、审计日志导入模块、审计日志检索模块部署于管理节点。
这样,在多协议互通场景下审计进行日志管理,实现了在业务运行时,对用户操作记录中指定操作字(如创建、删除、重命名等)进行统计,并定期收集到数据库中。使审计日志具备灵活的查询功能,通过数据库筛选条件可以快过滤某一时刻的操作记录,便于问题的定位和数据管理。
参见图5所示,本发明实施例公开了一种分布式存储系统的日志收集装置,应用于管理节点,包括:
当前时间获取模块11,用于基于预设周期获取当前时间;
进度及偏移获取模块12,用于获取收集进度以及文件偏移量;
收集时间确定模块13,用于基于所述收集进度确定收集时间;
日志读取模块14,用于若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;
日志添加模块15,用于当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合;
偏移更新模块16,用于更新所述文件偏移量,相应的,所述日志读取模块,还用于基于更新后的文件偏移量继续读取所述审计日志文件中的日志;
日志入库模块17,用于当满足第一预设日志入库条件,则将所述日志集合写入数据库;
进度更新模块18,用于将所述收集进度更新为所述当前时间。
可见,本发明实施例基于预设周期获取当前时间,获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间,若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志,当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志,当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。也即,本发明实施例可以自定义日志收集的周期,基于自定义的周期获取当前时间,比较存储节点中审计日志文件的文件创建时间与基于收集进度确定的收集时间,当文件创建时间晚于或等于收集时间,则根据文件偏移量读取审计日志文件中的日志,并且,在日志的事件发生时间小于或等于当前时间,则将日志添加至日志集合,并更新文件偏移量,继续读取审计日志文件,在满足入库条件后,则将日志集合写入数据库,并将收集进度更新为当前时间。这样,按照自定义周期,并基于当前时间、收集进度以及日志中的事件发生时间收集存储节点的审计日志,然后存入数据库,将管理节点的日志收集周期和存储节点的审计日志记录周期割离,能够允许存储节点以较长的周期记录审计日志,减少审计日志文件数量,在收集日志时无需打开过多的文件,避免影响系统性能,并且能够支持管理节点以较短周期收集日志并入库,进而基于数据库实现查询,能够提升查询效率以及灵活度,有利于问题的定位。
其中,日志入库模块17,还用于当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件。
进一步的,偏移更新模块16,还用于当所述审计日志文件已读完,则将所述文件偏移量置为0;相应的,日志读取模块14,还用于判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
进一步的,日志入库模块17,还用于当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。相应的,进度更新模块18,还用于将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间;偏移更新模块16还用于将所述文件偏移量置为0,日志读取模块14,还用于判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
进一步的,所述装置,还包括:
配置文件创建模块,用于当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。
进度及偏移获取模块12,具体用于从所述配置文件中获取收集进度以及文件偏移量。
进一步的,日志读取模块14,具体用于若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。
进一步的,所述装置还包括:
线程创建模块,用于为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。
并且,所述装置还包括进程启动模块,用于启动一个主进程,相应的,线程创建模块,具体用于基于所述主进程为每个存储节点均创建一个日志收集线程。其中,当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。当所述主进程监测到所有所述日志收集线程均终止,则退出。
日志读取模块14,还用于若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
进一步的,所述装置还包括:
文件名称获取模块,用于获取所述审计日志文件的文件名称;
文件创建时间识别模块,用于基于所述文件名称识别所述审计日志文件的文件创建时间。
其中,所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。
进一步的,日志入库模块17,具体用于提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;将所述内容根据所述数据表头填入数据库中的数据表。
在一种实施方式中,所述事件协议类型包括对象协议以及文件协议。
在具体的实施方式中,所述数据库表头还包括事件名称,所述日志入库模块17还用于:基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称。
在一些实施例中,所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。
参见图6所示,本发明实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,以实现以下步骤:
基于预设周期获取当前时间;获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间;若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志;当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。
可见,本发明实施例基于预设周期获取当前时间,获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间,若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志,当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志,当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。也即,本发明实施例可以自定义日志收集的周期,基于自定义的周期获取当前时间,比较存储节点中审计日志文件的文件创建时间与基于收集进度确定的收集时间,当文件创建时间晚于或等于收集时间,则根据文件偏移量读取审计日志文件中的日志,并且,在日志的事件发生时间小于或等于当前时间,则将日志添加至日志集合,并更新文件偏移量,继续读取审计日志文件,在满足入库条件后,则将日志集合写入数据库,并将收集进度更新为当前时间。这样,按照自定义周期,并基于当前时间、收集进度以及日志中的事件发生时间收集存储节点的审计日志,然后存入数据库,将管理节点的日志收集周期和存储节点的审计日志记录周期割离,能够允许存储节点以较长的周期记录审计日志,减少审计日志文件数量,在收集日志时无需打开过多的文件,避免影响系统性能,并且能够支持管理节点以较短周期收集日志并入库,进而基于数据库实现查询,能够提升查询效率以及灵活度,有利于问题的定位。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当所述审计日志文件已读完,则将所述文件偏移量置为0;判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:在所述判定满足第二预设日志入库条件之后,将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间,并将所述文件偏移量置为0,判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:从所述配置文件中获取收集进度以及文件偏移量。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:启动一个主进程,基于所述主进程为每个存储节点均创建一个日志收集线程。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:当所述主进程监测到所有所述日志收集线程均终止,则退出。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:获取所述审计日志文件的文件名称;基于所述文件名称识别所述审计日志文件的文件创建时间。所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;将所述内容根据所述数据表头填入数据库中的数据表。所述事件协议类型包括对象协议以及文件协议。
本实施例中,所述处理器21执行所述存储器22中保存的计算机子程序时,可以具体实现以下步骤:基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称。所述数据库表头还包括事件名称。
所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本发明技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本发明实施例公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
基于预设周期获取当前时间;获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间;若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志;当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。
可见,本发明实施例基于预设周期获取当前时间,获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间,若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志,当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志,当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。也即,本发明实施例可以自定义日志收集的周期,基于自定义的周期获取当前时间,比较存储节点中审计日志文件的文件创建时间与基于收集进度确定的收集时间,当文件创建时间晚于或等于收集时间,则根据文件偏移量读取审计日志文件中的日志,并且,在日志的事件发生时间小于或等于当前时间,则将日志添加至日志集合,并更新文件偏移量,继续读取审计日志文件,在满足入库条件后,则将日志集合写入数据库,并将收集进度更新为当前时间。这样,按照自定义周期,并基于当前时间、收集进度以及日志中的事件发生时间收集存储节点的审计日志,然后存入数据库,将管理节点的日志收集周期和存储节点的审计日志记录周期割离,能够允许存储节点以较长的周期记录审计日志,减少审计日志文件数量,在收集日志时无需打开过多的文件,避免影响系统性能,并且能够支持管理节点以较短周期收集日志并入库,进而基于数据库实现查询,能够提升查询效率以及灵活度,有利于问题的定位。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当所述审计日志文件已读完,则将所述文件偏移量置为0;判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:在所述判定满足第二预设日志入库条件之后,将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间,并将所述文件偏移量置为0,判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:从所述配置文件中获取收集进度以及文件偏移量。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:启动一个主进程,基于所述主进程为每个存储节点均创建一个日志收集线程。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:当所述主进程监测到所有所述日志收集线程均终止,则退出。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:获取所述审计日志文件的文件名称;基于所述文件名称识别所述审计日志文件的文件创建时间。所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;将所述内容根据所述数据表头填入数据库中的数据表。所述事件协议类型包括对象协议以及文件协议。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称。所述数据库表头还包括事件名称。
所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种分布式存储系统的日志收集方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (22)
1.一种分布式存储系统的日志收集方法,其特征在于,应用于管理节点,包括:
基于预设周期获取当前时间;
获取收集进度以及文件偏移量,并基于所述收集进度确定收集时间;
若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;
当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合,并更新所述文件偏移量,基于更新后的文件偏移量继续读取所述审计日志文件中的日志;
当满足第一预设日志入库条件,则将所述日志集合写入数据库,并将所述收集进度更新为所述当前时间。
2.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当所述日志中的事件发生时间大于所述当前时间,则判定满足所述第一预设日志入库条件。
3.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当所述审计日志文件已读完,则将所述文件偏移量置为0;
判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
4.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当所述审计日志文件已读完,则判定满足第二预设日志入库条件,将所述日志集合写入数据库。
5.根据权利要求4所述的分布式存储系统的日志收集方法,其特征在于,在所述判定满足第二预设日志入库条件之后,还包括:
将所述收集进度更新为所述存储节点中的下一个审计日志文件的文件创建时间,并将所述文件偏移量置为0,判断下一个审计日志文件的文件创建时间是否晚于或等于更新后的收集时间,所述更新后的收集时间为基于更新后的收集进度确定的时间。
6.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当本地没有配置文件,则创建配置文件,并在所述配置文件中给收集进度和文件偏移量赋予初始值。
7.根据权利要求6所述的分布式存储系统的日志收集方法,其特征在于,所述获取收集进度以及文件偏移量,包括:
从所述配置文件中获取收集进度以及文件偏移量。
8.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,所述根据所述文件偏移量读取所述审计日志文件中的日志,包括:
若所述存储节点为其他节点,则基于安全外壳协议与所述存储节点建立远程连接,并通过所述远程连接根据所述文件偏移量读取所述审计日志文件中的日志。
9.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
为每个存储节点均创建一个日志收集线程,分别收集每个存储节点的日志。
10.根据权利要求9所述的分布式存储系统的日志收集方法,其特征在于,所述为每个存储节点均创建一个日志收集线程,包括:
启动一个主进程,基于所述主进程为每个存储节点均创建一个日志收集线程。
11.根据权利要求10所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当任一所述日志收集线程监测到所述主进程接收到终止信号,则终止线程。
12.根据权利要求11所述的分布式存储系统的日志收集方法,其特征在于,还包括:
当所述主进程监测到所有所述日志收集线程均终止,则退出。
13.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
若存储节点中的审计日志文件的文件创建时间早于所述收集时间,则判断所述存储节点中的下一个审计日志文件的文件创建时间是否晚于或等于所述收集时间。
14.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,还包括:
获取所述审计日志文件的文件名称;
基于所述文件名称识别所述审计日志文件的文件创建时间。
15.根据权利要求1所述的分布式存储系统的日志收集方法,其特征在于,所述审计日志文件中记录所述文件创建时间起预设时长内所有操作的日志,并且,所述审计日志为所述存储节点每隔所述预设时长创建一次的日志。
16.根据权利要求1至15任一项所述的分布式存储系统的日志收集方法,其特征在于,所述将所述日志集合写入数据库,包括:
提取日志中数据库表头所对应的内容,该日志为所述日志集合中的日志,所述数据库表头包括:事件发生时间、事件协议类型、操作类型;
将所述内容根据所述数据库表头填入数据库中的数据表。
17.根据权利要求16所述的分布式存储系统的日志收集方法,其特征在于,所述事件协议类型包括对象协议以及文件协议。
18.根据权利要求16所述的分布式存储系统的日志收集方法,其特征在于,所述数据库表头还包括事件名称,所述方法还包括:
基于日志中的事件发生时间、进程标识以及日志序号生成唯一的事件名称。
19.根据权利要求16所述的分布式存储系统的日志收集方法,其特征在于,所述数据库表头还包括用户信息以及操作所对应的文件信息,所述文件信息包括文件路径、文件大小、文件名中的一个或多个。
20.一种分布式存储系统的日志收集装置,其特征在于,应用于管理节点,包括:
当前时间获取模块,用于基于预设周期获取当前时间;
进度及偏移获取模块,用于获取收集进度以及文件偏移量;
收集时间确定模块,用于基于所述收集进度确定收集时间;
日志读取模块,用于若存储节点中的审计日志文件的文件创建时间晚于或等于所述收集时间,则根据所述文件偏移量读取所述审计日志文件中的日志;
日志添加模块,用于当所述日志中的事件发生时间小于或等于所述当前时间,则将所述日志添加至日志集合;
偏移更新模块,用于更新所述文件偏移量,相应的,所述日志读取模块,还用于基于更新后的文件偏移量继续读取所述审计日志文件中的日志;
日志入库模块,用于当满足第一预设日志入库条件,则将所述日志集合写入数据库;
进度更新模块,用于将所述收集进度更新为所述当前时间。
21.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至19任一项所述的分布式存储系统的日志收集方法。
22.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至19任一项所述的分布式存储系统的日志收集方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245841.4A CN116991815B (zh) | 2023-09-26 | 2023-09-26 | 一种分布式存储系统的日志收集方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245841.4A CN116991815B (zh) | 2023-09-26 | 2023-09-26 | 一种分布式存储系统的日志收集方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116991815A CN116991815A (zh) | 2023-11-03 |
CN116991815B true CN116991815B (zh) | 2024-01-19 |
Family
ID=88523487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311245841.4A Active CN116991815B (zh) | 2023-09-26 | 2023-09-26 | 一种分布式存储系统的日志收集方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116991815B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542733A (zh) * | 2018-12-05 | 2019-03-29 | 焦点科技股份有限公司 | 一种高可靠的实时日志收集及可视化检索方法 |
CN113779149A (zh) * | 2021-09-14 | 2021-12-10 | 北京知道创宇信息技术股份有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN115934668A (zh) * | 2022-12-23 | 2023-04-07 | 北京天融信网络安全技术有限公司 | 一种数据库自审计日志的处理方法及装置 |
-
2023
- 2023-09-26 CN CN202311245841.4A patent/CN116991815B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542733A (zh) * | 2018-12-05 | 2019-03-29 | 焦点科技股份有限公司 | 一种高可靠的实时日志收集及可视化检索方法 |
CN113779149A (zh) * | 2021-09-14 | 2021-12-10 | 北京知道创宇信息技术股份有限公司 | 消息处理方法、装置、电子设备及可读存储介质 |
CN115934668A (zh) * | 2022-12-23 | 2023-04-07 | 北京天融信网络安全技术有限公司 | 一种数据库自审计日志的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
日志结构文件系统研究综述;贺勤;;信息与电脑(理论版)(07);128-130 * |
Also Published As
Publication number | Publication date |
---|---|
CN116991815A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532247B (zh) | 数据迁移方法和数据迁移系统 | |
US5819272A (en) | Record tracking in database replication | |
CN105740418A (zh) | 一种基于文件监控和消息推送的实时同步系统 | |
CN113626286B (zh) | 多集群实例处理方法、装置、电子设备及存储介质 | |
CN107797767A (zh) | 一种基于容器技术部署分布式存储系统及其存储方法 | |
CN109165206B (zh) | 基于容器的hdfs高可用实现方法 | |
CN110457305B (zh) | 数据去重方法、装置、设备及介质 | |
TW201351264A (zh) | 分散式文檔儲存系統及方法 | |
CN109328331A (zh) | 用于异步存储服务的自组织存储系统 | |
CN109002263A (zh) | 存储容量的调整方法及装置 | |
CN107181773A (zh) | 分布式存储系统的数据存储及数据管理方法、设备 | |
US20090150332A1 (en) | Virtual file managing system and method for building system configuration and accessing file thereof | |
US8412676B2 (en) | Forgetting items with knowledge based synchronization | |
CN102594874B (zh) | 一种同步处理方法和装置 | |
CN116991815B (zh) | 一种分布式存储系统的日志收集方法、装置、设备及介质 | |
US8713059B2 (en) | Management of computer-file sharing between at least two devices | |
CN111966533B (zh) | 电子文件管理方法、装置、计算机设备和存储介质 | |
CN106993026B (zh) | 一种ftp服务器新增文件检测下载方法及装置 | |
CN111147226A (zh) | 数据存储方法、装置及存储介质 | |
CN108363607A (zh) | 一种云平台虚拟机的虚拟链路断电恢复方法 | |
CN115189931A (zh) | 一种分布式密钥管理方法、装置、设备、存储介质 | |
US10348596B1 (en) | Data integrity monitoring for a usage analysis system | |
CN115905115A (zh) | 文件存储方法、读取方法及装置、电子设备与存储介质 | |
US10303787B2 (en) | Forgetting items with knowledge based synchronization | |
CN109684158A (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 |