CN113051121B - 日志信息检索方法、装置、电子设备和介质 - Google Patents
日志信息检索方法、装置、电子设备和介质 Download PDFInfo
- Publication number
- CN113051121B CN113051121B CN201911366609.XA CN201911366609A CN113051121B CN 113051121 B CN113051121 B CN 113051121B CN 201911366609 A CN201911366609 A CN 201911366609A CN 113051121 B CN113051121 B CN 113051121B
- Authority
- CN
- China
- Prior art keywords
- log
- metadata
- log information
- information
- service server
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor 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/13—File access structures, e.g. distributed indices
-
- 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
-
- 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
Abstract
本申请公开了一种日志信息检索方法、装置、电子设备和介质,涉及计算机技术领域。具体实现方案为:在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行日志信息打印操作后,获取第二日志元数据;将第一日志元数据和第二日志元数据发送至搜索服务器,以使搜索服务器存储第一日志元数据和第二日志元数据,并基于存储的第一日志元数据和第二日志元数据提供日志信息的检索服务。本申请中搜索服务器不需要存储日志信息的全量数据,仅需存储少量的日志元数据就可以实现日志信息检索,有效减少了日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
Description
技术领域
本申请涉及计算机技术领域,具体涉及信息检索技术,尤其涉及一种日志信息检索方法、装置、电子设备和介质。
背景技术
分布式多实例部署环境,是指在多个服务器上均部署服务实例,从而这多个服务器共同向客户端提供服务。但是当服务器提供的服务出现异常时,需要在多个服务器生成的日志信息中查找需要的日志信息,进而根据日志信息进行异常原因的定位。
现有查找日志信息方法主要包括两种:(1)通过人工方式查找日志信息。(2)将日志信息存储在搜索服务器中,通过搜索服务器来查找日志信息。
上述第一种方法对相关人员的经验要求较高并且查询效率较低,而第二种方法需要大量的存储资源,资源成本高,并且当数据量很大时,查询性能也较低,增加线上问题根因定位时间。
发明内容
本申请提供一种日志信息检索方法、装置、电子设备和介质,以提高日志信息检索的效率,以及降低日志信息检索所需的资源成本。
第一方面,本申请实施例提供了一种日志信息检索方法,应用于业务服务器,所述方法包括:
在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据;
将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务。
上述申请中的一个实施例具有如下优点或有益效果:通过在搜索服务器中存储日志元数据,并基于日志元数据进行日志信息的检索,由于不需要存储日志信息的全量数据,仅需存储少量的日志元数据,可以有效减少日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
可选的,在当前业务服务器执行日志信息打印操作前获取第一日志元数据,包括:
在当前业务服务器执行日志信息打印操作前,获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别中的至少一项。
上述申请中的一个实施例具有如下优点或有益效果:通过获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别中的至少一项日志元数据,为后续向搜索服务器发送第一日志元数据,并使搜索服务器根据第一日志元数据进行日志信息检索奠定了数据基础。
可选的,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,包括:
在当前业务服务器执行日志信息打印操作后,获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号中的至少一项。
上述申请中的一个实施例具有如下优点或有益效果:通过获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号中的至少一项日志元数据,为后续向搜索服务器发送第二日志元数据,并使搜索服务器根据第二日志元数据进行日志信息检索奠定了数据基础。
可选的,将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,还包括:
将当前业务服务器的地址信息,发送至搜索服务器,以使搜索服务器将所述第一日志元数据和所述第二日志元数据与所述业务服务器的地址信息进行关联存储,并基于关联存储的信息提供日志信息的检索服务。
上述申请中的一个实施例具有如下优点或有益效果:通过将当前业务服务器的地址信息,发送至搜索服务器,以使搜索服务器将所述第一日志元数据和所述第二日志元数据与所述业务服务器的地址信息进行关联存储,使得后续搜索服务器基于关联存储的信息中的业务服务器的地址信息,能够确定待检索日志文件所在的业务服务器。
可选的,所述方法还包括:
将所述第一日志元数据和所述第二日志元数据对应的跟踪标识与所述第一日志元数据和所述第二日志元数据一同发送至搜索服务器;以及,
在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入所述跟踪标识,以使搜索服务器基于所述跟踪标识对检索到的日志信息进行校验。
上述申请中的一个实施例具有如下优点或有益效果:通过将第一日志元数据和第二日志元数据据对应的跟踪标识与第一日志元数据和第二日志元数据一同发送至搜索服务器,使得后续搜索服务器可以根据日志信息检索请求中的跟踪标识,确定与该跟踪标识关联的第一日志元数据和第二日志元数据;通过在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入跟踪标识,使得后续搜索服务器在检索到日志信息后,可以将日志信息中的跟踪标识与日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验。
可选的,在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,包括:
执行预先添加在用于实现日志信息打印功能的可执行代码之前的动态字节码,以在当前业务服务器执行日志信息打印操作前,获取第一日志元数据;
执行预先添加在用于实现日志信息打印功能的可执行代码之后的动态字节码,以在当前业务服务器执行日志信息打印操作后,获取第二日志元数据。
上述申请中的一个实施例具有如下优点或有益效果:通过执行预先添加在用于实现日志信息打印功能的可执行代码之前/之后的动态字节码,保证能够完整的获取第一日志元数据和第二日志元数据。
第二方面,本申请实施例提供了一种日志信息检索方法,应用于搜索服务器,所述方法包括:
接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储;
在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据;
根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息。
上述申请中的一个实施例具有如下优点或有益效果:通过接收业务服务器发送的第一日志元数据和第二日志元数据并进行存储,当接收到日志信息检索请求时,基于与日志信息检索请求匹配的第一日志元数据和第二日志元数据进行目标日志信息检索,由于不需要存储日志信息的全量数据,仅需存储少量的日志元数据,从而可以有效减少日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
可选的,根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息,包括:
对所述第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,根据滚动归档策略获取模拟日志打印器时所需的基准参数;
基于所述基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置;
获取所述解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息,作为目标日志信息。
上述申请中的一个实施例具有如下优点或有益效果:通过根据对第一日志元数据和第二日志元数据进行解析得到的滚动归档策略,获取模拟日志打印器时所需的基准参数,并基于基准参数执行模拟日志打印器的操作,实现了获取目标日志信息所在的日志文件在业务服务器中的存储位置的技术效果;通过获取解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,实现了从日志文件包含的日志信息中,确定目标日志信息的效果。
可选的,根据滚动归档策略获取模拟日志打印器时所需的基准参数,包括:
若滚动归档策略是基于时间的滚动归档策略,则获取解析结果中的日志打印结束时间和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于日志文件大小的滚动归档策略,则获取解析结果中的归档序号和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于时间和日志文件大小的滚动归档策略,则获取解析结果中的日志打印结束时间、日志信息写入时的日志文件名和归档序号,作为模拟日志打印器时所需的基准参数。
上述申请中的一个实施例具有如下优点或有益效果:根据滚动归档策略的不同,从解析结果中获取不同的日志元数据,作为模拟日志打印器时所需的基准参数,使得后续基于基准参数获得的目标日志信息所在的日志文件在业务服务器中的存储位置更加准确和可靠。
可选的,在从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息之前,所述方法还包括:
获取解析结果中的业务服务器的地址信息,根据该地址信息确定日志文件所在的业务服务器。
上述申请中的一个实施例具有如下优点或有益效果:通过获取解析结果中的业务服务器的地址信息,实现了确定存储有目标日志信息所在日志文件的业务服务器的效果。
可选的,在读取所述目标日志信息之后,所述方法还包括:
获取所述目标日志信息中的跟踪标识,通过将读取的跟踪标识与所述日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验。
上述申请中的一个实施例具有如下优点或有益效果:通过对读取的目标日志信息进行校验,保证了获取的目标日志信息的准确性和可靠性。
可选的,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据,包括:
查询满足如下至少一个条件的第一日志元数据和第二日志元数据:
所包含的跟踪标识与所述日志信息检索请求中的跟踪标识一致的第一日志元数据和第二日志元数据;
所包含的日志打印开始时间与所述日志信息检索请求中的日志打印时间一致的第一日志元数据和第二日志元数据;
所包含的日志级别与所述日志信息检索请求中的日志级别一致的第一日志元数据和第二日志元数据。
上述申请中的一个实施例具有如下优点或有益效果:通过将跟踪标识、日志打印开始时间以及日志级别作为查询条件,使得用户可以根据需求选择任一的查询条件进行目标日志信息检索,满足了用户对于不同类型日志信息的检索,并且提高了检索的效率。
第三方面,本申请实施例还公开了一种日志信息检索装置,配置于业务服务器中,该装置包括:
日志元数据获取模块,用于在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据;
日志元数据发送模块,用于将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务。
第四方面,本申请实施例还公开了一种日志信息检索装置,配置于搜索服务器中,该装置包括:
日志元数据存储模块,用于接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储;
日志元数据查询模块,用于在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据;
目标日志信息读取模块,用于根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息。
第五方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的日志信息检索方法。
第六方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的日志信息检索方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的一种日志信息检索方法的流程示意图;
图2是根据本申请第二实施例的一种日志信息检索方法的流程示意图;
图3是根据本申请第三实施例的一种日志信息检索方法的流程示意图;
图4是根据本申请第四实施例的一种日志信息检索方法的流程示意图;
图5是根据本申请第五实施例的一种日志信息检索装置的结构示意图;
图6是根据本申请第六实施例的一种日志信息检索装置的结构示意图;
图7是用来实现本申请实施例的日志信息检索方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1为本申请实施例一提供的一种日志信息检索方法的流程示意图。本实施例适用于检索日志信息的情况,该方法应用于业务服务器,可以由本申请实施例提供的配置于业务服务器中的日志信息检索装置来执行,该装置可以采用软件和/或硬件的方式实现。如图1所示,该方法可以包括:
S101、在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据。
其中,业务服务器可采用微服务架构以及分布式部署形式,具有日志信息打印、日志文件滚动以及日志文件归档等功能。日志信息打印操作表示,将系统操作相关的日志信息写入到一个或者多个日志文件中,其中系统操作包括请求操作或者指令操作等。日志元数据是一种描述日志文件的中介数据,包括日志文件的存储位置、访问方式、资源查找和文件记录等相关数据。
具体的,将用于获取第一日志元数据和第二日志元数据的功能代码,加载到用于实现日志信息打印功能的可执行代码的预设位置上,以实现获取本次日志信息打印操作相关联的第一日志元数据和第二日志元数据。
可选的,S101包括:
执行预先添加在用于实现日志信息打印功能的可执行代码之前的动态字节码,以在当前业务服务器执行日志信息打印操作前,获取第一日志元数据;执行预先添加在用于实现日志信息打印功能的可执行代码之后的动态字节码,以在当前业务服务器执行日志信息打印操作后,获取第二日志元数据。
其中,动态字节码是一种功能性代码段,可根据实际的业务需求实时改变动态字节码的内容来执行不同的功能。在本实施例中动态字节码的作用是获取日志打印操作关联的第一日志元数据和第二日志元数据。将动态字节码添加在用于实现日志信息打印功能的可执行代码之前,则在执行用于实现日志信息打印功能的可执行代码之前,首先执行动态字节码,以获取本次日志打印前的第一日志元数据,例如打印前日志文件偏移量和日志打印开始时间等。将动态字节码添加在用于实现日志信息打印功能的可执行代码之后,则在执行用于实现日志信息打印功能的可执行代码之后,继续执行动态字节码,以获取本次日志打印后的第二日志元数据,例如打印后日志文件偏移量和日志打印结束时间等。
通过在当前业务服务器执行日志信息打印操作前和执行日志信息打印操作后,获取第一日志元数据和第二日志元数据,为后续将获取的第一日志元数据和第二日志元数据发送至搜索服务器,以使搜索服务器存储第一日志元数据和第二日志元数据奠定了基础。
S102、将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务。
其中,搜索服务器的本质一种分布式、高扩展以及高实时的搜索与数据分析引擎,它能很方便的使大量数据具有搜索、分析和探索的能力。
具体的,业务服务器与搜索服务器之间通信连接,业务服务器发送第一日志元数据和第二日志元数据到搜索服务器的方式,可以是获取到第一日志元数据和第二日志元数据后就立即将该次获取的日志元数据发送至搜索服务器,也可以是将预设周期内获取到的第一日志元数据和第二日志元数据统一打包发送至搜索服务器。
可选的,S102包括:
将当前业务服务器的地址信息,发送至搜索服务器,以使搜索服务器将所述第一日志元数据和所述第二日志元数据与所述业务服务器的地址信息进行关联存储,并基于关联存储的信息提供日志信息的检索服务。
其中,业务服务器的地址信息包括IP地址、DNS地址和网关地址等。
具体的,业务服务器将第一日志元数据和第二日志元数据以及存储有与第一日志元数据和第二日志元数据相关日志文件的业务服务器地址信息,打包后一起发送至搜索服务器,使搜索服务器将所述第一日志元数据和第二日志元数据与所述业务服务器的地址信息进行关联存储。
通过将第一日志元数据和第二日志元数据发送至搜索服务器,供搜索服务器存储第一日志元数据和第二日志元数据,使得搜索服务器可基于存储的第一日志元数据和第二日志元数据提供日志信息的检索服务,而不是存储日志信息的全量数据,并基于日志信息的全量数据进行日志信息的检索,从而可以有效减少日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
本申请实施例提供的技术方案,通过在当前业务服务器执行日志信息打印操作前/后获取第一日志元数据和第二日志元数据,并将第一日志元数据和第二日志元数据发送至搜索服务器,供搜索服务器存储第一日志元数据和第二日志元数据,并基于存储的第一日志元数据和第二日志元数据提供日志信息的检索服务,使得搜索服务器不需要存储日志信息的全量数据,仅需存储少量的日志元数据就可以实现日志信息检索,从而有效减少了日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
在上述实施例的基础上,所述方法还包括:
A、将所述第一日志元数据和所述第二日志元数据对应的跟踪标识与所述第一日志元数据和所述第二日志元数据一同发送至搜索服务器。
其中,跟踪标识是触发日志信息的打印操作的客户端发送的业务请求的唯一标识,即一次日志信息打印操作的业务请求对应着唯一的跟踪标识,而一次业务请求可能触发对于多个日志文件的日志信息打印操作,那么这些日志信息对应的跟踪标识是相同的。
通过将第一日志元数据和第二日志元数据对应的跟踪标识与日志元数据一同发送至搜索服务器,使得后续搜索服务器可以根据日志信息检索请求中的跟踪标识,确定与该跟踪标识关联的第一日志元数据和第二日志元数据。
B、在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入所述跟踪标识,以使搜索服务器基于所述跟踪标识对检索到的日志信息进行校验。
具体的,当前业务服务器响应客户端发送的触发日志信息的打印操作的业务请求,并生成该业务请求对应的跟踪标识,在当前业务服务器执行日志信息的打印操作时,将生成的业务请求通过包括Spring框架等方式,注入到写入日志文件中的日志信息中。
通过在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入跟踪标识,使得后续搜索服务器在检索到日志信息后,可以将日志信息中的跟踪标识与日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验,保证检索到的目标日志信息的准确性和可靠性。
实施例二
图2为本申请实施例二提供的一种日志信息检索方法的流程示意图。本实施例为上述实施例一提供了一种具体实现方式,如图2所示,该方法可以包括:
S201、在当前业务服务器执行日志信息打印操作前,获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别中的至少一项作为日志元数据。
其中,日志打印开始时间表示日志信息打印的起始时间,可用于在搜索服务器中与日志信息检索请求中的日志打印时间进行匹配,以确定关联的目标日志元数据。
打印前日志文件偏移量表明了上次打印日志信息结束时日志文件中日志信息的终止位置,打印前日志文件偏移量可以通过读取日志文件中日志信息的内容来获取,也可以通过读取日志文件的文件描述符来获取,其中,文件描述符会在每次日志信息打印操作结束后进行更新,其包含了当前日志信息终止位置以及下次日志信息打印的起始位置等。
日志文件的滚动归档策略包含滚动策略和归档策略,滚动策略包括基于时间的滚动策略、基于日志文件大小的滚动策略以及基于时间和日志文件大小的滚动策略,其中,基于时间的滚动策略表示,每隔设定时间周期将当前周期内生成的日志文件存储在当前业务服务器的预设目录下,例如时间周期为1天,则将1天内生成的日志文件存储在当前业务服务器的预设目录下;基于日志文件大小的滚动策略表示,当还未存储的日志文件的大小达到规定数值时,将日志文件存储在业务服务器的预设目录下,例如,规定数值是1GB,当任一日志文件大小达到1GB时,则将该日志文件存储在业务服务器的预设目录下;基于时间和日志文件大小的滚动策略表示,每隔设定时间周期将当前周期内大小达到规定数值的日志文件,存储在业务服务器的预设目录下。相应的,归档策略包括基于时间的归档策略、基于日志文件大小的归档策略和基于时间和日志文件大小的归档策略,其中,基于时间的归档策略表示,日志文件在预设目录下存储时以日志打印结束时间进行命名;基于日志文件大小的归档策略表示,日志文件在预设目录下存储时以归档序号进行命名;基于时间和日志文件大小的归档策略表示,日志文件在预设目录下存储时以日志打印结束时间和归档序号结合的方式进行命名。
日志级别体现了日志文件的不同级别,可用于在搜索服务器中与日志信息检索请求中的日志级别进行匹配,以确定关联的目标第一日志元数据和第二日志元数据。
S202、在当前业务服务器执行日志信息打印操作后,获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号中的至少一项作为日志元数据。
其中,日志打印结束时间表示日志信息打印的结束时间,可用于在搜索服务器中作为模拟日志打印器时所需的基准参数。
打印后日志文件偏移量表明了本次打印日志信息结束时日志文件中日志信息的终止位置,打印后日志文件偏移量可以通过读取日志文件中日志信息的内容来获取,也可以通过读取日志文件的文件描述符来获取。
日志信息写入时的日志文件名,是根据日志信息写入时,日志文件是否被归档确定的,如果日志信息写入时日志文件未被归档,则将日志文件的当前命名作为日志信息写入时的日志文件名;如果日志信息写入时日志文件已被归档,则根据滚动归档策略类型来确定日志信息写入时的日志文件名,如果滚动归档策略是基于时间的滚动归档策略,则将日志打印结束时间作为日志信息写入时的日志文件名,如果滚动归档策略是基于日志文件大小的滚动归档策略,则将归档序号作为日志信息写入时的日志文件名,如果滚动归档策略是基于时间和日志文件大小的滚动归档策略,则将日志打印结束时间和归档序号结合作为日志信息写入时的日志文件名。
同名归档时的归档序号表示,当滚动归档策略为基于日志文件大小的滚动归档策略时,所有日志文件都以同名进行归档,但是以归档序号进行区分。
S203、将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务。
本申请实施例提供的技术方案,通过获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别作为第一日志元数据,获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号作为第二日志元数据,确保了搜索服务器基于第一日志元数据和第二日志元数据提供日志信息的检索服务能够实现。
实施例三
图3为本申请实施例三提供的一种日志信息检索方法的流程示意图。本实施例适用于检索日志信息的情况,该方法应用于搜索服务器,可以由本申请实施例提供的配置于搜索服务器中的日志信息检索装置来执行,该装置可以采用软件和/或硬件的方式实现。如图1所示,该方法可以包括:
S301、接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储。
具体的,搜索服务器接收到由业务服务器发送的第一日志元数据和第二日志元数据后,将第一日志元数据和第二日志元数据存储到预设目录下。
可选的,S301包括:接收至少一个业务服务器发送的第一日志元数据和第二日志元数据、业务服务器的地址信息以及第一日志元数据和第二日志元数据对应的跟踪标识,将第一日志元数据和第二日志元数据、业务服务器的地址信息以及第一日志元数据和第二日志元数据对应的跟踪标识进行关联存储。
通过接收并存储第一日志元数据和第二日志元数据,为搜索服务器后续根据存储的第一日志元数据和第二日志元数据进行日志检索奠定了数据基础。
S302、在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据。
具体的,搜索服务器接收到基于用户操作触发的日志信息检索请求时,会解析日志信息检索请求,以得到日志信息检索请求中包含的查询条件,进而根据得到的查询条件在存储的第一日志元数据和第二日志元数据中进行查询,最终得到与查询条件相匹配的第一日志元数据和第二日志元数据。
可选的,S302包括:
查询满足如下至少一个条件的日志元数据:
1、所包含的跟踪标识与所述日志信息检索请求中的跟踪标识一致的第一日志元数据和第二日志元数据。
具体的,将日志信息检索请求中的跟踪标识,与各第一日志元数据和第二日志元数据关联存储的跟踪标识进行比对,将跟踪标识一致的第一日志元数据和第二日志元数据作为满足查询条件的第一日志元数据和第二日志元数据。
2、所包含的日志打印开始时间与所述日志信息检索请求中的日志打印时间一致的第一日志元数据和第二日志元数据。
具体的,将日志信息检索请求中的日志打印时间,与各第一日志元数据解析得到的日志打印开始时间进行比对,将一致的第一日志元数据,以及该第一日志元数据关联的第二日志元数据,作为满足查询条件的第一日志元数据和第二日志元数据。
3、所包含的日志级别与所述日志信息检索请求中的日志级别一致的第一日志元数据和第二日志元数据。
具体的,将日志信息检索请求中的日志级别,与各第一日志元数据解析得到的日志级别进行比对,将日志级别一致的第一日志元数据,以及该第一日志元数据关联的第二日志元数据,作为满足查询条件的第一日志元数据和第二日志元数据。
通过查询与日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据,实现了根据用户需求,具有针对性的进行日志元数据获取。
S303、根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息。
具体的,对S302中查询到的第一日志元数据和第二日志元数据进行解析,根据解析得到的滚动归档策略来确定目标日志信息所在日志文件在业务服务器中的存储位置,进而从该存储位置处的日志文件中,读取目标日志信息。
可选的,S303包括:
A、对所述第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,根据滚动归档策略获取模拟日志打印器时所需的基准参数。
B、基于所述基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置。
C、获取所述解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息,作为目标日志信息。
通过根据第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,进而实现目标日志信息的读取,使得搜索服务器不需要存储日志信息的全量数据,仅需存储少量的日志元数据就可以实现日志信息检索,有效减少了日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
申请实施例提供的技术方案,通过接收业务服务器发送的第一日志元数据和第二日志元数据并进行存储,当接收到日志信息检索请求时,基于与日志信息检索请求匹配的第一日志元数据和第二日志元数据进行目标日志信息检索,由于不需要存储日志信息的全量数据,仅需存储少量的日志元数据,从而可以有效减少日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
在上述实施例的基础上,S303之后,包括:
获取所述目标日志信息中的跟踪标识,通过将读取的跟踪标识与所述日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验。
其中,跟踪标识是触发日志信息的打印操作的客户端发送的业务请求的唯一标识。
具体的,对读取的目标日志信息中注入的跟踪标识进行解析,获取目标日志信息中的跟踪标识,并将获取的跟踪标识与日志信息检索请求中的跟踪标识进行比对,若相同,则表示该日志信息即为日志信息检索请求关联的目标日志信息,若不同,则生成警示信息并反馈给客户端,以提示客户端侧用户当前日志信息查询结果出现异常。
通过对读取的目标日志信息进行校验,保证了获取的目标日志信息的准确性和可靠性。
实施例四
图4为本申请实施例四提供的一种日志信息检索方法的流程示意图。本实施例为上述实施例三提供了一种具体实现方式,如图4所示,该方法可以包括:
S401、接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储。
S402、在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据。
S403、对所述第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,根据滚动归档策略获取模拟日志打印器时所需的基准参数。
其中,日志打印器是一种可以实现将日志信息打印到日志文件中的虚拟软件。基准参数是用来模拟日志打印器所需的必要参数,其通常表明了进行日志信息打印的日志文件名,加载有基准参数的日志打印器可以实现确定日志文件存储位置的效果。
具体的,对第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,并根据滚动归档策略的类型从解析结果中获取目标日志元数据,以将目标日志元数据作为模拟日志打印器时所需的基准参数。
可选的,S403包括:
A、若滚动归档策略是基于时间的滚动归档策略,则获取解析结果中的日志打印结束时间和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数。
具体的,若滚动归档策略是基于时间的滚动归档策略,则说明写入日志信息的日志文件的日志文件名有两种命名可能:1、若该日志文件已归档,则该日志文件名为日志打印结束时间。2、若该日志文件未归档,则该日志文件名为日志信息写入时的日志文件名。
B、若滚动归档策略是基于日志文件大小的滚动归档策略,则获取解析结果中的归档序号和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
具体的,若滚动归档策略是基于日志文件大小的滚动归档策略,则说明写入日志信息的日志文件的日志文件名有两种命名可能:1、若该日志文件已归档,则该日志文件名为归档序号。2、若该日志文件未归档,则该日志文件名为日志信息写入时的日志文件名。
C、若滚动归档策略是基于时间和日志文件大小的滚动归档策略,则获取解析结果中的日志打印结束时间、日志信息写入时的日志文件名和归档序号,作为模拟日志打印器时所需的基准参数。
具体的,若滚动归档策略是基于时间和日志文件大小的滚动归档策略,则说明写入日志信息的日志文件的日志文件名有两种命名可能:1、若该日志文件已归档,则该日志文件名为日志打印结束时间和归档序号结合的形式。2、若该日志文件未归档,则该日志文件名为日志信息写入时的日志文件名。
通过对第一日志元数据和第二日志元数据进行解析,根据解析结果中的滚动归档策略,获取模拟日志打印器时所需的基准参数,为后续基于基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置,奠定了数据基础。
S404、基于所述基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置。
具体的,通过将基准参数加载到日志打印器中,以模拟日志打印器的操作,由于基准参数体现了日志文件的命名,通过模拟日志打印器的操作,可以获得目标日志信息所在的日志文件在业务服务器中的存储位置。
通过基于基准参数执行模拟日志打印器的操作,实现了获取目标日志信息所在的日志文件在业务服务器中的存储位置的效果,并为后续从该存储位置的日志文件中读取目标日志信息,奠定了基础。
S405、获取所述解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息,作为目标日志信息。
具体的,打印前日志文件偏移量表明了上次打印日志信息结束时日志文件中日志信息的终止位置,打印后日志文件偏移量表明了本次打印日志信息结束时日志文件中日志信息的终止位置,则从业务服务器中存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息作为本次日志打印的日志信息,即目标日志信息。
本申请实施例提供的技术方案,通过根据对第一日志元数据和第二日志元数据进行解析得到的滚动归档策略,获取模拟日志打印器时所需的基准参数,并基于基准参数执行模拟日志打印器的操作,实现了获取目标日志信息所在的日志文件在业务服务器中的存储位置的技术效果;通过获取解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,实现了从日志文件包含的日志信息中,确定目标日志信息的效果。
在上述实施例的基础上,S405中“从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息”之前,包括:
获取解析结果中的业务服务器的地址信息,根据该地址信息确定日志文件所在的业务服务器。
具体的,获取第一日志元数据和第二日志元数据后,解析得到与第一日志元数据和第二日志元数据关联存储的业务服务器的地址信息,并根据该业务服务器的地址信息确定第一日志元数据和第二日志元数据所属日志文件所在的业务服务器。
通过获取解析结果中的业务服务器的地址信息,实现了确定存储有目标日志信息所在日志文件的业务服务器的效果。
实施例五
图5为本申请实施例五提供的一种日志信息检索装置50的结构示意图,该装置配置于业务服务器中,可执行本申请实施例一和实施例二中任一所提供的一种日志信息检索方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置可以包括:
日志元数据获取模块51,用于在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据;
日志元数据发送模块52,用于将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务。
在上述实施例的基础上,所述日志元数据获取模块51,具体用于:
在当前业务服务器执行日志信息打印操作前,获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别中的至少一项。
在上述实施例的基础上,所述日志元数据获取模块51,具体还用于:
在当前业务服务器执行日志信息打印操作后,获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号中的至少一项。
在上述实施例的基础上,所述日志元数据发送模块52,具体用于:
将当前业务服务器的地址信息,发送至搜索服务器,以使搜索服务器将所述第一日志元数据和所述第二日志元数据与所述业务服务器的地址信息进行关联存储,并基于关联存储的信息提供日志信息的检索服务。
在上述实施例的基础上,所述装置还包括跟踪标识发送和注入模块,具体用于:
将所述第一日志元数据和所述第二日志元数据对应的跟踪标识与所述第一日志元数据和所述第二日志元数据一同发送至搜索服务器;以及,
在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入所述跟踪标识,以使搜索服务器基于所述跟踪标识对检索到的日志信息进行校验。
在上述实施例的基础上,所述日志元数据获取模块51,具体还用于:
执行预先添加在用于实现日志信息打印功能的可执行代码之前的动态字节码,以在当前业务服务器执行日志信息打印操作前,获取第一日志元数据;
执行预先添加在用于实现日志信息打印功能的可执行代码之后的动态字节码,以在当前业务服务器执行日志信息打印操作后,获取第二日志元数据。
本申请实施例所提供的一种日志信息检索装置50,可执行本申请实施例一至和实施例二中任一所提供的一种日志信息检索方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例一至和实施例二中任一所提供的一种日志信息检索方法。
实施例六
图6为本申请实施例六提供的一种日志信息检索装置60的结构示意图,该装置配置于搜索服务器中,可执行本申请实施例三和实施例四中任一提供的一种日志信息检索方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置可以包括:
日志元数据存储模块61,用于接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储;
日志元数据查询模块62,用于在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据;
目标日志信息读取模块63,用于根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息。
在上述实施例的基础上,所述目标日志信息读取模块63,具体用于:
对所述第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,根据滚动归档策略获取模拟日志打印器时所需的基准参数;
基于所述基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置;
获取所述解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息,作为目标日志信息。
在上述实施例的基础上,所述目标日志信息读取模块63,具体还用于:
若滚动归档策略是基于时间的滚动归档策略,则获取解析结果中的日志打印结束时间和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于日志文件大小的滚动归档策略,则获取解析结果中的归档序号和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于时间和日志文件大小的滚动归档策略,则获取解析结果中的日志打印结束时间、日志信息写入时的日志文件名和归档序号,作为模拟日志打印器时所需的基准参数。
在上述实施例的基础上,所述装置还包括业务服务器确定模块,具体用于:
获取解析结果中的业务服务器的地址信息,根据该地址信息确定日志文件所在的业务服务器。
在上述实施例的基础上,所述装置还包括目标日志信息校验模块,具体用于:
获取所述目标日志信息中的跟踪标识,通过将读取的跟踪标识与所述日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验
在上述实施例的基础上,所述日志元数据查询模块62,具体用于:
查询满足如下至少一个条件的第一日志元数据和第二日志元数据:
所包含的跟踪标识与所述日志信息检索请求中的跟踪标识一致的第一日志元数据和第二日志元数据;
所包含的日志打印开始时间与所述日志信息检索请求中的日志打印时间一致的第一日志元数据和第二日志元数据;
所包含的日志级别与所述日志信息检索请求中的日志级别一致的第一日志元数据和第二日志元数据。
本申请实施例所提供的一种日志信息检索装置60,可执行本申请实施例三至和实施例四中任一所提供的一种日志信息检索方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例三至和实施例四中任一所提供的一种日志信息检索方法。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的日志信息检索方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的日志信息检索方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的日志信息检索方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的日志信息检索方法对应的程序指令/模块(例如,附图5所示的日志元数据获取模块51和日志元数据发送模块52;又例如,附图6所示的日志元数据存储模块61、日志元数据查询模块62和目标日志信息读取模块63)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的日志信息检索方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据日志信息检索方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至日志信息检索方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、区块链网络、局域网、移动通信网及其组合。
日志信息检索方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与日志信息检索方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过在当前业务服务器执行日志信息打印操作前/后获取日志元数据,并将日志元数据发送至搜索服务器,供搜索服务器存储日志元数据,并基于存储的日志元数据提供日志信息的检索服务,使得搜索服务器不需要存储日志信息的全量数据,仅需存储少量的日志元数据就可以实现日志信息检索,从而有效减少了日志信息检索所需的资源成本,并有效避免了由于数据量庞大造成的查询性能问题,减少了线上问题根因定位的时间。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种日志信息检索方法,其特征在于,应用于业务服务器,所述方法包括:
在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据;
将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务;
将所述第一日志元数据和所述第二日志元数据对应的跟踪标识,与所述第一日志元数据和所述第二日志元数据一同发送至搜索服务器;以及,
在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入所述跟踪标识,以使搜索服务器基于所述跟踪标识对检索到的日志信息进行校验。
2.根据权利要求1所述的方法,其特征在于,在当前业务服务器执行日志信息打印操作前获取第一日志元数据,包括:
在当前业务服务器执行日志信息打印操作前,获取日志打印开始时间、打印前日志文件偏移量、日志文件的滚动归档策略以及日志级别中的至少一项。
3.根据权利要求1所述的方法,其特征在于,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,包括:
在当前业务服务器执行日志信息打印操作后,获取日志打印结束时间、打印后日志文件偏移量、日志信息写入时的日志文件名、日志文件的滚动归档策略以及同名归档时的归档序号中的至少一项。
4.根据权利要求1所述的方法,其特征在于,将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,还包括:
将当前业务服务器的地址信息,发送至搜索服务器,以使搜索服务器将所述第一日志元数据和所述第二日志元数据与所述业务服务器的地址信息进行关联存储,并基于关联存储的信息提供日志信息的检索服务。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,包括:
执行预先添加在用于实现日志信息打印功能的可执行代码之前的动态字节码,以在当前业务服务器执行日志信息打印操作前,获取第一日志元数据;
执行预先添加在用于实现日志信息打印功能的可执行代码之后的动态字节码,以在当前业务服务器执行日志信息打印操作后,获取第二日志元数据。
6.一种日志信息检索方法,其特征在于,应用于搜索服务器,所述方法包括:
接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储;
在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据;
根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息;
获取所述目标日志信息中的跟踪标识,通过将读取的跟踪标识与所述日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验。
7.根据权利要求6所述的方法,其特征在于,根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息,包括:
对所述第一日志元数据和第二日志元数据进行解析,从解析结果中获取滚动归档策略,根据滚动归档策略获取模拟日志打印器时所需的基准参数;
基于所述基准参数执行模拟日志打印器的操作,获得目标日志信息所在的日志文件在业务服务器中的存储位置;
获取所述解析结果中的打印前日志文件偏移量和打印后日志文件偏移量,从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息,作为目标日志信息。
8.根据权利要求7所述的方法,其特征在于,根据滚动归档策略获取模拟日志打印器时所需的基准参数,包括:
若滚动归档策略是基于时间的滚动归档策略,则获取解析结果中的日志打印结束时间和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于日志文件大小的滚动归档策略,则获取解析结果中的归档序号和日志信息写入时的日志文件名,作为模拟日志打印器时所需的基准参数;
若滚动归档策略是基于时间和日志文件大小的滚动归档策略,则获取解析结果中的日志打印结束时间、日志信息写入时的日志文件名和归档序号,作为模拟日志打印器时所需的基准参数。
9.根据权利要求7所述的方法,其特征在于,在从业务服务器中所述存储位置处的日志文件中,读取打印前日志文件偏移量和打印后日志文件偏移量之间的日志信息之前,所述方法还包括:
获取解析结果中的业务服务器的地址信息,根据该地址信息确定日志文件所在的业务服务器。
10.根据权利要求6-9中任一项所述的方法,其特征在于,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据,包括:
查询满足如下至少一个条件的第一日志元数据和第二日志元数据:
所包含的跟踪标识与所述日志信息检索请求中的跟踪标识一致的第一日志元数据和第二日志元数据;
所包含的日志打印开始时间与所述日志信息检索请求中的日志打印时间一致的第一日志元数据和第二日志元数据;
所包含的日志级别与所述日志信息检索请求中的日志级别一致的第一日志元数据和第二日志元数据。
11.一种日志信息检索装置,其特征在于,配置于业务服务器中,所述装置包括:
日志元数据获取模块,用于在当前业务服务器执行日志信息打印操作前获取第一日志元数据,在当前业务服务器执行所述日志信息打印操作后,获取第二日志元数据,所述第一日志元数据和所述第二日志元数据包括用于确定所述日志信息的存储位置的数据;
日志元数据发送模块,用于将所述第一日志元数据和所述第二日志元数据发送至搜索服务器,以使搜索服务器存储所述第一日志元数据和所述第二日志元数据,并基于存储的所述第一日志元数据和所述第二日志元数据提供日志信息的检索服务;
跟踪标识发送模块,用于将所述第一日志元数据和所述第二日志元数据对应的跟踪标识,与所述第一日志元数据和第二日志元数据一同发送至搜索服务器;
跟踪标识注入模块,在当前业务服务器执行日志信息打印操作时,在写入日志文件中的日志信息中注入所述跟踪标识,以使搜索服务器基于所述跟踪标识对检索到的日志信息进行校验。
12.一种日志信息检索装置,其特征在于,配置于搜索服务器中,所述装置包括:
日志元数据存储模块,用于接收至少一个业务服务器发送的第一日志元数据和第二日志元数据,将所述第一日志元数据和第二日志元数据进行存储;
日志元数据查询模块,用于在接收到基于用户操作触发的日志信息检索请求时,查询与所述日志信息检索请求中的查询条件匹配的第一日志元数据和第二日志元数据;
目标日志信息读取模块,用于根据所述第一日志元数据和第二日志元数据确定目标日志信息在业务服务器中的存储位置,根据所述存储位置从业务服务器的日志文件中,读取所述目标日志信息;
跟踪标识获取模块,用于获取所述目标日志信息中的跟踪标识;
跟踪标识比对模块,将读取的跟踪标识与所述日志信息检索请求中的跟踪标识进行比对,对读取的目标日志信息进行校验。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的日志信息检索方法和/或权利要求6-10中任一项所述的日志信息检索方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的日志信息检索方法和/或权利要求6-10中任一项所述的日志信息检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366609.XA CN113051121B (zh) | 2019-12-26 | 2019-12-26 | 日志信息检索方法、装置、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911366609.XA CN113051121B (zh) | 2019-12-26 | 2019-12-26 | 日志信息检索方法、装置、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051121A CN113051121A (zh) | 2021-06-29 |
CN113051121B true CN113051121B (zh) | 2023-07-28 |
Family
ID=76505439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911366609.XA Active CN113051121B (zh) | 2019-12-26 | 2019-12-26 | 日志信息检索方法、装置、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051121B (zh) |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8051204B2 (en) * | 2007-04-05 | 2011-11-01 | Hitachi, Ltd. | Information asset management system, log analysis server, log analysis program, and portable medium |
EP2340476A4 (en) * | 2008-09-05 | 2012-05-09 | Arcsight Inc | EFFECTIVE STORAGE OF LOG DATA WHILE SUPPORTING AN INTERROGATION |
JP5869513B2 (ja) * | 2013-04-05 | 2016-02-24 | 株式会社日立製作所 | 障害対応システムおよび障害対応方法 |
CN105335434B (zh) * | 2014-08-11 | 2020-08-25 | 腾讯科技(北京)有限公司 | 日志管理方法、装置及电子设备 |
US10397353B2 (en) * | 2015-10-01 | 2019-08-27 | Nicira, Inc. | Context enriched distributed logging services for workloads in a datacenter |
CN105824958B (zh) * | 2016-03-31 | 2019-06-18 | 广州华多网络科技有限公司 | 一种查询日志的方法、装置和系统 |
CN106909325B (zh) * | 2016-06-30 | 2020-08-18 | 阿里巴巴集团控股有限公司 | 日志打印方法和装置、以及日志打印系统 |
CN106250287A (zh) * | 2016-07-21 | 2016-12-21 | 柳州龙辉科技有限公司 | 一种日志信息处理装置 |
US10305753B2 (en) * | 2016-08-30 | 2019-05-28 | Red Hat, Inc. | Supplementing log messages with metadata |
CN107957940B (zh) * | 2016-10-17 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 一种测试日志处理方法、系统及终端 |
CN107347024B (zh) * | 2017-07-19 | 2020-04-28 | 华为技术有限公司 | 一种存储操作日志的方法、设备和系统 |
CN107766202A (zh) * | 2017-09-30 | 2018-03-06 | 努比亚技术有限公司 | 基于Log4j的日志写入方法、装置及计算机可读存储介质 |
CN108599973B (zh) * | 2018-01-05 | 2021-08-24 | 创新先进技术有限公司 | 一种日志关联方法、装置及设备 |
CN110162448A (zh) * | 2018-02-13 | 2019-08-23 | 北京京东尚科信息技术有限公司 | 日志采集的方法和装置 |
CN109032910A (zh) * | 2018-07-24 | 2018-12-18 | 北京百度网讯科技有限公司 | 日志采集方法、装置及存储介质 |
CN109375884A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 应用日志打印方法、装置、计算机设备和存储介质 |
CN109471845A (zh) * | 2018-10-25 | 2019-03-15 | 深圳壹账通智能科技有限公司 | 日志管理方法、服务器及计算机可读存储介质 |
CN109542857B (zh) * | 2018-11-26 | 2021-06-29 | 杭州迪普科技股份有限公司 | 审计日志存储方法、查询方法、装置及相关设备 |
CN110110516A (zh) * | 2019-01-04 | 2019-08-09 | 北京车和家信息技术有限公司 | 日志记录方法、装置及系统 |
CN110502507B (zh) * | 2019-08-29 | 2022-02-08 | 上海达梦数据库有限公司 | 一种分布式数据库的管理系统、方法、设备和存储介质 |
-
2019
- 2019-12-26 CN CN201911366609.XA patent/CN113051121B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113051121A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948314B (zh) | 基于规则文件的业务处理方法、装置及服务器 | |
CN111459511B (zh) | 应用程序的下载方法、装置及电子设备 | |
US20210405111A1 (en) | Test method and electronic device | |
CN112073994A (zh) | 用于空中升级的方法、装置、电子设备及可读存储介质 | |
CN112000394B (zh) | 用于访问小程序的方法、装置、设备以及存储介质 | |
KR102488582B1 (ko) | 애플리케이션 실행 상태 검증 방법 및 장치 | |
CN109905293A (zh) | 一种终端设备识别方法、系统及存储介质 | |
CN111045893B (zh) | 监控任务的执行方法、装置及系统、存储介质、电子装置 | |
CN108268365B (zh) | 异常任务注入方法、装置和系统 | |
CN112416964A (zh) | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 | |
CN111552934A (zh) | 数据库访问方法以及装置 | |
CN111813623B (zh) | 一种页面监控方法、装置、电子设备及存储介质 | |
CN111752960B (zh) | 数据处理方法和装置 | |
KR20220124271A (ko) | 라이브 트래픽의 고장 검측 방법, 장치, 전자 기기 및 판독 가능 저장 매체 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
JP2021184302A (ja) | ブラウザの表示検証方法、装置、コンピュータ機器及び記憶媒体 | |
CN112583904A (zh) | 文件上传方法、装置、设备以及存储介质 | |
CN112269706A (zh) | 接口参数校验方法、装置、电子设备以及计算机可读介质 | |
CN110765075A (zh) | 自动驾驶数据的存储方法和设备 | |
CN109271193B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN108833961B (zh) | 获取飞行记录数据的方法、服务器和系统 | |
CN111125176A (zh) | 一种业务数据搜索方法、装置、电子设备和存储介质 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN113051121B (zh) | 日志信息检索方法、装置、电子设备和介质 | |
CN116775493A (zh) | mock测试方法、装置、mock平台和存储介质 |
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 |