您的位置:首页 > 其它

基于日志的实时分析方法及系统

2016-06-25 14:35 399 查看
摘要

本发明提供一种基于日志的实时分析方法及系统。根据所述方法,所述系统实时获取至少一个应用所对应的日志文件中符合预设标签的日志信息,并按照所述标签将所获取的日志信息进行分配;将属于同一标签的日志信息进行日志分析,并基于所述标签展示分析结果。本发明按照标签对各日志信息进行分配,能够以分布式的方式,快速的对日志信息进行分析,解决了日志分析时效滞后的问题。

说明

基于日志的实时分析方法及系统
技术领域

[0001] 本发明涉及一种数据挖掘领域,特别是涉及一种基于日志的实时分析方法及系统。

背景技术

[0002] 技术人员通过记录应用运行的日志的方式,能够获取应用运行过程中对应用户行为的数据、异常信息、系统错误等。根据所获取的日志记录,技术人员不仅能够确定产生某个错误/异常的原因,还能据此对相应的应用代码进行改进。然而,随着大数据时代的来临,传统的日志分析和推送方式无法实时的更新,技术人员永远滞后的获取日志信息。此夕卜,由于数据量巨大,导致数据的采集、传输等对计算机系统的性能要求过高。

[0003] 因此,需要对现有技术进行改进。

发明内容

[0004] 鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于日志的实时分析方法及系统,用于解决现有技术中日志分析时效滞后的问题。

[0005] 为实现上述目的及其他相关目的,本发明提供一种基于日志的实时分析方法,包括:实时获取至少一个应用所对应的日志文件中符合预设标签的日志信息,并按照所述标签将所获取的日志信息进行分配;将属于同一标签的日志信息进行日志分析,并基于所述标签展示分析结果。

[0006] 优选地,所述标签包括以下至少一种:错误标签、警告标签、异常标签、和信息标签。

[0007] 优选地,所述按照标签将所获取的日志信息进行分配的方式包括:根据预设标签将所获取的日志信息分配给基于所述标签分类的分布式文件服务器;

[0008] 所述将属于同一标签的日志信息进行日志分析的方式包括:由所述分布式文件服务器基于预设时间段和/或所获取的日志信息所对应的应用,将属于同一标签的各日志信息进行日志分析,得到日志分析结果;所述日志分析结果包括以下至少一种:相应标签所对应的各日志信息的产生原因及其数量统计、相应标签所对应的各日志信息的正常类型和异常类型。

[0009] 优选地,在将属于同一标签的日志信息进行日志分析的步骤之后,还包括:各所述分布式文件服务器将所得到的日志分析结果汇总保存在数据库中。

[0010] 优选地,所述基于标签展示分析结果的方式包括:将同一标签下的日志分析结果进行近似度统计,展示近似度大于预设近似度阈值各日志分析结果。

[0011] 基于上述目的,本发明还提供一种基于日志的实时分析系统,包括:日志获取模块,用于实时获取至少一个应用所对应的日志文件中符合预设标签的日志信息,并按照所述标签将所获取的日志信息进行分配;日志分析模块,用于将属于同一标签的日志信息进行日志分析,并基于所述标签展示分析结果。

[0012] 优选地,所述标签包括以下至少一种:错误标签、警告标签、异常标签、和信息标签。

[0013] 优选地,所述日志获取模块还用于根据预设标签将所获取的日志信息分配给基于所述标签分类的所述日志分析模块中的分布式文件服务器;

[0014] 所述分布式文件服务器用于基于预设时间段和/或所获取的日志信息所对应的应用,将属于同一标签的各日志信息进行日志分析,得到日志分析结果;所述日志分析结果包括以下至少一种:相应标签所对应的各日志信息的产生原因及其数量统计、相应标签所对应的各日志信息的正常类型和异常类型。

[0015] 优选地,各所述分布式文件服务器将所得到的日志分析结果汇总保存在数据库中。

[0016] 优选地,所述日志分析模块还用于将同一标签下的日志分析结果进行近似度统计,展示近似度大于预设近似度阈值各日志分析结果。

[0017] 如上所述,本发明的基于日志的实时分析方法及系统,具有以下有益效果:通过实时获取日志文件中的日志信息,并按照标签对各日志信息进行分配,能够以分布式的方式,快速的对日志信息进行分析,解决了日志分析时效滞后的问题;同时,按照标签进行日志分析,相比于全数据分析,能够更有针对性的确定产生日志的行为、原因等,有利于技术人员快速定位问题;还有,采用分布式文件服务器相比于采用多个分析线程进行日志分析,实现真正的同步日志挖掘和处理;此外,将分析结果做近似度统计,能够为技术人员提供多分析结果参考,进一步帮助技术人员进行改进。

附图说明

[0018] 图1显示为本发明的基于日志的实时分析方法的流程图。

[0019] 图2显示为本发明的基于日志的实时分析系统的结构示意图。

