掌桥专利:专业的专利平台
掌桥专利
首页

日志管理方法、装置、介质及电子设备

文献发布时间:2023-06-19 18:46:07


日志管理方法、装置、介质及电子设备

技术领域

本公开涉及电子信息技术领域,具体地,涉及一种日志管理方法、装置、介质及电子设备。

背景技术

网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录,即日志。通过对日志进行分析检测管理,对于维护网络安全十分重要。

然而,相关技术中,日志检测过程一般是端到端从一种数据源到另外一种存储介质,中间过程对日志数据流进行处理检测,由于数据源多种多样,存储介质也是各不相同的,每种日志数据流异常检测需要硬编码兼容,面对日志检测过程中不同的数据源以及存储介质需求时,存在扩展性差的问题。

发明内容

提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

第一方面,本公开提供一种日志管理方法,所述方法包括:

获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;

解析所述流式结构化查询语句,得到所述多个参数项标识;

基于所述多个参数项标识获取对应的参数信息,参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;

从所述目标数据源获取日志数据流;

基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;

将所述异常日志数据存储到所述目标存储介质。

第二方面,本公开提供一种日志管理装置,所述装置包括:

第一获取模块,用于获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;

解析模块,用于解析所述流式结构化查询语句,得到所述多个参数项标识;

第二获取模块,用于基于所述多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;

第三获取模块,用于从所述目标数据源获取日志数据流;

检测模块,用于基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;

存储模块,用于将所述异常日志数据存储到所述目标存储介质。

第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中所述方法的步骤。

第四方面,本公开提供一种电子设备,包括:

存储装置,其上存储有计算机程序;

处理装置,用于执行所述存储装置中的所述计算机程序,以实现第一方面中所述方法的步骤。

通过上述技术方案,通过获取用于异常日志检测的流式结构化查询语句,对所述流式结构化查询语句进行解析,得到多个参数项标识,基于多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质,从所述目标数据源获取日志数据流,基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到检测结果,将异常日志数据输出到所述目标存储介质。由于在流式结构化查询语句中使用参数项标识代替实际参数进行编辑,并在运行时再动态获取参数项标识对应的参数信息,并继续基于获取的参数项标识对应的参数信息便可以实现后续具体的异常日志检测过程,因此,不必再通过硬编码的方式编辑流式结构化查询语句,便于灵活替换不同的参数项标识对应的信息,从而提高了异常日志检测的使用扩展性和灵活性。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:

图1是根据本公开一示例性实施例示出的一种日志管理方法的流程图。

图2是根据本公开一示例性实施例示出的一种通过CEP系统实现本公开实施例的日志管理方法的流程框图。

图3是根据本公开一示例性实施例示出的一种日志管理装置的框图。

图4是根据本公开一示例性实施例示出的一种电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。

例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。

作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。

可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。

同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。

参阅图1,图1是根据本公开一示例性实施例示出的一种日志管理方法的流程图。该日志管理方法可以应用于电子设备,这里的电子设备例如可以是服务器设备,参照图1,该日志管理方法包括以下步骤:

S110,获取用于异常日志检测的流式结构化查询语句,流式结构化查询语句中携带多个参数项标识,多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识。

S120,解析流式结构化查询语句,得到多个参数项标识。

S130,基于多个参数项标识获取对应的参数信息,参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质。

S140,从目标数据源获取日志数据流。

S150,基于目标异常日志检测规则对日志数据流进行异常检测,得到异常日志数据。

S160,将异常日志数据存储到目标存储介质。

其中,流式结构化查询语句即SQL语句,全称为Structured Query Language语句。

相关技术中,用于异常日志检测的流式结构化查询语句是通过硬编码的方式编写的,也即直接将数据源以及存储介质的相关参数直接以常量的方式撰写在流式结构化查询语句中。而本公开实施例中,直接在编写的流式结构化查询语句中,以参数项标识代替实际参数进行编辑,从而,本公开实施例中的用于异常日志检测的流式结构化查询语句中包括各个参数项标识。

本公开实施例中,在获取到用于异常日志检测的流式结构化查询语句之后,可以对流式结构化查询语句进行解析,得到多个参数项标识,接着,在解析得到多个参数项标识之后,可以进一步获取各个参数项标识对应的参数信息,例如可以获取数据源标识对应的目标数据源、异常检测规则标识对应的目标异常日志检测规则以及存储介质标识对应的目标存储介质,从而进一步利用各个参数项标识对应的参数信息,拼装成可运行的流式结构化查询语句。其中,拼装的过程可以理解为用参数信息替换对应的参数项标识的过程。

