一种日志管理的方法及装置与流程

文档序号:15761270发布日期:2018-10-26 19:19阅读:118来源:国知局
一种日志管理的方法及装置与流程

本发明涉及计算机技术领域,特别涉及一种日志管理的方法及装置。



背景技术:

随着计算机技术的快速发展,各种应用越来越多。应用会产生大量的日志,如何管理这些日志越来越受到关注。

在现有技术中,从日志文件中采集日志,然后将日志不做处理直接存储。由于日志文件中会包含较多的垃圾数据,如果直接全部存储,在用户查看时,会受到垃圾数据的干扰,用户体验较差。



技术实现要素:

本发明实施例提供了一种日志管理的方法及装置,能够提升用户体验。

一方面,本发明实施例提供了一种日志管理的方法,包括:

确定日志来源;

从所述日志来源获取待处理日志;

将获取的所述待处理日志发送给logstash;

利用logstash对获取的所述待处理日志进行解析和过滤处理,将解析和过滤处理后的待处理日志发送给elasticsearch;

利用所述elasticsearch存储接收到的所述待处理日志;

利用kibana向用户展示所述待处理日志。

进一步地,

所述确定日志来源,包括:

确定日志存储路径;

确定所述日志存储路径中的至少一个日志文件;

所述从所述日志来源获取待处理日志,包括:

为每个所述日志文件设置一个采集进程;

利用每个所述采集进程采集对应的日志文件中的所述待处理日志;

记录每个所述采集进程采集对应的日志文件时的偏移量;

当与任一目标日志文件的连接发生中断时,实时监测与所述目标日志文件的连接是否重新建立,如果是,则获取所述目标日志文件对应的偏移量,从所述目标日志文件对应的偏移量开始,利用所述目标日志文件对应的采集进程继续从所述目标日志文件采集所述待处理日志。

进一步地,

该方法进一步包括:

当检测到所述logstash的解析和过滤处理的过程发生数据拥塞时,降低获取所述待处理日志的速度,在检测到所述logstash的解析和过滤处理的过程的数据拥塞解除时,恢复获取所述待处理日志的速度。

进一步地,

该方法进一步包括:

预先设置正则表达式;

在所述利用所述elasticsearch存储接收到的所述待处理日志之前,进一步包括:

将解析和过滤后的所述待处理日志按照所述正则表达式转换为结构化数据;

将转换为结构化数据的所述待处理日志发送给所述elasticsearch;

所述利用所述elasticsearch存储接收到的所述待处理日志,包括:

利用所述elasticsearch存储转换为结构化数据的所述待处理日志。

进一步地,

该方法进一步包括:

预先与logstash建立基于tls(transportlayersecurity,安全传输层协议)的双向认证连接;

所述将获取的所述待处理日志发送给logstash,包括:

将获取的所述待处理日志进行加密;

将加密后的所述待处理日志通过所述双向认证连接发送给所述logstash。

进一步地,

该方法进一步包括:

为所述kibana设置反向代理;

所述利用kibana向用户展示所述待处理日志,包括:

利用所述kibana通过所述反向代理向用户展示所述待处理日志。

另一方面,本发明实施例提供了一种日志管理的装置,包括:

日志获取单元,用于确定日志来源,从所述日志来源获取待处理日志,将获取的所述待处理日志发送给logstash;

解析过滤单元,用于利用logstash对获取的所述待处理日志进行解析和过滤处理,将解析和过滤处理后的待处理日志发送给elasticsearch;

日志存储单元,用于利用所述elasticsearch存储接收到的所述待处理日志;

展示单元,用于利用kibana向用户展示所述待处理日志。

进一步地,

所述日志获取单元,在执行所述确定日志来源,从所述日志来源获取待处理日志时,具体用于:

确定日志存储路径;

确定所述日志存储路径中的至少一个日志文件;

为每个所述日志文件设置一个采集进程;

利用每个所述采集进程采集对应的日志文件中的所述待处理日志;

记录每个所述采集进程采集对应的日志文件时的偏移量;

当与任一目标日志文件的连接发生中断时,实时监测与所述目标日志文件的连接是否重新建立,如果是,则获取所述目标日志文件对应的偏移量,从所述目标日志文件对应的偏移量开始,利用所述目标日志文件对应的采集进程继续从所述目标日志文件采集所述待处理日志。

进一步地,