[0020] 图3显示为本发明的基于日志的实时分析系统的一种优选方案的结构示意图。



具体实施方式

[0021] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

[0022] 请参阅图1。本发明提供一种基于日志的实时分析方法。所述分析方法主要由分析系统来执行。所述分析系统包括:日志服务器。可选的还包括:分布式文件服务器、数据库、查询服务器等。

[0023] 所述日志服务器与应用服务器相连,能够同时获取所述应用服务器运行过程中至少一个应用的日志文件。所述日志文件包括但不限于:基于logj4技术记录的日志文件等。

[0024] 在步骤SI中,所述日志服务器实时收集至少一个应用所对应的日志文件中符合预设标签的日志信息,并按照所述标签将所获取的日志信息进行分配。

[0025] 在此,所述标签包括但不限于以下至少一种:错误标签、警告标签、异常标签、和信息标签。例如,在基于logj4技术所记录的日志文件中,错误标签为error,警告标签为warn、异常标签为except1n、信息标签为info。

[0026] 具体地,所述日志服务器可周期循环的从各应用的日志文件的新增部分读取符合预设的各标签的日志信息,再按照各所述标签将所获取的所有日志信息分配给相应的分析软件,由各分析软件执行步骤S2。

[0027] 优选地,利用Flume技术,所述应用服务器中的每个日志线程配置有一个或几个标签,各日志线程从各应用的日志文件中读取与所配置的标签相符的日志信息,并传至所述日志服务器。再由所述日志服务器根据预设标签将所获取的日志信息分配给基于所述标签分类的分布式文件服务器。由所述分布式文件服务器执行步骤S2。

[0028] 在步骤S2中,将属于同一标签的日志信息进行日志分析,并基于所述标签展示分析结果。

[0029] 具体地,所述分布式文件服务器基于预设时间段和/或所获取的日志信息所对应的应用,将属于同一标签的各日志信息进行日志分析,得到日志分析结果;所述日志分析结果包括以下至少一种:相应标签所对应的各日志信息的产生原因及其数量统计、相应标签所对应的各日志信息的正常类型和异常类型。

[0030] 其中,所述预设时间段举例为:最近I秒内、最近I分钟内、最近2小时内、从Al时间至A2时间内等等。

[0031] 所述分布式文件服务器在预设的时间段内将某个应用/多个应用的日志信息按照预设的关键字、和/或文本格式进行归类,以得到分析结果。进一步的还可以按照关键字在文本格式中的位置进行统计,丰富所述分析结果。其中,所述文本格式是日志信息中预先按照应用名称、日志产生原因、日志内容进行划分的。

[0032] 例如,日志服务器在预设时间段内分配给分布式文件服务器Serverl的标签均为error,对应的日志信息包括-1ogl为[应用名称l]abc:def、log2为[应用名称2]abcl23:def234,所述分布式文件服务器Serverl通过预设的文本格式确定“[]”之内的日志部分为应用名称,确定“:”之前的日志部分为错误产生原因、之后的部分为错误的内容。接着,所述分布式文件服务器Serverl按照预设的关键字确定1gl的错误产生原因包含“bcl”的日志信息归为一类,其他日志信息归为一类,再对归类后的日志信息的数量进行统计,以得到错误产生原因及其数量、和错误内容及其数量的分析结果。

[0033] 需要说明的是,本领域技术人员应该理解,上述分析方式仅为举例。事实上,在大数据分析领域中,还有其他算法将属于同一标签的日志信息进行日志分析,得到日志分析结果,均应涵盖在本发明所述范围之内。

[0034] 在此,所述分布式文件服务器可按照预先设置的推送时间、或者实时的将所述分析结果提供给技术人员。例如,以发送邮件、弹出自刷新网页等方式提供给技术人员。

[0035] 优选地,各所述分布式文件服务器将所得到的日志分析结果汇总保存在数据库中。其中,所述数据库举例为mySQL。查询服务器可从数据库中提取日志分析结果,并以统计图表等形式发送给技术人员。

[0036] 又一种优选方案中,所述查询服务器/分布式文件服务器将同一标签下的日志分析结果进行近似度统计,展示近似度大于预设近似度阈值各日志分析结果。

[0037] 例如,所述查询服务器按照字符一致的数量和文本字符总数的比例,计算日志分析结果中各日志产生原因之间的近似度,若两个或更多的日志分析结果中日志产生原因之间的近似度大于预设的近似度阈值,则将相应的日志分析结果以表格比对的方式提供给技术人员,以供技术人员参考。如此,能够为技术人员提供更多的日志分析比对信息。

[0038] 请参阅图2。本发明提供一种基于日志的实时分析系统。所述分析系统I包括:日志服务器。可选的还包括:分布式文件服务器、数据库、查询服务器等。如图3所示。所述分析系统I包括:日志获取模块11、日志分析模块12。所述日志获取模块11可位于所述日志服务器中。所述日志分析模块12可位于所述日志服务器中,优选地,包含所述日志服务器、数据库、查询服务器。