进一步地,在拼装之后,便可以实际运行该拼装好的流式结构化查询语句,在运行过程中,可以先从目标数据源获取日志数据流,接着基于目标异常日志检测规则对日志数据流进行异常检测,得到异常日志数据,接着再将异常日志数据存储到目标存储介质,从而完成日志管理的过程。

在一些实施方式中,可以通过字段匹配的方式来对获取的流式结构化查询语句进行解析。示例性地,可以预先设定一些标准参数项标识,从而在获取到流式结构化查询语句之后,可以将流式结构化查询语句包括的各个字段与预先设定的标准参数项标识进行匹配,并将匹配到的字段确定为解析得到的参数项标识。

从而,采用上述方式,通过获取用于异常日志检测的流式结构化查询语句,对流式结构化查询语句进行解析,得到多个参数项标识,基于多个参数项标识获取对应的参数信息,参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质,从目标数据源获取日志数据流,基于目标异常日志检测规则对日志数据流进行异常检测,得到检测结果,将异常日志数据输出到目标存储介质。由于在流式结构化查询语句中使用参数项标识代替实际参数进行编辑,并在运行时再动态获取参数项标识对应的参数信息,并继续基于获取的参数项标识对应的参数信息便可以实现后续具体的异常日志检测过程,因此,不必再通过硬编码的方式编辑流式结构化查询语句,便于灵活替换不同的参数项标识对应的信息,从而提高了异常日志检测的使用扩展性和灵活性。

结合前述内容可知,在一些业务场景下,本公开实施例的日志管理方法可以应用于服务器,服务器可以接收来自有异常日志检测需求的业务方的目标数据源、目标异常日志检测规则以及目标存储介质等参数信息,从而,便能够执行日志管理方法实现对业务方的日志数据流进行日志管理的功能,迅速满足不同的业务方的差异化的日志管理需求。

在一些实施方式中,步骤S120,基于多个参数项标识获取对应的参数信息,可以包括以下步骤:

响应于流式结构化查询语句被执行,从缓存中获取各个参数项标识对应的参数信息,缓存中的参数信息是按照预设时间间隔拉取并缓存的。

本公开实施例中,在获取到用于异常日志检测的流式结构化查询语句之后,便可以执行该流式结构化查询语句,从而,电子设备便可以响应于流式结构化查询语句被执行,从缓存中获取各个参数项标识对应的参数信息,以便于后续利用各个参数项标识对应的参数信息,拼装成可运行的流式结构化查询语句。

此外,本公开实施例中,缓存中的参数信息是按照预设时间间隔拉取并缓存的。例如,可以按照设定的时间间隔通过TCP(Transmission Control Protocol,传输控制协议)的方式,从业务方获取。通过设定预设时间间隔拉取并缓存参数信息在本地缓存中,从而避免实时与业务方之间进行信息交互,可以在考虑到业务方异常日志检测需求变更的情况下,减少日志管理时下游业务方数据库的压力。

在一些实施方式中,缓存可以包括存储目标数据源以及目标存储介质的第一缓存,还可以包括存储异常日志检测规则的第二缓存。从而,便可以从第一缓存中获取目标数据源以及目标存储介质,以及从第二缓存中获取目标异常日志检测规则。

可选地,目标数据源例如可以是NATS,一种go语言开发的开源的、轻量、高性能的云原生消息系统;kafka,一种开源流处理平台;CDC(Change Data Capture,更改数据采集)数据源等。

可选地,目标存储介质例如可以是Hive,一种数据仓库工具;HDFS(HadoopDistributed File System,分布式文件系统);TOS,一种海量文件的分布式云存储服务,等存储介质。

其中,目标数据源、目标异常日志检测规则以及目标存储介质可以根据业务方实际需求进行灵活设置。

此外,在一些实施方式中,获取各个参数项标识对应的参数信息的过程也可以是响应于流式结构化查询语句被执行,通过TCP的方式直接从业务方拉取。

