机器学习服务器日志数据

Swa*_*air 14 logging machine-learning

我最近获得了大量的服务器日志数据(在新工作中).我在大学的机器学习方面有一些经验.日志数据包括服务器日志,数据库访问日志等.我想知道从这样的数据可以做什么样的学习.

我尝试过的一件小事就是根据过去一周的数据预测当天某个小时的请求数量,这似乎没问题,但这有点微不足道.所以,

  • 从这些数据中可以做什么样的学习?
    • 可预测的IP上的广告做点击垃圾邮件的概率(是该公司成)根据以往的垃圾邮件发送者的一些使用模式?
    • 可能预测交通可能会在什么时候出现.
  • 是否有任何专门利用的现有工具/项目?
  • 任何有趣的资源/论文谈论类似的东西?
  • 此外,数据在服务器上超过特定时间的过程活动.这对学习有用吗?

Jir*_*rka 26

看看 Wei Xu等人(2010)关于挖掘Google生产控制台日志的经验 以及他们引用的工作.总之,他们:

  1. 从源代码中提取日志记录模板(例如"写入文件%s")以从日志中提取标识符(日志中对应于%s的内容是标识符).他们使用某些启发式方法来区分标识符和非标识符(例如时间).
  2. 使用值之间的比率而不是原始数字(例如,失败和所有提交的比率)
  3. 使用主成分分析来发现此类特征的向量中的异常.

你可能做不到1.但也许你可以提取编写自己的"解析器"的变量.

此外,还有DARPA挑战发现此类数据中的攻击,但这是近15年前的事.

有一些像splunk这样的工具,但除了简洁的界面之外,它们除了简单的搜索和过滤之外没有提供太多功能.更新:prelert有一个异常检测插件.

我不知道更多.如果您发现其他任何事情,请告诉我.

那么我会做什么:

  1. 从日志中提取功能/变量

    您可能无权访问生成消息的源代码,但我认为大部分日志可以被少量模式覆盖(例如,所有防火墙日志都具有相同的模式).您可以编写正则表达式解析器从这些日志中提取功能(例如,在某些时间拒绝连接).

  2. 尝试异常检测(PCA,或者只是偏离它们的平均值)并对它们进行预测.