所述日志获取单元,进一步用于当检测到所述logstash的解析和过滤处理的过程发生数据拥塞时,降低获取所述待处理日志的速度,在检测到所述logstash的解析和过滤处理的过程的数据拥塞解除时,恢复获取所述待处理日志的速度。

进一步地,

该装置进一步包括:

正则设置单元,用于设置正则表达式;

所述解析过滤单元,进一步用于:

将解析和过滤后的所述待处理日志按照所述正则表达式转换为结构化数据;

将转换为结构化数据的所述待处理日志发送给所述elasticsearch;

所述日志存储单元,用于利用所述elasticsearch存储转换为结构化数据的所述待处理日志。

进一步地,

所述日志获取单元,进一步用于与logstash建立基于tls的双向认证连接;

所述日志获取单元,在执行所述将获取的所述待处理日志发送给logstash时,具体用于:

将获取的所述待处理日志进行加密;

将加密后的所述待处理日志通过所述双向认证连接发送给所述logstash。

进一步地,

该装置进一步包括:

代理设置单元,用于为所述kibana设置反向代理;

所述展示单元,用于利用所述kibana通过所述反向代理向用户展示所述待处理日志。

在本发明实施例中,从日志来源获取到待处理日志之后发送给logstash,由logstash进行解析和过滤处理,通过解析和过滤处理可以识别出待处理日志中的有用的信息,过滤掉垃圾数据,在用户查看时,不会受到垃圾数据的干扰,另外,利用kibana向用户展示待处理日志,实现了日志的可视化,使得用户能够更加方便的对日志进行管理,提升了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一实施例提供的一种日志管理的方法的流程图;

图2是本发明一实施例提供的另一种日志管理的方法的流程图

图3是本发明一实施例提供的一种日志管理的装置的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种日志管理的方法,该方法可以包括以下步骤:

步骤101:确定日志来源;

步骤102:从所述日志来源获取待处理日志;

步骤103:将获取的所述待处理日志发送给logstash;

步骤104:利用logstash对获取的所述待处理日志进行解析和过滤处理,将解析和过滤处理后的待处理日志发送给elasticsearch;

步骤105:利用所述elasticsearch存储接收到的所述待处理日志;

步骤106:利用kibana向用户展示所述待处理日志。

在本发明实施例中,从日志来源获取到待处理日志之后发送给logstash,由logstash进行解析和过滤处理,通过解析和过滤处理可以识别出待处理日志中的有用的信息,过滤掉垃圾数据,在用户查看时,不会受到垃圾数据的干扰,另外,利用kibana向用户展示待处理日志,实现了日志的可视化,使得用户能够更加方便的对日志进行管理,提升了用户体验。

在本发明一实施例中,所述确定日志来源,包括:

确定日志存储路径;

确定所述日志存储路径中的至少一个日志文件;

所述从所述日志来源获取待处理日志,包括:

为每个所述日志文件设置一个采集进程;

利用每个所述采集进程采集对应的日志文件中的所述待处理日志;

记录每个所述采集进程采集对应的日志文件时的偏移量;

当与任一目标日志文件的连接发生中断时,实时监测与所述目标日志文件的连接是否重新建立,如果是,则获取所述目标日志文件对应的偏移量,从所述目标日志文件对应的偏移量开始,利用所述目标日志文件对应的采集进程继续从所述目标日志文件采集所述待处理日志。

在本发明实施例中,记录每个采集进程采集对应的日志文件时的偏移量,当连接中断时,能够记录下连接中断时的偏移量,在重新建立连接后,根据记录的连接中断时的偏移量继续进行待处理日志的采集,能够保证了日志采集的完整性,避免了的采集日志发生缺失的问题。

具体地,偏移量可以具体到日志文件的第几行。

在本发明一实施例中,该方法进一步包括:

当检测到所述logstash的解析和过滤处理的过程发生数据拥塞时,降低获取所述待处理日志的速度,在检测到所述logstash的解析和过滤处理的过程的数据拥塞解除时,恢复获取所述待处理日志的速度。

在本发明实施例中,可以根据解析和过滤处理的过程的情况来调节获取待处理日志的速度,在解析和过滤处理的过程发生数据拥塞时,可以降低获取待处理日志的速度,这样,能够避免logstash出现超负荷的情况。

在本发明一实施例中,该方法进一步包括:

预先设置正则表达式;

在所述利用所述elasticsearch存储接收到的所述待处理日志之前,进一步包括:

将解析和过滤后的所述待处理日志按照所述正则表达式转换为结构化数据;

将转换为结构化数据的所述待处理日志发送给所述elasticsearch;

所述利用所述elasticsearch存储接收到的所述待处理日志,包括:

利用所述elasticsearch存储转换为结构化数据的所述待处理日志。

由于日志数据一般都是非结构化数据,而且包含很多不必要的信息,在本发明实施例中,通过正则表达式对待处理日志进行转换,转换为结构化数据,这样便于后续elasticsearch和kibana的处理。

在设置正则表达式时,可以预先设置多个供用户选择,例如日志、邮箱地址、ipv4/v6等正则表达式。

在本发明一实施例中,该方法进一步包括:

预先与logstash建立基于tls的双向认证连接;

所述将获取的所述待处理日志发送给logstash,包括:

将获取的所述待处理日志进行加密;

将加密后的所述待处理日志通过所述双向认证连接发送给所述logstash。

在本发明实施例中,与logstash建立基于tls的双向认证连接,使用tls进行双向认证加密,保证只向可信的logstash发送加密的待处理日志,并且,logstash也只接收可信的的待处理日志。

在本发明一实施例中,该方法进一步包括:

为所述kibana设置反向代理;

所述利用kibana向用户展示所述待处理日志,包括:

利用所述kibana通过所述反向代理向用户展示所述待处理日志。

在本发明实施例中,通过反向代理向用户展示待处理日志,避免用户直接访问kibana的服务器,保证了待处理日志和kibana的安全。

另外,可以在反向代理上实现用户认证,进一步提高安全性。

可以在反向代理上实现负载均衡,提高对待处理日志的访问性能。

可以通过nginx来实现反向代理。

如图2所示,本发明实施例提供了一种日志管理的方法,该方法可以包括以下步骤:

步骤201:预先设置正则表达式,预先与logstash建立基于tls的双向认证连接。

通过tls可以保证通信的安全。

也可以与logstash建立基于ssl(securesocketslayer,安全套接层)的连接。

步骤202:确定日志存储路径。

具体地,用户在使用是可以指定日志存储路径,可以同时存储多个日志存储路径。

步骤203:确定日志存储路径中的至少一个日志文件。

具体地,这些日志文件可以来自与不同的应用。

步骤204:为每个日志文件设置一个采集进程。

步骤205:利用每个采集进程采集对应的日志文件中的待处理日志。

具体地,通过该步骤实现对日志的搜集。

另外,可以实时执行以下处理:

记录每个采集进程采集对应的日志文件时的偏移量;

当与任一目标日志文件的连接发生中断时,实时监测与目标日志文件的连接是否重新建立,如果是,则获取目标日志文件对应的偏移量,从目标日志文件对应的偏移量开始,利用目标日志文件对应的采集进程继续从目标日志文件采集待处理日志。

步骤206:将获取的待处理日志进行加密,将加密后的待处理日志通过双向认证连接发送给logstash。

通过双向认证连接可以保证待处理日志的传输安全。

步骤207:利用logstash对获取的待处理日志进行解析和过滤处理。

具体地,通过对待处理日志进行解析和过滤处理,可以将各种不同的应用的待处理日志进行统一规范,统一成相同的格式,便于后续的处理。

步骤208:将解析和过滤后的待处理日志按照正则表达式转换为结构化数据。

具体地,将看似毫无意义、非结构化的日志数据解析成可查询的结构化数据。

步骤209:将转换为结构化数据的待处理日志发送给elasticsearch。

步骤210:利用elasticsearch存储转换为结构化数据的待处理日志。

步骤211:利用kibana向用户展示待处理日志。

具体地,通过kibana可以按照统计图表方式来展示待处理日志。

另外,可以为kibana设置反向代理;

利用kibana通过反向代理向用户展示待处理日志。

本发明实施例适用于大数据平台的日志管理。

在本发明实施例中,将原有的只能通过文本编辑器查看日志的方式转变为可视化页面管理,实现了分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点,能对大容量的日志进行接近实时的存储、搜索和分析操作。

本发明实施例能够对大容量的日志数据进行实时的存储、搜索和分析操作,能够支持动态的从各种数据源搜集日志数据,并对日志数据进行过滤、分析、丰富、统一格式等操作,并且具有高可伸缩、高可靠和易管理等特点。