在一些实施方式中,目标异常日志检测规则可以包括多个异常日志聚合规则,每个异常日志聚合规则包括多个字段检测项,这种情况下,步骤S140,基于目标异常日志检测规则对日志数据流进行异常检测,得到异常日志数据,可以包括以下步骤:

基于日志数据的服务名与异常日志聚合规则之间的关联关系,确定与日志数据流中各个日志数据分别对应的异常日志聚合规则;

确定目标日志数据的字段内容与目标异常日志聚合规则包括的多个字段检测项的匹配情况,目标日志数据是日志数据流中任一个日志数据,目标异常日志聚合规则为与目标日志数据对应的异常日志聚合规则;

若目标日志数据对应的匹配情况满足异常日志数据对应的匹配情况,确定目标日志数据为异常日志数据。

本公开实施例中,可以在缓存中预先存储日志数据的服务名与异常日志聚合规则之间的关联关系,从而,便可以根据各个日志数据的服务名,例如service1,service2,service3等,确定各个日志数据对应的异常日志聚合规则,接着,针对任一个日志数据,便可以确定该日志数据的字段内容与目标异常日志聚合规则包括的多个字段检测项的匹配情况,接着便可以根据该日志数据对应的匹配情况与异常日志数据对应的匹配情况,确定该日志数据的检测结果。

可选地,若目标日志数据对应的匹配情况满足异常日志数据对应的匹配情况,则确定目标日志数据为异常日志数据,若目标日志数据对应的匹配情况不满足异常日志数据对应的匹配情况,则确定目标日志数据为正常日志数据。

其中,根据目标日志数据的字段内容与目标异常日志聚合规则包括的多个字段检测项的匹配情况,确定检测结果,可以有多种方式。

可选地,异常日志数据对应的匹配情况可以设置为全部匹配,也即当目标日志数据的字段内容与目标异常日志聚合规则包括的多个字段检测项全部匹配时,确定该目标日志数据为异常日志数据。可选地,还可以设置异常日志数据对应的匹配情况可以设置为部分匹配,也即当目标日志数据的字段内容与目标异常日志聚合规则包括的多个字段检测项的匹配项数达到预设数量时,便确定该目标日志数据为异常日志数据。

示例性地,假设日志数据中包括温度这个字段,字段检测项例如可以是温度大于60摄氏度,从而当目标日志数据的温度字段对应的温度大于60摄氏度时,确定匹配一个字段检测项。

在一些实施方式中,对于异常日志数据,可以进行告警提示。

此外,在一些实施方式中,目标异常日志检测规则包括异常检测规则,确定与日志数据流中各个日志数据分别对应的异常日志聚合规则,可以包括以下步骤:

根据异常检测规则包括的各个预设字段内容,对日志数据流包括的各个日志数据的待匹配字段内容进行匹配;

确定包括预设字段内容的日志数据为候选日志数据;

确定与日志数据流中各个候选日志数据分别对应的异常日志聚合规则,目标日志数据是候选日志数据中任一个日志数据。

本公开实施例中,根据异常检测规则包括的各个预设字段内容,对日志数据流包括的各个日志数据的待匹配字段内容进行匹配,并确定候选日志数据的过程可以理解为,对日志数据流中的日志数据进行筛选,得到特定内容的日志数据的过程。在得到特定内容的日志数据之后,便可以对特定内容的日志数据利用异常日志聚合规则进行处理。

示例性地,可以先对日志数据流中的日志数据按照错误等级(errorlevel)进行过滤,将处于警告(Warn)、错误(Error)、致命(Fatal)三个等级的日志过滤出来,再进一步利用异常日志聚合规则进行处理。

其中,在上述示例中,警告(Warn)、错误(Error)、致命(Fatal)三个字段可以理解为预设字段内容,日志数据的错误等级字段中的真实内容可以理解为待匹配字段内容。若某个日志数据的错误等级字段为上述警告(Warn)、错误(Error)、致命(Fatal)中任一个,则可以将该日志数据确定为候选日志数据。

在一些实施方式中,确定的候选日志数据也可以作为异常日志数据,从而可以将候选日志数据也存储到目标存储介质。

此外,考虑到日志在生成的时候,可能由于一些原因发生错误,例如,丢失某个字段的内容,对于这类日志可以先过滤掉,因此,在一些实施方式中,本公开实施例的日志管理方法还可以包括步骤:获取错误日志过滤规则;基于错误日志过滤规则,对日志数据流进行错误日志过滤,得到目标日志数据流。

