日志数据处理方法、装置、终端及存储介质与流程

文档序号:18900004发布日期:2019-10-18 21:48阅读:271来源:国知局
日志数据处理方法、装置、终端及存储介质与流程
本发明涉及日志处理
技术领域
,具体涉及一种日志数据处理方法、日志数据处理装置、终端以及计算机可读存储介质。
背景技术
:目前针对网络环境中关键信息资源的威胁数量和类型都在急剧上升,如何及时对网络攻击行为做出主动反应,是网络安全领域近年来的研究热点。通过分析日志数据对网络安全态势进行评估已得到越来越广泛的认可。随着计算机和网络的发展,日志数据的数据处理量越来越大,日志数据的数据量级通常是百万级以上,甚至是百万亿级、千万亿级以上。针对如此庞大的日志数据体系,首先对日志数据的处理提到了较高的要求。然而,当前的日志数据处理系统通常由日志采集代理和分析管理系统组成,可对数据量较小的日志进行安全分析,但面对大型、复杂网络中的海量日志文件,其以工具形态工作的方式无法较好地胜任采集与分析任务,并且数据之间是孤立分散的,无法进行关联,无法提取出其中的共性,缺乏对整体日志数据的综合分析,无法使网络成为一个整体来应对安全事件。技术实现要素:鉴于以上内容,有必要提供一种日志数据处理方法、日志数据处理装置、终端以及计算机可读存储介质,能够针对海量日志数据进行高效的分析与存储,提高了利用日志数据进行安全审计的效率。本发明实施例第一方面提供一种日志数据处理方法,所述日志数据处理方法包括:获取日志数据;接收针对所述日志数据的处理指令;判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令;当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理;当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。进一步地,在本发明实施例提供的上述日志数据处理方法中,所述通过elasticsearch集群对所述日志数据进行实时处理包括:按照关键字检索方式对所述日志数据进行实时检索,并以预设方式显示检索结果;按照预设告警规则对所述日志数据进行实时告警,所述预设告警规则包括以下中的一种或多种的组合:事件告警、字段统计告警、连续统计告警及基线比对告警;按照预设统计规则对所述日志数据进行规则匹配,并对满足所述预设统计规则的日志数据进行实时统计。进一步地,在本发明实施例提供的上述日志数据处理方法中,所述连续统计告警包括:根据统计规则对所述日志数据进行统计得到统计分析结果;根据预设指标阈值对所述统计分析结果中的预设输出指标进行校验,判断所述统计分析结果中的预设输出指标是否超过所述预设指标阈值;若判断所述统计分析结果中的预设输出指标超过所述预设指标阈值,输出预设告警提示给预设应用负责人。进一步的,在本发明实施例提供的上述日志数据处理方法中,所述通过hbase集群对所述日志数据进行离线处理包括以下中的一种或多种的组合:通过所述hbase集群对所述日志数据进行离线分析,所述离线分析包括离线日志数据聚类分析与用户行为分析;通过所述hbase集群对所述日志数据进行日志备份;通过所述hbase集群对所述日志数据进行日志还原。进一步的,在本发明实施例提供的上述日志数据处理方法中,所述通过所述hbase集群对所述日志数据进行日志备份包括:通过tcp协议读取所述elasticsearch集群中的索引信息;根据所述索引信息获取所述elasticsearch集群中的日志数据;将所述elasticsearch集群中的日志数据写入所述hbase集群进行日志备份。进一步的,在本发明实施例提供的上述日志数据处理方法中,所述通过所述hbase集群对所述日志数据进行日志还原包括:读取所述hbase集群中的日志数据;通过所述elasticsearch集群中的blukapi的方式将读取的所述hbase集群中的日志数据写回所述elasticsearch集群进行日志还原。进一步的,在本发明实施例提供的上述日志数据处理方法中,在所述获取日志数据之后,所述方法还包括:通过kafka集群对所述日志数据进行分流,得到实时日志数据与非实时日志数据;将所述实时日志数据输入至所述elasticsearch集群中;将所述非实时日志数据输入至所述hbase集群中。本发明实施例第二方面还提供一种日志数据处理装置,所述日志数据处理装置包括:日志获取模块,用于获取日志数据;指令接收模块,用于接收针对所述日志数据的处理指令;指令判断模块,用于判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令;实时处理模块,用于当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理;离线处理模块,用于当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。本发明实施例第三方面还提供一种终端,所述终端包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一项所述的日志数据处理方法。本发明实施例第四方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的日志数据处理方法。本发明实施例提供一种日志数据处理方法、日志数据处理装置、终端以及计算机可读存储介质,获取日志数据;接收针对所述日志数据的处理指令;判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令;当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理;当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。利用本发明实施例,能够针对海量日志数据进行高效的分析与存储,提高了利用日志数据进行安全审计的效率。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1是本发明第一实施方式提供的日志数据处理方法的流程图。图2是本发明一实施方式的终端的结构示意图。图3是图2所示的终端的示例性的功能模块图。主要元件符号说明终端1存储器10显示屏20处理器30日志数据处理装置100日志获取模块101指令接收模块102指令判断模块103实时处理模块104离线处理模块105如下具体实施方式将结合上述附图进一步说明本发明实施例。具体实施方式为了能够更清楚地理解本发明实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本发明实施例,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明实施例保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明实施例的
技术领域
的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明实施例。图1是本发明第一实施方式的日志数据处理方法的流程图。所述日志数据处理方法可以应用于终端1,所述终端1可以是例如智能手机、笔记本电脑、台式/平板电脑、智能手表以及个人数字助理(personaldigitalassistant,pda)等智能设备。如图1所示,所述日志数据处理方法可以包括如下步骤:s101:获取日志数据。在本实施方式中,通过日志获取模块从预设来源数据库中获取的日志数据,所述日志数据的类型可以包括用户行为数据、应用状态数据或设备状态数据,所述预设来源数据库可以是系统操作人员预先设置的,此处并不对日志数据的内容、来源进行限定。所述日志获取模块可以使用filebeat进行日志数据采集(以下称为filebeat日志采集模块),所述filebeat为日志数据采集器。所述filebeat日志采集模块支持定制各类日志数据的发送方,所述filebeat日志采集模块用于获取日志数据,并将所述日志数据输出至各类日志数据的接收方。具体的,所述filebeat日志采集模块启动一个或多个探测器(prospectors)去检测指定的日志目录或文件;对于所述探测器找出的每一个日志文件,所述filebeat日志采集模块启动收割进程(harvester);每一个所述收割进行读取一个日志文件的新内容,并发送所述日志文件的新内容到处理程序(spooler),所述处理程序会集合这些日志数据,最后所述filebeat日志采集模块会发送集合的日志数据到指定的地点。可以理解的是,在所述获取日志数据之后,还可以根据预设结构对所述日志数据进行转化,具体的,所述日志数据的预设结构可以包括日志时间、日志级别、日志输出类以及日志内容等。在本实施方式中,在所述获取日志数据之后,所述方法还包括:通过kafka集群(所述kafka集群是一种分布式消息缓存中间件,具有高吞吐量的特点(即使是使用非常普通的硬件,kafka也可以支持每秒数十万的消息),用于海量数据的缓存,通过消息队列的方式,对数据进行分发和控制。)对所述日志数据进行分流,得到实时日志数据与非实时日志数据;将所述实时日志数据输入至所述elasticsearch集群中;将所述非实时日志数据输入至所述hbase集群中。其中,所述通过kafka集群对所述日志数据进行分流包括采用strom流式计算框架得对所述kafka消息队列中缓存的日志数据进行分析处理,得到实时日志数据以及非实时日志数据。在其他实施方式中,还可以通过zookeeper(zookeeper是一个分布式的,开放源码的分布式应用程序协调服务)集群对所述日志数据进行分类,得到实时日志数据以及非实时日志数据。可以理解的是,在将所述实时日志数据输入至所述elasticsearch集群中之前,所述方法还包括:接收kafka消息队列中缓存的不同topic里的实时日志数据;通过logstash日志解析模块按照预设解析规则对所述实时日志数据进行解析操作。所述通过logstash日志解析模块按照预设解析规则对所述实时日志数据进行解析包括通过logstash日志解析模块对所述实时日志数据进行清洗和加工,并将所述实时日志数据结构化成不同的字段。通过logstash日志解析模块对日志文件进行解析,能够识别出待处理的所述第一分流日志数据中的有用信息,过滤掉垃圾数据。所述logstash日志解析模块中配置有所有日志来源的解析文件,所述预设解析规则为所述解析文件中设置的规则。在将所述非实时日志数据输入至所述hbase集群中之前,所述方法还包括:读取预定解析规则;通过spark集群按照预定解析规则对所述实时日志数据进行解析操作,将所述实时日志数据解析为hbase数据表格式,将解析后的hbase数据表格式存储至所述hbase集群中。其中,所述预定解析规则可以是系统开发人员预先设置的,所述预定解析规则可以包括正则表达式、keyvalue解析、字段值拆分(例如,利用split函数进行拆分)、string类型转换成数值型、json解析、url解码、时间戳识别以及useragent解析中的一种或多种。s102:接收针对所述日志数据的处理指令。在本实施方式中,接收针对所述日志数据的处理指令,所述日志数据的处理指令包括日志数据实时处理指令与日志数据离线处理指令,其中,所述日志数据实时处理指令包括实时检索指令、实时告警指令以及在线统计指令,所述日志数据离线处理指令包括离线分析指令、日志备份指令以及日志还原指令。本发明实施例提供一交互界面,在所述交互界面上,针对每一个日志数据的处理指令均设置有对应的触控区域。通过接收在对应的触控区域输出的预设操作(例如,鼠标点击或手指触碰等)得到针对所述日志数据的处理指令。s103:判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令。在本实施方式中,在接收针对所述日志数据的处理指令之后,判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令,当所述处理指令为所述日志数据实时处理指令时,执行步骤s104;当所述处理指令为所述日志数据离线处理指令时,执行步骤s105。s104:通过elasticsearch集群对所述日志数据进行实时处理。在本实施方式中,当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理。所述通过elasticsearch集群对所述日志数据进行实时处理包括:按照关键字检索方式对所述日志数据进行实时检索,并以预设方式显示检索结果;所述预设方式包括对检测结果进行加粗、标亮。对于包含关键字的日志数据,还支持查看所述包含日志关键字的日志数据打印的上下文。或者,按照预设告警规则对所述日志数据进行实时告警,所述预设告警规则包括以下中的一种或多种的组合:事件告警、字段统计告警、连续统计告警、基线比对告警与统计告警;其中,对于所述事件告警规则,创建基于日志数据搜索结果的告警触发条件,例如,设置在预设时间范围内触发告警的预设阈值数,若实际触发告警的数量大于所述预设阈值数,则进行告警提示。对于所述字段统计告警规则,提供针对字段内容的告警设置,在触发条件中可以填写字段内容,统计方式可以在交互界面的下拉框中选择,包括cardinality(独立计数)、sum(求和)、avg(平均值)、max(最大值)及min(最小值)。对于所述连续统计告警规则,提供连续触发告警设置,设置告警条件,当所述告警条件在预设时间段内连续触发次数达到预设阈值时,则触发告警。对于所述基线对比告警规则,可以将阈值设定为一个统计的基线值(所述基线值可随时间变动),选择基线生成的时间范围。同时,基线对比告警提供了更灵活的触发范围设定方式,例如,可以在下拉框中选择大于、小于、在区间内以及在区间外。对于统计告警规则,所述统计告警包括:根据统计规则对所述日志数据进行统计得到统计分析结果;根据预设指标阈值对所述统计分析结果中的预设输出指标进行校验,判断所述统计分析结果中的预设输出指标是否超过所述预设指标阈值;若判断所述统计分析结果中的预设输出指标超过所述预设指标阈值,输出预设告警提示给预设应用负责人。所述统计规则包括预设统计项目以及预设输出指标,其中,所述预设统计项目包括预先指定要统计的字段信息(例如,clientip、requesturl等字段信息)。所述预设输出指标包括所述预设统计项目的输出值(例如,预设输出指标为数量(count),所述数量可以包括所述预先指定要统计字段信息的统计数量)。所述预设指标阈值为终端用户预先设置的值。所述预设应用负责人为终端用户预先设置的应用负责人。或者,按照预设统计规则对所述日志数据进行规则匹配,并对满足所述预设统计规则的日志数据进行实时统计。所述按照预设统计规则对所述日志数据进行规则匹配,并对满足所述预设统计规则的日志数据进行实时统计包括:根据接收到的预设统计规则对所述日志数据进行规则匹配,并对满足所述预设统计规则的待统计信息进行统计,输出统计结果。所述统计结果可以通过折线、表格、条形、饼型等形式展示。所述预设统计规则可以支持在交互界面上进行增加、修改、删除、查找及存储等操作。s105:通过hbase集群对所述日志数据进行离线处理。在本实施方式中,当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。所述通过hbase集群对所述日志数据进行离线处理包括以下中的一种或多种的组合:通过所述hbase集群对所述日志数据进行离线分析,所述离线分析包括离线日志数据聚类分析与用户行为分析;通过所述hbase集群对所述日志数据进行日志备份;通过所述hbase集群对所述日志数据进行日志还原。其中,所述通过所述hbase集群对所述日志数据进行日志备份包括:通过tcp协议读取所述elasticsearch集群中的索引信息;根据所述索引信息获取所述elasticsearch集群中的日志数据;将所述elasticsearch集群中的日志数据写入所述hbase集群进行日志备份。所述通过所述hbase集群对所述日志数据进行日志还原包括:读取所述hbase集群中的日志数据;通过所述elasticsearch集群中的blukapi(bluk接口,用于在一次接口调用中包含多个索引操作)的方式将读取的所述hbase集群中的日志数据写回所述elasticsearch集群进行日志还原。在本实施方式中,在所述通过elasticsearch集群对所述日志数据进行实时处理之后,输出实时处理结果;在所述通过hbase集群对所述日志数据进行离线处理之后,输出离线处理结果。所述实时处理结果与所述离线处理结果可以通过web客户端中的结果展示模块进行展示。本发明实施例还提供mysql数据库、mongo数据库与web应用程序。所述web应用程序与所述mysql数据库及mongo数据库连接。其中,所述mysql数据库是一种开放源代码的关系型数据库管理系统,所述mysql数据库中主要存放资源配置相关数据。所述mongo数据库是一个基于分布式文件存储的数据库,旨在为web应用提供可扩展的高性能数据存储解决方案,所述mongo数据库中主要存放日志数据的统计分析结果。所述web应用程序还与web服务器相互连接,所述web服务器用于接收web客户端上传的用于与web应用程序进行数据交互的交互数据,并将所述交互数据通过接口输出给web应用程序,web应用程序对交互数据进行处理后,得到处理结果,并将处理结果反馈给web服务器,通过web服务器将处理结果反馈至web客户端,通过所述web客户端中的结果展示模块将结果进行展示。本发明实施例提供一种日志数据处理方法,获取日志数据;接收针对所述日志数据的处理指令;判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令;当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理;当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。利用本发明实施例,能够针对海量日志数据进行高效的分析与存储,提高了利用日志数据进行安全审计的效率。图2是本发明一实施方式的终端1的结构示意图,如图2所示,终端1包括存储器10,存储器10中存储有日志数据处理装置100。所述的终端1可以是手机、平板电脑、个人数字助理等具有应用显示功能的终端1。所述日志数据处理装置100可以获取日志数据;接收针对所述日志数据的处理指令;判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令;当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理;当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。利用本发明实施例,能够针对海量日志数据进行高效的分析与存储,提高了利用日志数据进行安全审计的效率。本实施方式中,终端1还可以包括显示屏20及处理器30。存储器10、显示屏20可以分别与处理器30电连接。所述的存储器10可以是不同类型存储设备,用于存储各类数据。例如,可以是终端1的存储器、内存,还可以是可外接于该终端1的存储卡,如闪存、sm卡(smartmediacard,智能媒体卡)、sd卡(securedigitalcard,安全数字卡)等。此外,存储器10可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器10用于存储各类数据,例如,所述终端1中安装的各类应用程序(applications)、应用上述日志数据处理方法而设置、获取的数据等信息。显示屏20安装于终端1,用于显示信息。处理器30用于执行所述日志数据处理方法以及所述终端1内安装的各类软件,例如操作系统及应用显示软件等。处理器30包含但不限于处理器(centralprocessingunit,cpu)、微控制单元(microcontrollerunit,mcu)等用于解释计算机以及处理计算机软件中的数据的装置。所述的日志数据处理装置100可以包括一个或多个的模块,所述一个或多个模块被存储在终端1的存储器10中并被配置成由一个或多个处理器(本实施方式为一个处理器30)执行,以完成本发明实施例。例如,参阅图3所示,所述日志数据处理装置100可以包括日志获取模块101、指令接收模块102、指令判断模块103、实时处理模块104以及离线处理模块105。本发明实施例所称的模块可以是完成一特定功能的程序段,比程序更适合于描述软件在处理器中的执行过程。可以理解的是,对应上述日志数据处理方法中的各实施方式,终端1可以包括图3中所示的各功能模块中的一部分或全部,各模块的功能将在以下具体介绍。需要说明的是,以上日志数据处理方法的各实施方式中相同的名词相关名词及其具体的解释说明也可以适用于以下对各模块的功能介绍。为节省篇幅及避免重复起见,在此就不再赘述。日志获取模块101可以用于获取日志数据。指令接收模块102可以用于接收针对所述日志数据的处理指令。指令判断模块103可以用于判断所述处理指令为日志数据实时处理指令或日志数据离线处理指令。实时处理模块104可以用于当所述处理指令为所述日志数据实时处理指令时,通过elasticsearch集群对所述日志数据进行实时处理。离线处理模块105可以用于当所述处理指令为所述日志数据离线处理指令时,通过hbase集群对所述日志数据进行离线处理。本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式中的日志数据处理方法的步骤。所述日志数据处理装置100/终端1/计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施方式方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。所称处理器30可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器30是所述日志数据处理装置100/终端1的控制中心,利用各种接口和线路连接整个日志数据处理装置100/终端1的各个部分。所述存储器10用于存储所述计算机程序和/或模块,所述处理器30通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述日志数据处理装置100/终端1的各种功能。所述存储器10可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。在本发明所提供的几个具体实施方式中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。例如,以上所描述的系统实施方式仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。对于本领域技术人员而言,显然本发明实施例不限于上述示范性实施例的细节,而且在不背离本发明实施例的精神或基本特征的情况下,能够以其他的具体形式实现本发明实施例。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明实施例的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明实施例内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。权利要求中陈述的多个单元、模块或装置也可以由同一个单元、模块或装置通过软件或者硬件来实现。以上实施方式仅用以说明本发明实施例的技术方案而非限制,尽管参照以上较佳实施方式对本发明实施例进行了详细说明,本领域的普通技术人员应当理解,可以对本发明实施例的技术方案进行修改或等同替换都不应脱离本发明实施例的技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1