本发明实施例能够提高大数据平台日志处理的速度,简化大数据平台日志处理的流程,增强了日志的处理能力、搜索能力、过滤匹配能力和可视化展示能力,提高了大数据平台日志处理的可扩展性。本发明实施例实现了集中式的日志管理,让用户使用起来更加便利,可视化的操作增强了用户的体验。

本发明实施例能够集中管理大数据平台日志,快速高效的采集,安全可靠的加密传输,高速可靠的解析过滤,方便快捷的可视化展示。本发明实施例的架构具有高可伸缩、高可靠和易管理的特点,支持集中管理大数据平台日志。

如图3所示,本发明实施例提供了一种日志管理的装置,包括:

日志获取单元301,用于确定日志来源,从所述日志来源获取待处理日志,将获取的所述待处理日志发送给logstash;

解析过滤单元302,用于利用logstash对获取的所述待处理日志进行解析和过滤处理,将解析和过滤处理后的待处理日志发送给elasticsearch;

日志存储单元303,用于利用所述elasticsearch存储接收到的所述待处理日志;

展示单元304,用于利用kibana向用户展示所述待处理日志。

在本发明一实施例中,所述日志获取单元,在执行所述确定日志来源,从所述日志来源获取待处理日志时,具体用于:

确定日志存储路径;

确定所述日志存储路径中的至少一个日志文件;

为每个所述日志文件设置一个采集进程;

利用每个所述采集进程采集对应的日志文件中的所述待处理日志;

记录每个所述采集进程采集对应的日志文件时的偏移量;

当与任一目标日志文件的连接发生中断时,实时监测与所述目标日志文件的连接是否重新建立,如果是,则获取所述目标日志文件对应的偏移量,从所述目标日志文件对应的偏移量开始,利用所述目标日志文件对应的采集进程继续从所述目标日志文件采集所述待处理日志。

在本发明一实施例中,所述日志获取单元,进一步用于当检测到所述logstash的解析和过滤处理的过程发生数据拥塞时,降低获取所述待处理日志的速度,在检测到所述logstash的解析和过滤处理的过程的数据拥塞解除时,恢复获取所述待处理日志的速度。

在本发明一实施例中,该装置进一步包括:

正则设置单元,用于设置正则表达式;

所述解析过滤单元,进一步用于:

将解析和过滤后的所述待处理日志按照所述正则表达式转换为结构化数据;

将转换为结构化数据的所述待处理日志发送给所述elasticsearch;

所述日志存储单元,用于利用所述elasticsearch存储转换为结构化数据的所述待处理日志。

在本发明一实施例中,所述日志获取单元,进一步用于与logstash建立基于tls的双向认证连接;

所述日志获取单元,在执行所述将获取的所述待处理日志发送给logstash时,具体用于:

将获取的所述待处理日志进行加密;

将加密后的所述待处理日志通过所述双向认证连接发送给所述logstash。

在本发明一实施例中,该装置进一步包括:

代理设置单元,用于为所述kibana设置反向代理;

所述展示单元,用于利用所述kibana通过所述反向代理向用户展示所述待处理日志。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种日志管理的方法。

本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的执行指令,以使所述存储控制器执行本发明实施例提供的任意一种日志管理的方法。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,从日志来源获取到待处理日志之后发送给logstash,由logstash进行解析和过滤处理,通过解析和过滤处理可以识别出待处理日志中的有用的信息,过滤掉垃圾数据,在用户查看时,不会受到垃圾数据的干扰,另外,利用kibana向用户展示待处理日志,实现了日志的可视化,使得用户能够更加方便的对日志进行管理,提升了用户体验。

2、在本发明实施例中,记录每个采集进程采集对应的日志文件时的偏移量,当连接中断时,能够记录下连接中断时的偏移量,在重新建立连接后,根据记录的连接中断时的偏移量继续进行待处理日志的采集,能够保证了日志采集的完整性,避免了的采集日志发生缺失的问题。

3、在本发明实施例中,可以根据解析和过滤处理的过程的情况来调节获取待处理日志的速度,在解析和过滤处理的过程发生数据拥塞时,可以降低获取待处理日志的速度,这样,能够避免logstash出现超负荷的情况。

4、在本发明实施例中,将原有的只能通过文本编辑器查看日志的方式转变为可视化页面管理,实现了分布式搜索和分析引擎,具有高可伸缩、高可靠和易管理等特点,能对大容量的日志进行接近实时的存储、搜索和分析操作。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1