相应地,基于目标异常日志检测规则对日志数据流进行异常检测,得到检测结果,可以包括步骤:基于目标异常日志检测规则对目标日志数据流进行异常检测,得到异常日志数据。

本公开实施例中,错误日志过滤规则可以对一些格式存在错误或者字段内容存在缺失的日志数据进行过滤,这些日志数据不适合用于后续的异常日志检测分析,从而可以先利用错误日志过滤规则对获取的日志数据流进行过滤,将剩下的日志数据流,即目标日志数据流用于后续的异常检测。也即,利用目标异常日志检测规则进行异常检测的是目标日志数据流中的数据。

需要说明的是,错误日志过滤规则也可以是根据需要进行配置的,从而可以根据需要对错误日志进行定义,并设置对应的错误日志过滤规则进行过滤。

此外,在一些实施方式中,参数项标识对应的参数信息还包括预设采样字段,这种情况下,步骤S150,将异常日志数据存储到目标存储介质,可以包括以下步骤:

对各个异常日志数据中对应预设采样字段的字段内容进行采样;

将采样到的预设采样字段的字段内容进行拼接,得到新的日志数据;

将新的日志数据输出到目标存储介质。

本公开实施例中,考虑到日志数据量较大,没有必要对所有的日志数据的所有字段内容均进行存储,因此,可以将各个异常日志数据中对应预设采样字段的字段内容进行采样,然后将采样到的预设采样字段的字段内容进行拼接,得到新的日志数据,再把新的日志数据存储到目标存储介质。

例如,对于服务名为service1的日志数据,关注其中的字段1的内容,对于服务名为service2的日志数据,关注其中的字段2的内容,对于服务名为service3的日志数据,关注其中的字段3的内容,从而,便可以将从服务名为service1的日志数据中采样的字段1,从服务名为service2的日志数据中采样的字段2,以及从服务名为service3的日志数据中采样的字段3进行拼接,得到新的日志数据,并存储到目标存储介质。

此外,在一些实施方式中,对各个异常日志数据中对应预设采样字段的字段内容进行采样,可以包括以下步骤:

根据预设采样频率,对各个异常日志数据中对应预设采样字段的字段内容进行采样。

本公开实施例中,通过设置预设采样频率,可以进一步减少输出到目标存储介质的日志的数量。

其中,预设采样频率可以以时间来表示,例如,设置在60秒时间内只采样并生成一条新的日志数据。

在一些实施方式中,可以既对根据异常检测规则筛选出的候选日志数据进行采样存储,也对根据异常日志聚合规则对候选日志数据进行检测得到的异常日志数据进行采样存储,从而提高存储多样性。

在一些实施方式中,本公开实施例的日志管理方法中的部分步骤可以由CEP(Complex Event Processing,复杂事件处理)系统进行处理。例如,在获取到用于异常日志检测的流式结构化查询语句之后,可以对流式结构化查询语句进行解析,得到多个参数项标识,接着获取各个参数项标识对应的参数信息来对流式结构化查询进行拼装,并将拼装好的流式结构化查询语句注入到CEP系统,从而由CEP系统实现上述步骤S140-S160的过程,以及由CEP系统实现上述步骤S140-S160包括的详细步骤。

请参阅图2,图2示出了通过CEP系统实现本公开实施例的日志管理方法的流程框图,在图2中,可以定义第一缓存PipelineConfig Cache,用来缓存目标数据源以及目标存储介质,定义第二缓存ErrorLogMatcherCache,用来缓存异常日志聚合规则以及异常检测规则。

此外,还可以定义第一处理器ErrorLogFilterProcessor用来获取错误日志过滤规则,并根据错误日志过滤规则过滤错误日志,以及定义第二处理器ErrorLogStreamProcessor,用来获取目标异常日志检测规则,并根据异常日志检测规则对日志数据流进行异常检测。

继续参考图2,消费者可以从第一缓存以及第二缓存中获取目标数据源、目标异常日志检测规则以及目标存储介质,并动态拼装成可运行的流式结构化查询语句。

