python ide_IDE日志分析方法pt。 2

python ide

python ide

介绍

第一部分中,我解释了日志分析的理论方法,我认为这对维持工程师最有效。 这位工程师不需要在日志出现时立即对其进行分析,而是专注于对复杂问题的深入分析。 在第二部分中,我将展示一个复杂的模板可以涵盖许多搜索方案并显示一个有效的原型。

搜索对象模板

搜索模板的主要要求是它必须是复杂的,在最佳情况下必须非常复杂。 手动搜索越少越好。 复杂的模板应完成大部分工作并快速完成。 由于我们这里没有任何服务器,因此只有预期可处理2-3 GB日志速度的开发人员PC也很重要。

主要正则表达式

模板应声明一些正则表达式,这些正则表达式将在日志中搜索(使用Matcher.find)。 如果首先声明一个以上,则收集第一个的结果,然后收集第二个的结果,等等。在最一般的意义上,搜索结果是String数组– List <String>。

验收标准

并非所有结果都被搜索过程接受。 例如,工程师可以搜索除“ X”以外的所有连接类型。 然后,他或她可以创建一个接受标准并过滤掉它们。 通过指定正则表达式“除X外的任何类型”。 另一种可能性是在时间间隔内搜索。 工程师可以搜索10到12个小时之间的任何日志记录(他或她必须输入课程的完整日期)。

寻找不同的表达也是可能的。 在这种情况下,工程师指定了一个以上的正则表达式(一般情况下,一个以上)。 一个例子将更好地解释这个概念。

不同的正则表达式:

connection type (q|w)

主正则表达式找到的日志记录:

connection type w found
connection type q created
connection type s destroyed
connection type q found

独特搜索的结果:

connection type w found
connection type q created

参量

正则表达式的问题之一是,真正有用的正则表达式非常长且笨拙。 以下是日志中的样本日期:

2018-08-06 10:32:12.234

这是它的正则表达式:

\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d.\d\d\d

解决方案非常简单–使用替代。 我称它们为正则表达式的参数。 有些参数可能像记录时间一样是静态的,但有些则可能由用户定义。 在执行之前,立即将参数替换为实际值。

观看次数

搜索的结果是日志记录,即类似

2018-08-06 10:32:12.234 [Thread-1] DEBUG - Connection 1234 moved from state Q to state W \r?\n

尽管找到模板中定义的内容非常好,但最好将信息分成有用的部分。 例如,此表以简洁明了的方式表示该记录中的所有有用信息:

连接 1234-> w ^

要提取这些信息,我们可以使用“查看”方法。 这意味着声明在日志记录中搜索的较小的正则表达式,并返回有关日志记录的信息。 就像该日志记录的视图一样。 将所有内容显示在表格中将使其更易于阅读。 表也​​可以按任何列排序。

排序与合并

使用模板进行这种搜索的最有效方法是使用线程池,并将每个线程分配给日志文件。 假设池中有3-4个线程,则搜索速度将提高3-4倍。 但是合并结果成为一个重要的问题。 这里可以有2个解决方案:

  1. 合并结果。 我们需要确保结果按正确的顺序排列。 如果我们有3个日志文件,第一个覆盖10-12小时,第二个12-14,第三个14-17,则这些文件的搜索结果必须以相同的顺序进行。 这称为合并。
  2. 排序结果。 除了合并它们,我们还可以按日期和时间对其进行排序。 不太复杂但简单。

合并看起来是一种更高级的技术,它使我们能够保留记录的原始顺序。

工作流程

日志分析

最后的想法

在本文中达到这一点的每个人都必须困扰的问题是:是否有人试图实现所有这些? 答案是肯定的! 有一个基于Eclipse框架的工作应用程序,其中包括Spring XML配置和许多其他内容。 搜索对象模板的工作方式如本文所述。

这是Github链接:

https://github.com/xaltotungreat/regex-analyzer-0

为什么是0? 好吧,这本来应该是一个原型,并且在某种程度上仍然是原型。 我称这个应用程序为REAL

[R egularËXpressions分析仪对于L OGS

假定用户具有一些如何导出Eclipse RCP应用程序或如何从Eclipse IDE中启动它的知识。 不幸的是,我没有足够的时间来编写有关它的任何好的文档。 默认情况下,它可以分析HBase日志,并且config文件夹中有很多示例。

翻译自: https://www.javacodegeeks.com/2018/11/ide-approach-log-analysis-pt-2.html

python ide

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值