一种日志分析方法及装置与流程

文档序号:33032988发布日期:2023-01-20 21:24阅读:22来源:国知局
一种日志分析方法及装置与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种日志分析方法及装置。


背景技术:

2.目前,随着互联网的不断发展,网络与人们生活变的息息相关。人们通过日志来定位网络出现的异常。现有方法中,通常使用putty和securecrt工具直接登录服务器查看异常日志文件,或使用catlog筛选异常级别的日志进行分析。然而,在实践中发现,异常日志量大且繁杂,从而导致现有方法分析效率低且容易遗漏,无法及时发现异常,从而无法及时对其进行解决,造成巨大的网络安全隐患。


技术实现要素:

3.本技术实施例的目的在于提供一种日志分析方法及装置,能够对异常日志进行全面排查分析,效率高,不容易遗漏,从而及时发现异常进行解决,进而避免出现网络安全隐患。
4.本技术实施例第一方面提供了一种日志分析方法,包括:
5.获取本地预先分类存储的多个异常日志集合;
6.逐一分析所述异常日志集合中的异常日志,得到分析结果;
7.根据所述分析结果将所述异常日志集合中的异常日志纳入异常统计列表;
8.根据所述异常统计列表进行异常出现次数倒序统计,得到统计结果;
9.汇总所述统计结果,得到日志分析结果并存储。
10.在上述实现过程中,该方法可以优先获取本地预先分类存储的多个异常日志集合;再逐一分析异常日志集合中的异常日志,得到分析结果;然后,再根据分析结果将异常日志集合中的异常日志纳入异常统计列表;再后,根据异常统计列表进行异常出现次数倒序统计,得到统计结果;最后,再汇总统计结果,得到日志分析结果并存储。可见,该方法能够对异常日志进行全面排查分析,效率高,不容易遗漏,从而及时发现异常进行解决,进而避免出现网络安全隐患。
11.进一步地,所述获取本地预先分类存储的多个异常日志集合,包括:
12.从应用户服务器下载异常日志;
13.按照应用维度对所述异常日志进行分类,得到分类好的多个异常日志集合;
14.存储所述异常日志集合。
15.进一步地,所述逐一分析所述异常日志集合中的异常日志,得到分析结果,包括:
16.逐行分析每个所述异常日志集合中的异常日志,得到每次过滤的异常关键字;
17.汇总所述异常关键字得到分析结果。
18.进一步地,所述根据所述分析结果将所述异常日志集合中的异常日志纳入异常统计列表,包括:
19.根据所述异常关键字判断所述异常日志集合中的异常日志是否为首行日志;
20.如果是首行日志,则判断所述异常日志是否为黑名单日志;
21.如果不是黑名单日志,则确定所述异常日志的日志类型;
22.当所述日志类型为关联方接口异常输出的日志类型时,则将所述异常日志纳入关联方异常统计列表;
23.当所述日志类型为应用本身缺陷输出的日志类型时,则将所述异常日志纳入自身代码缺陷异常统计列表;其中,所述异常统计列表包括所述关联方异常统计列表和所述自身代码缺陷异常统计列表。
24.进一步地,所述汇总所述统计结果,得到日志分析结果并存储,包括:
25.根据所述统计结果生成日志分析结果;其中,所述日志分析结果至少包括关联方异常接口统计结果、应用异常统计结果、异常日志对应的应用和服务器地址后缀;
26.存储所述日志分析结果。
27.本技术实施例第二方面提供了一种日志分析装置,所述日志分析装置包括:
28.获取单元,用于获取本地预先分类存储的多个异常日志集合;
29.分析单元,用于逐一分析所述异常日志集合中的异常日志,得到分析结果;
30.纳入单元,用于根据所述分析结果将所述异常日志集合中的异常日志纳入异常统计列表;
31.统计单元,用于根据所述异常统计列表进行异常出现次数倒序统计,得到统计结果;
32.汇总单元,用于汇总所述统计结果,得到日志分析结果并存储。
33.在上述实现过程中,该装置可以通过获取单元获取本地预先分类存储的多个异常日志集合;通过分析单元逐一分析异常日志集合中的异常日志,得到分析结果;通过纳入单元来根据分析结果将异常日志集合中的异常日志纳入异常统计列表;通过统计单元来根据异常统计列表进行异常出现次数倒序统计,得到统计结果;通过汇总单元来汇总统计结果,得到日志分析结果并存储。可见,该装置能够对异常日志进行全面排查分析,效率高,不容易遗漏,从而及时发现异常进行解决,进而避免出现网络安全隐患。
34.进一步地,所述获取单元包括:
35.下载子单元,用于从应用户服务器下载异常日志;
36.分类子单元,用于按照应用维度对所述异常日志进行分类,得到分类好的多个异常日志集合;
37.存储子单元,用于存储所述异常日志集合。
38.进一步地,所述分析单元包括:
39.分析子单元,用于逐行分析每个所述异常日志集合中的异常日志,得到每次过滤的异常关键字;
40.汇总子单元,用于汇总所述异常关键字得到分析结果。
41.进一步地,所述纳入单元包括:
42.判断子单元,用于根据所述异常关键字判断所述异常日志集合中的异常日志是否为首行日志;
43.所述判断子单元,还用于所述异常日志是首行日志时,判断所述异常日志是否为黑名单日志;
44.确定子单元,用于所述异常日志不是黑名单日志时,确定所述异常日志的日志类型;
45.纳入子单元,用于当所述日志类型为关联方接口异常输出的日志类型时,则将所述异常日志纳入关联方异常统计列表;
46.所述纳入子单元,还用于当所述日志类型为应用本身缺陷输出的日志类型时,则将所述异常日志纳入自身代码缺陷异常统计列表;其中,所述异常统计列表包括所述关联方异常统计列表和所述自身代码缺陷异常统计列表。
47.进一步地,所述汇总单元包括:
48.生成子单元,用于根据所述统计结果生成日志分析结果;其中,所述日志分析结果至少包括关联方异常接口统计结果、应用异常统计结果、异常日志对应的应用和服务器地址后缀;
49.汇总子单元,用于存储所述日志分析结果。
50.本技术实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术实施例第一方面中任一项所述的日志分析方法。
51.本技术实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术实施例第一方面中任一项所述的日志分析方法。
附图说明
52.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
53.图1为本技术实施例提供的一种日志分析方法的流程示意图;
54.图2为本技术实施例提供的另一种日志分析方法的流程示意图;
55.图3为本技术实施例提供的一种日志分析装置的结构示意图;
56.图4为本技术实施例提供的另一种日志分析装置的结构示意图;
57.图5为本技术实施例提供的一种日志黑名单行中字符串的示意图;
58.图6为本技术实施例提供的一种首行日志以时间戳开头并且带有日志级别信息的示意图;
59.图7为本技术实施例提供的一种异常出现的次数和首行error日志关键字的示意图。
具体实施方式
60.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
61.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
62.实施例1
63.请参看图1,图1为本技术实施例提供了一种日志分析方法的流程示意图。其中,该日志分析方法包括:
64.s101、获取本地预先分类存储的多个异常日志集合。
65.s102、逐一分析异常日志集合中的异常日志,得到分析结果。
66.s103、根据分析结果将异常日志集合中的异常日志纳入异常统计列表。
67.s104、根据异常统计列表进行异常出现次数倒序统计,得到统计结果。
68.s105、汇总统计结果,得到日志分析结果并存储。
69.目前,传统的测试环境的异常日志有几个特点:
70.①
异常日志量大且繁杂:有些团队的异常日志分布在多台服务器上,总量可以达到几百mb甚至几个g;
71.②
产生异常的原因繁杂:比如自身代码的缺陷、关联方接口异常、自动化测试用例异常场景下入参不正确,等等。
72.其中,在敏捷开发模式下开发和测试同事的时间非常宝贵,对异常日志文件中记录的error很难逐一归类分析,倘若遇到同类异常日志重复分析,那显然是在浪费时间且得不偿失。通过使用putty和securecrt工具直接登录服务器查看error.log文件,或使用catlog筛选error级别的日志分析异常,但是这两种方式都特别低效、容易遗漏、且不能直观发现哪些属于高发异常。遗漏分析某些异常或不知道哪些属于高发异常,如果在测试环境不及时发现并解决,那么代码投产将会造成巨大的安全隐患。
73.可见,该方法固化检索规则和固化统计输出标准,通过工具分析100mb的日志仅需几分钟即可输出统计分析结果。可见,该方法中不存在长耗时的问题,有助于提高测试异常问题的排查效率,其带来的好处也是显而易见的。
74.本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
75.在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
76.可见,实施本实施例所描述的日志分析方法,能够简化分析异常日志的能力并减低复杂度;还能够在异常归类总计后,直观看到哪些属于关联方接口的异常、哪些属于高发异常、哪些属于重点异常(如:nullpointerexception空指针异常、stackoverflowerror栈溢出异常);还能够避免漏分析某些异常,有利于降低生产安全隐患、维护系统稳定;还能够减少开发和测试花在排查异常上的时间。由此可见,该方法可以通过工具分析处理,可以把按天算的排查时间缩短至几分钟内解决。
77.实施例2
78.请参看图2,图2为本技术实施例提供了一种日志分析方法的流程示意图。其中,该日志分析方法包括:
79.s201、从应用户服务器下载异常日志。
80.s202、按照应用维度对异常日志进行分类,得到分类好的多个异常日志集合。
81.s203、存储异常日志集合。
82.s204、逐行分析每个异常日志集合中的异常日志,得到每次过滤的异常关键字。
83.s205、汇总异常关键字得到分析结果。
84.s206、根据异常关键字判断异常日志集合中的异常日志是否为首行日志,若是,则执行步骤s207;若否,则结束本流程。
85.s207、判断异常日志是否为黑名单日志,若是,则结束本流程;若否,则执行步骤s208。
86.s208、确定异常日志的日志类型。
87.s209、当日志类型为关联方接口异常输出的日志类型时,则将异常日志纳入关联方异常统计列表。
88.s210、当日志类型为应用本身缺陷输出的日志类型时,则将异常日志纳入自身代码缺陷异常统计列表;其中,异常统计列表包括关联方异常统计列表和自身代码缺陷异常统计列表。
89.s211、根据异常统计列表进行异常出现次数倒序统计,得到统计结果。
90.s212、根据统计结果生成日志分析结果;其中,日志分析结果至少包括关联方异常接口统计结果、应用异常统计结果、异常日志对应的应用和服务器地址后缀。
91.s213、存储日志分析结果。
92.举例来说,该方法在投产前的任意时段可以把异常日志下载到本地,再通过运行java application的方式自动分析异常日志做归类、统计、排序,从而针对性地处理每一类异常。其中,工具的工作流程可以如下:
93.①
把需要分析处理的应用服务器error.log文件下载到本地(支持多个文件一起分析),为了统计结果更清晰,应按应用维度分别放到不同的文件夹,文件以服务器ip命名;
94.②
按文件夹维度逐一分析每一份error日志,记录每次过滤的异常关键字,区分关联方接口异常日志或应用本身缺陷输出的日志;
95.③
异常堆栈信息有多行,通常第一行包含了自定义输出日志信息和异常类型。因此默认仅统计首行异常日志,即以时间戳为开头的日志(支持关键字配置,忽略黑名单中的异常);
96.1)日志黑名单:当前行中如包含如下字符串(如图5),将不做处理:
97.2)通过如下正则表达式判断是否为首行日志:
98.按照pafa日志的规范,首行日志以时间戳开头并且带有日志级别信息(如图6)。
99.④
分类统计异常接口和异常关键字,记录异常接口即关键字信息,以及出现的次数,并根据次数倒叙排序;
100.1)分类统计目的:直观展示哪些属于关联方接口异常日志,哪些属于自身代码缺陷输出的日志;
101.2)倒叙排序的目的:直观展示哪些属于高发异常;
102.⑤
产出分析结果文档,日志内容格式及解释如下;
103.1)为区分是哪个应用和哪台服务器上的异常日志,根据源文件的名称在分割行中输出应用appid和服务器ip后缀,方便后续登录服务器跟进排查具体异常原因;
104.2)关联方异常接口统计:异常出现的次数和关联方esa接口名;
105.3)异常日志统计:当前应用自身异常输出的日志,内容包括异常出现的次数和首行error日志关键字(如图7)。
106.本实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
107.在本实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
108.可见,实施本实施例所描述的日志分析方法,能够简化分析异常日志的能力并减低复杂度;还能够在异常归类总计后,直观看到哪些属于关联方接口的异常、哪些属于高发异常、哪些属于重点异常(如:nullpointerexception空指针异常、stackoverflowerror栈溢出异常);还能够避免漏分析某些异常,有利于降低生产安全隐患、维护系统稳定;还能够减少开发和测试花在排查异常上的时间。由此可见,该方法可以通过工具分析处理,可以把按天算的排查时间缩短至几分钟内解决。
109.实施例3
110.请参看图3,图3为本技术实施例提供的一种日志分析装置的结构示意图。如图3所示,该日志分析装置包括:
111.获取单元310,用于获取本地预先分类存储的多个异常日志集合;
112.分析单元320,用于逐一分析异常日志集合中的异常日志,得到分析结果;
113.纳入单元330,用于根据分析结果将异常日志集合中的异常日志纳入异常统计列表;
114.统计单元340,用于根据异常统计列表进行异常出现次数倒序统计,得到统计结果;
115.汇总单元350,用于汇总统计结果,得到日志分析结果并存储。
116.本实施例中,对于日志分析装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
117.可见,实施本实施例所描述的日志分析装置,能够简化分析异常日志的能力并减低复杂度;还能够在异常归类总计后,直观看到哪些属于关联方接口的异常、哪些属于高发异常、哪些属于重点异常(如:nullpointerexception空指针异常、stackoverflowerror栈溢出异常);还能够避免漏分析某些异常,有利于降低生产安全隐患、维护系统稳定;还能够减少开发和测试花在排查异常上的时间。由此可见,该装置可以通过工具分析处理,可以把按天算的排查时间缩短至几分钟内解决。
118.实施例4
119.请参看图4,图4为本技术实施例提供的一种日志分析装置的结构示意图。如图4所示,该日志分析装置包括:
120.获取单元310,用于获取本地预先分类存储的多个异常日志集合;
121.分析单元320,用于逐一分析异常日志集合中的异常日志,得到分析结果;
122.纳入单元330,用于根据分析结果将异常日志集合中的异常日志纳入异常统计列表;
123.统计单元340,用于根据异常统计列表进行异常出现次数倒序统计,得到统计结果;
124.汇总单元350,用于汇总统计结果,得到日志分析结果并存储。
125.作为一种可选的实施方式,获取单元310包括:
126.下载子单元311,用于从应用户服务器下载异常日志;
127.分类子单元312,用于按照应用维度对异常日志进行分类,得到分类好的多个异常日志集合;
128.存储子单元313,用于存储异常日志集合。
129.作为一种可选的实施方式,分析单元320包括:
130.分析子单元321,用于逐行分析每个异常日志集合中的异常日志,得到每次过滤的异常关键字;
131.汇总子单元322,用于汇总异常关键字得到分析结果。
132.作为一种可选的实施方式,纳入单元330包括:
133.判断子单元331,用于根据异常关键字判断异常日志集合中的异常日志是否为首行日志;
134.判断子单元331,还用于异常日志是首行日志时,判断异常日志是否为黑名单日志;
135.确定子单元332,用于异常日志不是黑名单日志时,确定异常日志的日志类型;
136.纳入子单元333,用于当日志类型为关联方接口异常输出的日志类型时,则将异常日志纳入关联方异常统计列表;
137.纳入子单元333,还用于当日志类型为应用本身缺陷输出的日志类型时,则将异常日志纳入自身代码缺陷异常统计列表;其中,异常统计列表包括关联方异常统计列表和自身代码缺陷异常统计列表。
138.作为一种可选的实施方式,汇总单元350包括:
139.生成子单元351,用于根据统计结果生成日志分析结果;其中,日志分析结果至少包括关联方异常接口统计结果、应用异常统计结果、异常日志对应的应用和服务器地址后缀;
140.汇总子单元352,用于存储日志分析结果。
141.本实施例中,对于日志分析装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
142.可见,实施本实施例所描述的日志分析装置,能够简化分析异常日志的能力并减低复杂度;还能够在异常归类总计后,直观看到哪些属于关联方接口的异常、哪些属于高发异常、哪些属于重点异常(如:nullpointerexception空指针异常、stackoverflowerror栈溢出异常);还能够避免漏分析某些异常,有利于降低生产安全隐患、维护系统稳定;还能够减少开发和测试花在排查异常上的时间。由此可见,该装置可以通过工具分析处理,可以把按天算的排查时间缩短至几分钟内解决。
143.本技术实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本技术实施例1或实施例2中的日志分析方法。
144.本技术实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,计算机程序指令被一处理器读取并运行时,执行本技术实施例1或实施例2中的日志分析方法。
145.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图
显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
146.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
147.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
148.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
149.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
150.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1