接着,便可以将拼装成的流式结构化查询语句注入CEP框架,以进行运行。其中,CEP框架在运行时可以用到多个组件,如图2所示,例如可以包括kafka资源(KafkaSource)、自定义的第一类映射器(例如StreamCodecSourceMapper)、多个流式处理器(NStreamProcessor)、多个流式扩展功能算子(NStreamFunction)、自定义的第二类映射器(例如StreamCodecBinarySinkMapper)、下游存储组件(例如kafkasink或者ESStore)。从而在多个组件的协作下,实现从目标数据源获取日志数据流,基于目标异常日志检测规则对日志数据流进行异常检测,得到异常日志数据,将异常日志数据存储到目标存储介质的功能。

具体地,在运行拼装成的流式结构化查询语句过程中,上游消费者可以从目标数据源采集日志数据流,然后先由第一处理器进行错误日志过滤,得到目标日志数据流,然后再由第二处理器对目标日志数据流中的日志按照异常检测规则进行处理,得到候选日志数据,再由第二处理器根据异常日志聚合规则对候选日志数据进行检测,得到异常日志数据,最后把异常日志数据存储到下游存储介质。

需要说明的是,本公开实施例中的用于异常日志检测的流式结构化查询语句,可以通过CEP系统提供的算子以及通过扩展接口定义的算子实现。

在一些实施方式中,CEP系统可以是Siddhi提供的,也可以是flink提供的,或者其他复杂事件处理引擎提供的。其中,Siddhi一种云原生的流和复杂事件处理引擎),flink是一个对有界和无界数据流进行状态计算的分布式处理引擎和框架。

本公开实施例的基于CEP系统实现的日志管理方法,可以提供多样的算子和处理器,并支持通过类SQL的描述方式自定义算子以及处理器,从而快速满足定制化日志管理需求,避免重复代码编写,扩展性更强,可以灵活适配多个日志数据源及存储介质,整个异常日志检测方法通过编辑流式结构化查询语句的方式完成,实现简单。

图3是根据本公开一示例性实施例示出的一种日志管理装置的框图,参照图3,该日志管理装置300包括:

第一获取模块310,用于获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;

解析模块320,用于解析所述流式结构化查询语句,得到多个参数项标识;

第二获取模块330,用于基于所述多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;

第三获取模块340,用于从所述目标数据源获取日志数据流;

检测模块350,用于基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;

存储模块360,用于将异常日志数据存储到所述目标存储介质。

可选地,第二获取模块330还用于响应于所述流式结构化查询语句被执行,从缓存中获取各个所述参数项标识对应的参数信息,所述缓存中的参数信息是按照预设时间间隔拉取并缓存的。

可选地,所述目标异常日志检测规则包括多个异常日志聚合规则,每个所述异常日志聚合规则包括多个字段检测项,检测模块350包括:

第一确定子模块,用于基于日志数据的服务名与异常日志聚合规则之间的关联关系,确定与所述日志数据流中各个日志数据分别对应的异常日志聚合规则;

第二确定子模块,用于确定目标日志数据的字段内容与目标异常日志聚合规则包括的所述多个字段检测项的匹配情况,所述目标日志数据是所述日志数据流中任一个日志数据,所述目标异常日志聚合规则为与所述目标日志数据对应的异常日志聚合规则;

第三确定子模块,用于若所述目标日志数据对应的匹配情况满足异常日志数据对应的匹配情况,确定所述目标日志数据为异常日志数据。

可选地,所述目标异常日志检测规则包括异常检测规则,第一确定子模块还用于根据所述异常检测规则包括的各个预设字段内容,对所述日志数据流包括的各个日志数据的待匹配字段内容进行匹配;确定包括所述预设字段内容的日志数据为候选日志数据;确定与所述日志数据流中各个候选日志数据分别对应的异常日志聚合规则,所述目标日志数据是所述候选日志数据中任一个日志数据。

可选地,装置300还包括:第四获取模块,用于获取错误日志过滤规则;过滤模块,用于基于所述错误日志过滤规则,对所述日志数据流进行错误日志过滤,得到目标日志数据流。相应地,检测模块350,还用于基于所述目标异常日志检测规则对所述目标日志数据流进行异常检测,得到异常日志数据。

可选地,所述参数项标识对应的参数信息还包括预设采样字段,存储模块360包括:

采样子模块,用于对各个异常日志数据中对应所述预设采样字段的字段内容进行采样;

拼接子模块,用于将采样到的预设采样字段的字段内容进行拼接,得到新的日志数据;

