我最近获得了大量的服务器日志数据(在新工作中)。我在大学的机器学习方面有一些经验。日志数据包括服务器日志,数据库访问日志等。我想知道从这样的数据中可以做什么样的学习。
我尝试过的一件小事就是根据过去一周的数据预测当天某个小时的请求数量,这似乎没问题,但这有点微不足道。所以,
答案 0 :(得分:26)
看一看 Wei Xu等(2010)Experience on Mining Google's Production Console Logs 以及他们引用的工作。简而言之:
你可能做不到1.但也许你可以提取编写自己的“解析器”的变量。
此外,还有一个DARPA challenge来发现此类数据中的攻击,但那是近15年前的事了。
有一些像splunk这样的工具,但除了简洁的界面之外,它们除了简单的搜索和过滤之外没有提供太多的东西。更新:prelert有一个异常检测插件。
我不知道更多。如果您发现其他任何事情,请告诉我。
那我该做什么:
从日志中提取功能/变量
您可能无权访问生成消息的源代码,但我认为大部分日志可以被少量模式覆盖(例如,所有防火墙日志都具有相同的功能)图案)。您可以编写一个正则表达式解析器从这些日志中提取功能(例如,某个时候某个连接被拒绝)。
尝试异常检测(PCA,或者只是偏离它们的平均值)并对它们进行预测。