一种日志处理方法、装置及电子设备与流程

文档序号:19737592发布日期:2020-01-18 04:43阅读:165来源:国知局
一种日志处理方法、装置及电子设备与流程
本发明涉及数据处理
技术领域
,尤其涉及一种日志处理方法、装置及电子设备。
背景技术
:现有的日志采集软件,在对linux操作系统进行日志采集时,会面临原始日志字段较少,格式不统一,无效信息较多,数据重复等问题。目前,现有技术通常可以解决数据格式问题、无效信息过滤问题、数据重复的问题,并可以对已有字段进行简单的说明,但却无法根据数据分析的个性化需求,进行字段的增补。技术实现要素:本发明实施例的目的是提供一种日志处理方法、装置及电子设备,以解决现有技术中无法根据数据分析的个性化需求,进行字段增补的问题。为了解决上述技术问题,本发明实施例是这样实现的:第一方面,本发明实施例提供了一种日志处理方法,包括:获取待处理的日志数据,所述日志数据中至少包括预定字段信息对应的字段值;获取与所述日志数据相匹配的配置信息;基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据。第二方面,本发明实施例提供了一种日志处理装置,包括:日志数据获取模块,用于获取待处理的日志数据,所述日志数据中至少包括预定字段信息对应的字段值;配置信息获取模块,用于获取与所述日志数据相匹配的配置信息;目标日志生成模块,用于基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据。第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现如第一方面所述的日志处理方法步骤。第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的日志处理方法步骤。由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取待处理的日志数据,日志数据中至少包括预定字段信息对应的字段值,以及获取与日志数据相匹配的配置信息,然后,基于配置信息和日志数据中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据。这样,通过获取待处理的日志数据,以及获取与日志数据相匹配的配置信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据的方法,满足了数据分析的个性化需求,同时提升了数据质量,为数据分析、数据挖掘提供了高质量的基础数据。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的日志处理方法的第一种流程示意图;图2为本发明实施例提供的日志处理方法的第二种流程示意图;图3为本发明实施例提供的日志处理方法的第三种流程示意图;图4为本发明实施例提供的日志处理方法的第四种流程示意图;图5为本发明实施例提供的日志处理方法的第五种流程示意图;图6为本发明实施例提供的日志处理方法的第六种流程示意图;图7为本发明实施例提供的日志处理装置的模块组成示意图;图8为本发明实施例提供的电子设备的结构示意图。具体实施方式为了使本
技术领域
的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。如图1所示,本发明实施例提供一种日志处理方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的服务器,也可以是由多个服务器组成的服务器集群。该方法可以用于进行日志处理。图1为本发明实施例提供的日志处理方法的第一种流程示意图,如图1所示,该方法至少包括以下步骤:s101,获取待处理的日志数据,日志数据中至少包括预定字段信息对应的字段值。其中,待处理的日志数据可以是记录在操作系统中的消息的文件,该日志数据中可以记录有某应用程序运行中发生的事件或该应用程序的不同用户之间的消息信息。待处理的日志数据可以包括用户名、用户登录所使用的ip地址、登录开始时间、登录结束时间、登录持续时间等字段信息及上述各字段信息分别所对应的字段值。s102,获取与日志数据相匹配的配置信息。其中,配置信息可以以脚本的形式呈现,也可以以某格式的文件的形式呈现。在实施中,可以根据上述待处理日志数据中包含的至少一个预定字段信息对应的字段值,在获取到的配置信息中选取包含该字段值的配置信息,并将获取到的包含该字段值的配置信息确定为与日志数据相匹配的配置信息。此外,也可以是,根据获取到的待处理日志数据的日志类型,从获取到的配置信息中,选取与该日志类型相匹配的配置信息,并将该配置信息确定为与日志数据相匹配的配置信息。s103,基于配置信息和日志数据中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据。在实施中,可以选择flume(日志收集系统)获取待处理的日志数据,flume可以是一个分布式、高可靠的海量日志采集、聚合和传输的应用程序,flume支持在日志系统中定制各类数据发送方。同时,flume提供对数据进行简单处理,并具备将该数据写到各种数据接受方的能力。本实施例中,通过对flume源码的重新编写及编译,在程序代码中封装linuxshell调用功能模块以及对正则表达式支持模块,从而可以实现对linux系统shell的调用及基于正则表达式的数据匹配及数据切分功能。重新编写及编码后的flume基于配置信息和日志数据中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据。具体的,本实施例可应用于linux系统中各种原始日志,以常见的last日志为例,原始last日志样式如表1所示:表1rootpts/011.203.19.193tuemar1419:38–21:10(01:32)其中,如表1所示,last日志包括6列内容,其中,第一列root表示用户名。第二列pts/0表示终端位置,pts/0可以是用户通过putty或者xshell等应用程序远程连接服务器时的终端位置,默认为pts/0,当打开多个窗口时会以此增加,如pts/0、pts/1、pts/2等。第三列11.203.19.193表示登录的ip地址或者内核。第四列表示开始时间,例如:3月14日星期二19:38。第五列表示结束时间,例如:3月14日星期二21:10。第六列表示持续时长,例如:从3月14日星期二19:38至3月14日星期二21:10,共持续1小时32分钟。其中,例如:上述last日志的配置信息为:字段值为用户名所对应的配置信息为“lastusername”,即“用户名”;字段值为终端位置所对应的配置信息为“lasttype”,即“终端位置”;字段值为登录ip所对应的配置信息为“lastporhost”,即“登录ip”;字段值为开始时间所对应的配置信息为“laststart_time”,即“开始时间”;字段值为结束时间所对应的配置信息为“lastend_time”,即“结束时间”;字段值为持续时间所对应的配置信息为“lastwhen_long”,即“持续时间”。在实施中,例如,基于上述配置信息和表1中原始last日志中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据,如表2所示:表2本发明实施例中,通过获取待处理的日志数据,以及获取与日志数据相匹配的配置信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据的方法,满足了数据分析的个性化需求,同时提升了数据质量,为数据分析、数据挖掘提供了高质量的基础数据。其中,上述配置信息中还包括日志数据中未包含的预定字段值对应的目标字段信息,如图2所示,上述方法还包括:s104,基于配置信息中包括的日志数据中未包含的预定字段值对应的目标字段信息,在日志数据中补充目标字段信息和对应的预定字段值。在实施中,例如,上述配置信息中还可以包括last原始日志数据中未包含的预定字段值对应的字段信息,例如:上述预设字段值可以为登陆目标地址(lasttargetip)和系统当前时间(nowdate),如表3所示:表3“lasttargetip”:“10.10.24.99”,“nowdate”:“0314193846”如图3所示,上述s103和s104的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以参见下述s1041-s1043的处理。s1041,基于配置信息中包括的日志数据中已包含的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到第一日志数据。具体的,例如:基于上述s103中last日志的配置信息的示例,得到的第一日志数据如上述表2所示,其中,第一日志数据可以是上述s103中的补充后的日志数据。s1042,基于配置信息中包括的日志数据中未包含的预定字段值对应的字段信息,在日志数据中补充字段信息和对应的预定字段值,得到第二日志数据。具体的,例如:基于上述s104中表3的示例,得到的第二日志数据如上述表3所示,其中,第二日志数据可以是上述s104中补充目标字段信息和对应的预定字段值的日志数据。s1043,根据第一日志数据和第二日志数据,得到补充后的日志数据。需要说明的是:上述执行s1041和s1042的过程中可以没有先后顺序,可以如上所述s1041先执行,s1042后执行,在本发明的其它实施例中,也可以s1041、s1042同时执行,还可以s1042先执行,s1041后执行等。此外,在实施中,还可以在原有日期字段中增加年份信息。由于last原始日志所采集到的日期没有年份信息的,本实施例通过对数据处理模块的定制开发,使其在执行过程中加了对linuxshell的调用,通过linux命令实现了对日期年份字段的增补,从而增加了日志的可读性,也便于后续进行数据分析及报表展现,如表4所示,表4为根据第一日志数据和第二日志数据,并在原有日期字段中增加年份信息后得到的补充后的日志数据。表4其中,上述配置信息中还可以包括预先定义的字段信息,例如:标识目标机器的last日志的字段信息,如表5所示,表5为预先定义的字段信息及所对应的字段值。表5“message”:“10.10.24.99_last”在补充后的日志数据中补充预先定义的字段信息和相应的字段值,并根据预设排列顺序,对补充后的日志数据中包含的字段信息和字段值进行排序,得到排序后的日志数据,如表6所示:表6其中,如图4所示,在上述s101获取待处理的日志数据之后,还可以执行s105的处理:s105,对待处理的日志数据进行预处理,其中,预处理包括:格式化处理、重复数据的删除处理、对存在分隔符的多个数据进行合并处理、对预定无意义字段信息和/或预定无意义字段信息对应的字段值进行删除处理中的一种或多种。其中,上述日志数据可以为linux操作系统中包含的原始日志数据,在s101获取待处理的日志数据之前,还可以执行下述步骤一至步骤四的处理:步骤一,接收原始日志数据。步骤二,调用linuxshell脚本和/或基于预定的正则表达式,检测原始日志数据中是否包含预设字段值和/或预设字段信息。若检测结果为是,则执行步骤三,若检测结果为否,则执行步骤四。步骤三,若检测结果为是,则确定原始日志数据为待处理的日志数据。步骤四,若检测结果为否,则确定原始日志数据不是待处理的日志数据。在实施中,通过对flume源码的重新编写及编译,使得flume在日志采集过程中实现了其原本不具备的有效信息完善及个性化字段增补的能力。重新编码开发后的日志采集软件主要由采集代理实现,采集代理由三个部分组成,分别是“数据源”、“数据通道”和“数据池”,其中,“数据源”可以对指定文件目录进行监控,一旦有新文件放入指定目录或者指定目录内文件内容有更新,“数据源”通过调用linuxshell脚本和/或基于预定的正则表达式,检测原始日志数据中是否包含预设字段值和/或预设字段信息。经过检测,若检测结果为是,则确定原始日志数据为待处理的日志数据。若检测结果为否,则确定原始日志数据不是待处理的日志数据。其中,如图5所示,在上述s103基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据之后,还可以执行下述s106的处理。s106,存储补充后的日志数据或将补充后的日志数据发送给预定的存储设备。在实施中,当“数据源”捕获待处理的日志数据之后,对捕获到的待处理日志数据进行指定格式化处理生成“事件”,然后“数据源”将处理后的“事件”通过指定的“数据通道”发送至指定的“数据池”,并把已处理过的文件默认以.completed后缀标记为已处理,或者直接删除。其中,“数据池”负责持久化日志或者把“事件”推向一个外部数据存储。其中,如图6所示,在上述s101获取待处理的日志数据之前,还可以执行s099-s100的处理。s099,获取多个不同类型的日志数据。s100,基于日志数据所属的类型和/或日志数据中包含的字段值,建立与每个类型的日志数据相对应的配置信息。本发明实施例中的日志处理方法,通过获取待处理的日志数据,日志数据中至少包括预定字段信息对应的字段值,以及获取与日志数据相匹配的配置信息,然后,基于配置信息和日志数据中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据。这样,通过获取待处理的日志数据,以及获取与日志数据相匹配的配置信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据的方法,满足了数据分析的个性化需求,同时提升了数据质量,为数据分析、数据挖掘提供了高质量的基础数据。对应上述实施例提供的日志处理方法,基于相同的技术构思,本发明实施例还提供了一种日志处理装置,图7为本发明实施例提供的日志处理装置的模块组成示意图,该日志处理装置用于执行图1至图6描述的日志处理方法,如图7所示,该日志处理装置包括:日志数据获取模块701,用于获取待处理的日志数据,所述日志数据中至少包括预定字段信息对应的字段值;配置信息获取模块702,用于获取与所述日志数据相匹配的配置信息;目标日志生成模块703,用于基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据。本发明实施例中提供了一种日志处理装置,通过获取待处理的日志数据,以及获取与日志数据相匹配的配置信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据的方法,满足了数据分析的个性化需求,同时提升了数据质量,为数据分析、数据挖掘提供了高质量的基础数据。可选地,所述配置信息中还包括日志数据中未包含的预定字段值对应的目标字段信息,上述装置还包括:日志数据补充模块,用于基于所述配置信息中包括的日志数据中未包含的预定字段值对应的目标字段信息,在所述日志数据中补充所述目标字段信息和对应的预定字段值。可选地,上述装置还包括:预处理模块,用于对所述待处理的日志数据进行预处理,其中,所述预处理包括:格式化处理、重复数据的删除处理、对存在分隔符的多个数据进行合并处理、对预定无意义字段信息和/或所述预定无意义字段信息对应的字段值进行删除处理中的一种或多种。可选地,所述日志数据为linux操作系统中包含的原始日志数据。可选地,上述装置还包括:原始日志接收模块,用于接收原始日志数据;原始日志检测模块,用于调用linuxshell脚本和/或基于预定的正则表达式,检测所述原始日志数据中是否包含预设字段值和/或预设字段信息;检测结果生成模块,用于若判断结果为是,则确定所述原始日志数据为待处理的日志数据。可选地,上述装置还包括:存储模块,用于存储补充后的日志数据或将补充后的日志数据发送给预定的存储设备。可选地,上述装置还包括配置信息建立模块,用于:获取多个不同类型的日志数据;基于所述日志数据所属的类型和/或所述日志数据中包含的字段值,建立与每个类型的日志数据相对应的配置信息。可选地,所述配置信息中还包括预先定义的字段信息,上述装置还包括:日志数据排序模块,用于:在所述补充后的日志数据中补充所述预先定义的字段信息和相应的字段值,并根据预设排列顺序,对补充后的日志数据中包含的字段信息和字段值进行排序,得到排序后的日志数据。本发明实施例中的日志处理装置,通过获取待处理的日志数据,日志数据中至少包括预定字段信息对应的字段值,以及获取与日志数据相匹配的配置信息,然后,基于配置信息和日志数据中的字段值,确定日志数据中缺失的字段信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据。这样,通过获取待处理的日志数据,以及获取与日志数据相匹配的配置信息,并基于配置信息为日志数据补充缺失的字段信息,得到补充后的日志数据的方法,满足了数据分析的个性化需求,同时提升了数据质量,为数据分析、数据挖掘提供了高质量的基础数据。本发明实施例提供的日志处理装置能够实现上述日志处理方法对应的实施例中的各个过程,为避免重复,这里不再赘述。需要说明的是,本发明实施例提供的日志处理装置与本发明实施例提供的日志处理方法基于同一发明构思,因此该实施例的具体实施可以参见前述日志处理方法的实施,重复之处不再赘述。对应上述实施例提供的日志处理方法,基于相同的技术构思,本发明实施例还提供了一种电子设备,该电子设备用于执行上述的日志处理方法,图8为实现本发明各个实施例的一种电子设备的结构示意图,如图8所示。电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对电子设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在电子设备上执行存储器802中的一系列计算机可执行指令。电子设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806。具体在本实施例中,电子设备包括有处理器、通信接口、存储器和通信总线;其中,所述处理器、所述通信接口以及所述存储器通过总线完成相互间的通信;所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现以下方法步骤:获取待处理的日志数据,所述日志数据中至少包括预定字段信息对应的字段值;获取与所述日志数据相匹配的配置信息;基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据。本申请实施例还提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现以下方法步骤:获取待处理的日志数据,所述日志数据中至少包括预定字段信息对应的字段值;获取与所述日志数据相匹配的配置信息;基于所述配置信息和所述日志数据中的字段值,确定所述日志数据中缺失的字段信息,并基于所述配置信息为所述日志数据补充所述缺失的字段信息,得到补充后的日志数据。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类别的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1