日志文件分析:从值部分中提取信息部分


10

我正在尝试在我们产品之一的多个日志文件上构建数据集。

不同的日志文件具有各自的布局和内容。我成功地将它们分组在一起,只剩下一步了...

确实,日志“消息”是最好的信息。我没有所有这些消息的完整列表,并且基于这些消息进行硬编码是一个坏主意,因为该列表每天都可能更改。

我想做的是将标识文本与值文本分开(例如:“ Loaded file XXX”变成(标识:“ Loaded file”,值:“ XXX”))。不幸的是,该示例很简单,并且在现实世界中存在不同的布局,有时还有多个值。

我当时在考虑使用字符串内核,但它是为了集群化而设计的……cluseting在这里不适用(我不知道各种类型的消息的数量,尽管那会太多)。

你有什么主意吗?

谢谢你的帮助。

PS:对于那些编程的人,这可能更容易理解。假设该代码包含printf(“ blabla%s”,“ xxx”)->我希望将“ blabla”和“ xxx”分开


您能否提供代表性的示例选择,以说明算法需要解析的各种项目?
Emre 2014年

2
有一百种方法可以做到这一点。大致了解您需要使用哪种工具或语言。这是否涉及数据科学方面?似乎只是日志解析。
肖恩·欧文

Answers:


3

如何将每个字符串都视为过程跟踪并应用alpha算法?这将为您提供图形,并且具有大量边缘的节点很可能会指向值。

您可以标记这些节点,并为每个新的字符串解析/遍历图形,直到到达这些区域。


非常感谢。我不知道阿尔法算法。我会朝那个方向检查。
Michael Hooreman 2014年

2

这似乎不是数据科学问题。但是,有非常好的工具可以结帐:logstash,flume和fluentd。实际上,如果您希望能够以快速,“智能”的方式进行过滤,请从ElastichSearch的人员那里检出Kibana(http://www.elasticsearch.org/overview/kibana)。这些工具足以以非常有效的方式解决您的问题。


我的观点是,特征提取是数据科学的一部分。好吧,这只是一种意见;-)更严重的是,我不是在谈论简单的标准日志文件,而是从非常特定的软件中定制文件。因此,这实际上是从上下文“句子”中提取信息
Michael Hooreman

1

如果您只是试图将文本和数字信息分开,那么有一种基于正则表达式甚至只是字符串拆分的解决方案。

您甚至可以执行类似查找第一个数字字符的操作,然后在此之前将文本分成两半。

使用正则表达式,您可以匹配彼此后面的所有数字字符。该模式将([0-9]+)带有全局标志。它将匹配所有数字组,之后您可以对它们进行任何处理。

Regex Tester非常适合玩这些东西。


谢谢劳里克。不幸的是,不仅有数字,而且我也不知道将来会有什么消息。所以,我真的需要AI。
Michael Hooreman 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.