存储子模块,用于将所述新的日志数据存储到所述目标存储介质。

可选地,采样子模块,还用于根据预设采样频率,对各个异常日志数据中对应所述预设采样字段的字段内容进行采样。

下面参考图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的电子设备可以为服务器。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。

通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,电子设备可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;解析所述流式结构化查询语句,得到多个参数项标识;基于所述多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;从所述目标数据源获取日志数据流;基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;将异常日志数据存储到所述目标存储介质。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

根据本公开的一个或多个实施例,示例1提供了一种日志管理方法,所述方法包括:

获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;

解析所述流式结构化查询语句,得到多个参数项标识;

基于所述多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;

从所述目标数据源获取日志数据流;

基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;

将异常日志数据存储到所述目标存储介质。

根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述基于所述多个参数项标识获取对应的参数信息,包括:

响应于所述流式结构化查询语句被执行,从缓存中获取各个所述参数项标识对应的参数信息,所述缓存中的参数信息是按照预设时间间隔拉取并缓存的。

根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述目标异常日志检测规则包括多个异常日志聚合规则,每个所述异常日志聚合规则包括多个字段检测项,所述基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据,包括:

基于日志数据的服务名与异常日志聚合规则之间的关联关系,确定与所述日志数据流中各个日志数据分别对应的异常日志聚合规则;

确定目标日志数据的字段内容与目标异常日志聚合规则包括的所述多个字段检测项的匹配情况,所述目标日志数据是所述日志数据流中任一个日志数据,所述目标异常日志聚合规则为与所述目标日志数据对应的异常日志聚合规则;

若所述目标日志数据对应的匹配情况满足异常日志数据对应的匹配情况,确定所述目标日志数据为异常日志数据。

根据本公开的一个或多个实施例,示例4提供了示例3的方法,所述目标异常日志检测规则包括异常检测规则,所述确定与所述日志数据流中各个日志数据分别对应的异常日志聚合规则,包括:

根据所述异常检测规则包括的各个预设字段内容,对所述日志数据流包括的各个日志数据的待匹配字段内容进行匹配;

确定包括所述预设字段内容的日志数据为候选日志数据;

确定与所述日志数据流中各个候选日志数据分别对应的异常日志聚合规则,所述目标日志数据是所述候选日志数据中任一个日志数据。

根据本公开的一个或多个实施例,示例5提供了示例1的方法,所述方法还包括:

获取错误日志过滤规则;

基于所述错误日志过滤规则,对所述日志数据流进行错误日志过滤,得到目标日志数据流;

所述基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据,包括:

基于所述目标异常日志检测规则对所述目标日志数据流进行异常检测,得到异常日志数据。

根据本公开的一个或多个实施例,示例6提供了示例1的方法,所述参数项标识对应的参数信息还包括预设采样字段,所述将所述异常日志数据存储到所述目标存储介质,包括:

对各个异常日志数据中对应所述预设采样字段的字段内容进行采样;

将采样到的预设采样字段的字段内容进行拼接,得到新的日志数据;

将所述新的日志数据存储到所述目标存储介质。

根据本公开的一个或多个实施例,示例7提供了示例1的方法,所述对各个异常日志数据中对应所述预设采样字段的字段内容进行采样,包括:

根据预设采样频率,对各个异常日志数据中对应所述预设采样字段的字段内容进行采样。

根据本公开的一个或多个实施例,示例8提供了一种日志管理装置,所述装置包括:

第一获取模块,用于获取用于异常日志检测的流式结构化查询语句,所述流式结构化查询语句中携带多个参数项标识,所述多个参数项标识至少包括:数据源标识、异常检测规则标识以及存储介质标识;

解析模块,用于解析所述流式结构化查询语句,得到多个参数项标识;

第二获取模块,用于基于所述多个参数项标识获取对应的参数信息,所述参数项标识对应的参数信息包括目标数据源、目标异常日志检测规则以及目标存储介质;

第三获取模块,用于从所述目标数据源获取日志数据流;

检测模块,用于基于所述目标异常日志检测规则对所述日志数据流进行异常检测,得到异常日志数据;

输出模块,用于将所述异常日志数据存储到所述目标存储介质。

根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-7中任一项所述方法的步骤。

根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:

存储装置,其上存储有计算机程序;

处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1-7中任一项所述方法的步骤。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

技术分类

06120115687253