[0039] 所述日志服务器与应用服务器相连,能够同时获取所述应用服务器运行过程中至少一个应用的日志文件。所述日志文件包括但不限于:基于logj4技术记录的日志文件等。

[0040] 所述日志获取模块11用于实时收集至少一个应用所对应的日志文件中符合预设标签的日志信息,并按照所述标签将所获取的日志信息进行分配。

[0041] 在此,所述标签包括但不限于以下至少一种:错误标签、警告标签、异常标签、和信息标签。例如,在基于logj4技术所记录的日志文件中,错误标签为error,警告标签为warn、异常标签为except1n、信息标签为info。

[0042] 具体地,所述日志获取模块11可周期循环的从各应用的日志文件的新增部分读取符合预设的各标签的日志信息,再按照各所述标签将所获取的所有日志信息分配给相应的包含分析软件的日志分析模块12。

[0043] 优选地,利用Flume技术,所述应用服务器中的每个日志线程配置有一个或几个标签,各日志线程从各应用的日志文件中读取与所配置的标签相符的日志信息,并传至所述日志获取模块11。再由所述日志获取模块11根据预设标签将所获取的日志信息分配给基于所述标签分类的分布式文件服务器,由所述分布式文件服务器启动所述日志分析模块

12ο

[0044] 所述日志分析模块12用于将属于同一标签的日志信息进行日志分析,并基于所述标签展示分析结果。

[0045] 具体地,所述日志分析模块12基于预设时间段和/或所获取的日志信息所对应的应用,将属于同一标签的各日志信息进行日志分析,得到日志分析结果;所述日志分析结果包括以下至少一种:相应标签所对应的各日志信息的产生原因及其数量统计、相应标签所对应的各日志信息的正常类型和异常类型。

[0046] 其中,所述预设时间段举例为:最近I秒内、最近I分钟内、最近2小时内、从Al时间至Α2时间内等等。

[0047] 所述日志分析模块12在预设的时间段内将某个应用/多个应用的日志信息按照预设的关键字、和/或文本格式进行归类,以得到分析结果。进一步的还可以按照关键字在文本格式中的位置进行统计,丰富所述分析结果。其中,所述文本格式是日志信息中预先按照应用名称、日志产生原因、日志内容进行划分的。

[0048] 例如,所述日志获取模块11在预设时间段内分配给分布式文件服务器Serverl的标签均为error,对应的日志信息包括:logl为[应用名称l]abc:def、log2为[应用名称2]abcl23:def234,所述日志分析模块12中的分布式文件服务器Serverl通过预设的文本格式确定“ □”之内的日志部分为应用名称,确定“:”之前的日志部分为错误产生原因、之后的部分为错误的内容。接着,所述分布式文件服务器Serverl按照预设的关键字确定1gl的错误产生原因包含“bcl”的日志信息归为一类,其他日志信息归为一类,再对归类后的日志信息的数量进行统计,以得到错误产生原因及其数量、和错误内容及其数量的分析结果。

[0049] 需要说明的是,本领域技术人员应该理解,上述分析方式仅为举例。事实上,在大数据分析领域中,还有其他算法将属于同一标签的日志信息进行日志分析,得到日志分析结果,均应涵盖在本发明所述范围之内。

[0050] 在此,所述分布式文件服务器可按照预先设置的推送时间、或者实时的将所述分析结果提供给技术人员。例如,以发送邮件、弹出自刷新网页等方式提供给技术人员。

[0051] 优选地,各所述分布式文件服务器将所得到的日志分析结果汇总保存在数据库中。其中,所述数据库举例为mySQL。查询服务器可从数据库中提取日志分析结果,并以统计图表等形式发送给技术人员。

[0052] 又一种优选方案中,所述日志分析模块12还用于将同一标签下的日志分析结果进行近似度统计,展示近似度大于预设近似度阈值各日志分析结果。

[0053] 例如,所述日志分析模块12按照字符一致的数量和文本字符总数的比例,计算日志分析结果中各日志产生原因之间的近似度,若两个或更多的日志分析结果中日志产生原因之间的近似度大于预设的近似度阈值,则将相应的日志分析结果以表格比对的方式提供给技术人员,以供技术人员参考。如此,能够为技术人员提供更多的日志分析比对信息。

[0054] 综上所述,本发明的基于日志的实时分析方法及系统,通过实时获取日志文件中的日志信息,并按照标签对各日志信息进行分配,能够以分布式的方式,快速的对日志信息进行分析,解决了日志分析时效滞后的问题;同时,按照标签进行日志分析,相比于全数据分析,能够更有针对性的确定产生日志的行为、原因等,有利于技术人员快速定位问题;还有,采用分布式文件服务器相比于采用多个分析线程进行日志分析,实现真正的同步日志挖掘和处理;此外,将分析结果做近似度统计,能够为技术人员提供多分析结果参考,进一步帮助技术人员进行改进。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

[0055] 上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息