使用机器学习进行服务器日志分析


10

我被分配此任务来分析应用程序的服务器日志,其中包含异常日志,数据库日志事件日志等。我是机器学习的新手,我们将Spark与弹性搜索和Sparks MLlib(或PredictionIO)结合使用。结果将是能够基于收集到的异常日志进行预测,从而能够预测哪个用户更有可能导致下一个异常以及哪个功能(以及其他跟踪和改进应用程序优化的功能)。

我已经成功地能够将数据从ElasticSearch吸收到spark中并创建DataFrames并映射所需的数据。我想知道的是我如何实现实现的机器学习方面。我浏览过有关数据预处理,训练数据模型和创建标签然后生成预测的文章和论文。

我的问题是

  • 如何将现有的日志数据转换为数值向量,该数值向量可用于要训练的数据集。

  • 我使用什么算法来训练我的数据集(在过去几天中,我所掌握的知识有限,我正在考虑实施线性回归,请提出最佳实施方案)

只是在寻找有关如何解决此问题的建议。

谢谢。


如果您确实具有预测能力,可以相信某个用户极有可能发生异常,那么您将怎么办?目标是优化应用程序。您是否在尝试优化工程师应该花时间的错误,而不是仅仅修复应用程序中的已知错误?功能工程对于此任务可能非常重要。此外,您可能需要考虑逻辑回归,该回归将产生一个0..1值,该值可以解释为概率。

5
我认为您的目标超标了。不要将ML当作做魔术的黑盒。您必须提出正确的问题(并且要有足够的数据)才能获得任何结果。
已退出-Anony-Mousse 2015年

您的问题是否得到解决,才能预测哪个用户更有可能导致下一个异常以及哪个功能(以及其他功能来跟踪和改进应用程序的优化)?如果是,那么您能否分享您的解决方案方法或其他任何人都可以分享?
Ashish Tyagi,2016年

Answers:


12

我认为您不一定需要将单个日志条目转换为向量以用于算法。我猜想您感兴趣的是一系列日志条目,这些条目代表一系列事件,这些事件按时间顺序排列,一起构成一系列“案例”。在这里,一系列收集的日志条目之间的关系很重要。

如果是这种情况,那么您可能要考虑使用Process Mining技术。这使您可以构建流程模型(使用应用程序)并确定流程步骤的模式以及错误和返工步骤。

有在Coursera一个很好的介绍当然,在这里。甚至还有一些开发的商业软件包,例如“ disco”,可以帮助您进行分析和可视化

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.