Syslog上的异常检测

时间:2014-03-27 10:47:33

标签: machine-learning pattern-matching syslog

我想知道,如果有人知道计算机日志中的开源异常检测算法?例如,计算机日志如下所示:

“value UL-CCCH-Message :: = {integrityCheckInfo {messageAuthenticationCode 0,rrc-MessageSequenceNumber 0},message cellUpdate:{u-RNTI {srnc-Identity 232,s-RNTI 178710},startList {{cn-DomainIdentity ps-domain,start-Value 58}},am-RLC-ErrorIndicationRb2-3or4 FALSE,am-RLC-ErrorIndicationRb5或者FALSE,cellUpdateCause cellReselection,rb-timer-indicator {t314-expired FALSE,t315-expired FALSE},measuredResultsOnRACH {currentCell {modeSpecificInfo fdd:{measurementQuantity cpich-Ec-N0:24}}}}“

有方法,我可以从日志中提取功能并对时间序列数据应用异常检测,但还有一种方法是我将自动从日志中发现一般模式并制定规则/标准,如果将来的日志属于一般模式,如果不是那么它的异常。我想知道在日志中找到自动模式发现的任何算法。

如果您有专业知识,请分享您的想法。

由于 亲切的问候, 窗扇

2 个答案:

答案 0 :(得分:2)

您问题的直接答案是 - 您提供的计算机日志没有开源异常检测算法(我猜输出来自电信BTS,对吧?)。

只有异常检测算法 - 如频繁模式挖掘,k-means等等。

大多数情况下,所有异常检测算法都可以作为Python,R,Matlab等编程包的一部分使用。因此,我们不需要寻找算法。

现在我认为你真正的问题是:

  

有方法,我可以从日志中提取功能并对时间序列数据应用异常检测,但还有一种方法是我将自动从日志中发现一般模式并制定规则/标准,如果将来的日志属于一般模式,如果不是那么它的异常。我想知道在日志中找到自动模式发现的任何算法。

上面没有现成的系统。我建议的最佳选择是:使用SumoLogic / Splunk或类似类型的解决方案进行基于文本的搜索。这些工具将帮助您解决问题。然而,最终,这些异常的准确性将成为一个问题。

因此,答案是:您需要构建一个自定义ML系统(具有特征提取+优化+算法+可视化)来解决检测时间序列BTS计算机日志中的异常问题。您的可交付成果(您正在提供什么 - 异常,见解,分析)将对您将使用的算法,功能和参数产生重大影响。

我已经在上面工作超过一年半了,我真的建议你从小事做起 - 比如基于文本的搜索软件 - 它对于日常技术支持的故障排除来说已经足够了。 / p>

P.S。一个小技巧 - 看看人们如何在网络安全中构建入侵检测系统 - 他们正在解决相同的问题(正常与异常异常,基于序列的分析等)。

答案 1 :(得分:0)

以下是基于本文的方法:Enterprise search。它是基于基于文本的搜索平台开发的 - Apache Solr

  1. 根据窗口对日志进行分组,例如时间窗
  2. 计算每个组或窗口的术语统计信息。即特征提取。
  3. 对时间序列数据应用一般异常检测算法(不同时间窗口的术语统计)
  4. 根据异常信息查找异常日志