推介5个Java异常检测工具

您应该知道的顶级Java的异常检测工具

应用程序故障可能由于各种原因而发生,并且有一些工具可以解决每个可能的错误源,例如日志管理工具,错误跟踪器,性能监视解决方案等。实际上,我们已经研究这个颇有几分,不同发现的方法记录在生产中最常见的方式来解决的Java应用程序中的错误,如何以及应用监控点的工具可以检测错误帮助。

而且来了……但是……

这些工具收集的数据通常由大量噪音组成。我们怎么知道什么是重要的,什么不重要?这就是异常检测工具所适用的地方。在下面的文章中,我们将介绍一些专注于检测和预测何时可能发生异常的工具。我们来看看吧。

异常检测工具

  1. X-pack
  2. Loom Systems
  3. OverOps
  4. Coralogix
  5. Anodot

1. X-Pack

X-Pack是ELK Stack的扩展,提供异常检测。它使用的算法可以帮助用户了解日志的行为,检测他们何时不像往常一样。该软件包依赖日志作为其数据源,让用户了解特定指标可能如何影响产品以及用户如何体验它。

主要特征:

  • 检测Elasticsearch日志数据和指标中的异常
  • 通过监视网络活动和用户行为来识别安全问题
  • 识别通常导致异常的日志事件

怎么运行的:

X-Pack使用Elasticsearch日志数据并模拟其行为的基线。通过分析来自应用程序,服务器和服务的日志,X-Pack可以检测趋势和使用周期,并分析数据以尝试预测何时可能发生问题。

安装X-Pack时默认启用异常检测功能,它实现现有的ELK群集权限和内置角色,以便更轻松地控制哪些用户有权查看和管理作业,数据馈送和结果。

X-Pack异常检测时间线

秘密酱: X-Pack异常检测是自动启用的,直接从Elasticsearch汇总数据,适用于那些使用ELK并希望将异常检测解决方案作为Elastic工具套件的一部分的人。

结论: X-Pack的“不公平”优势在于它与Elastic工具套件的集成。话虽如此,如果您正在使用ELK,您可能已经知道您不仅限于使用Elastic自己的工具,还有一个广泛的生态系统可供选择。此外,如果您不使用ELK,则此工具不适合您。

2.织机系统

Loom Systems为日志和指标中的异常检测提供分析平台。它可以检测日志中的异常情况,还可以在操作分析中提供异常检测。

主要特征:

  • 来自不同应用程序的自动日志解析和分析
  • 建议的解决方案 – 基于公司的解决方案数据库
  • 业务操作异常检测

怎么运行的:

在技​​术方面,Loom收集日志数据,解析它以分解日志行以分离字段,并根据每个字段数据类型应用异常检测算法。除了日志事件,Loom的算法还可以处理其他文本源或事件流,并为它们创建异常基线。

Loom设置的基线和阈值是动态的,这意味着它们会根据用户的行为和应用程序更新进行更改和调整。每个异常都伴随着对所发生事件的解释以及建议的解决方案。

织机异常检测和见解仪表板

Secret Sauce:除了检测异常外,Loom还提供知识库,在整个公司内共享解决方案,帮助其他开发人员和团队了解异常发生的原因以及处理方式。

底线: Loom使用应用程序日志和指标来尝试了解应用程序的正常行为,并提供建议的解决方案和操作项。

3. OverOps

OverOps告诉您代码在生产中的时间,地点和原因。它是唯一能够为每个错误提供整个调用堆栈的完整源代码和变量状态的工具,并允许您主动检测何时将新错误引入应用程序。

主要特征:

  • 完全可见的代码和变量状态,以自动重现任何错误
  • 通过代码发布主动检测所有新错误和严重错误
  • 不依赖于日志文件的本机Java代理
  • 使用任何StatsD投诉工具进行自定义异常检测可视化
  • 无需更改代码和配置,可通过SaaS,Hybrid和内部部署在5分钟内完成安装
  • 带有黑色主题的badass仪表板

怎么运行的:

OverOps是一个本机监视代理程序,它在JVM和处理器之间运行,从应用程序本身提取信息。它不需要任何代码更改,也不依赖于记录的信息,而是依赖于直接来自应用程序的信息。OverOps帮助像福克斯,康卡斯特和TripAdvisor等公司转变通过日志筛选的手动反应流程,并将其转变为主动自动化流程。

OverOps使用REST API为其用户提供高级可视化和异常检测功能,并在跨微服务和部署发生应用程序错误时将应用程序的可变状态与内部JVM指标(如CPU利用率,GC等)相关联。它使用AI来识别通常隐藏在海量信息环境中的问题,这反过来又有助于开发团队比以前更快地解决问题。

OverOps收集的数据在AI环境中是独一无二且非常有价值的。它在产品中提供本机功能,以应用针对我们的数据进行异常检测的算法。这使组织能够在数十亿事件中识别关键问题,新问题或重新引入问题。切断日志文件的噪音至关重要。

秘密酱:。OverOps知道日志文件很糟糕。这就是为什么它对日志文件没有依赖,而且数据直接来自JVM本身由于OverOps是为每个错误提供完整源,状态和堆栈的唯一工具,因此它提供了应用程序中异常和问题的360度视图。

底线:检测异常很重要,但如果你没有真正的根本原因和导致它的变量,它就无济于事。

OverOps仪表板中的事件包括发生异常时的完整堆栈跟踪和变量状态

观看OverOps的现场演示

4. Coralogix

Coralogix聚类并识别日志数据中的相似性。该工具侧重于常见流,检测连接到它们的日志消息,并在动作未导致预期结果时发出警报。

主要特征:

  • Loggregation – 捆绑和汇总具有相同模式的日志
  • 流异常 – 识别连接的动作,并检测其中的异常
  • 基于版本的异常 – 指定仅在部署新版本用户产品后发生的异常

怎么运行的:

Coralogix在假设大多数日志相似的情况下运行,而唯一区分它们的是它们内部的变量。这就是为什么Coralogix自动聚类数据以识别模式,并连接数据之间的点。如果某个动作需要某个响应并且没有得到它,那就是检测到异常的时候。

Coralogix流量异常仪表板

秘密酱:Coralogix能够将日志聚合到其原始模板中并分析该数据以了解异常情况。

底线:Coralogix将具有相似模式的日志捆绑在一起,关注重点每条消息中的不同字段通过这样做,公司可以检测某些操作和流程中的异常,并专注于最大的异常情况,而不是应用程序中可能发生的单个事件。

5. Anodot

Anodot提供异常检测系统,为用户提供相关分析。他们的重点是检测任何类型的数据库中的异常,以及识别业务相关数据中的异常。

主要特征:

  • 行为相关和类似日志的分组
  • 业务数据异常检测,以在营销活动,点击和绩效指标中提供异常检测
  • 警报处理 – 通过将类似的异常分组到一个警报中来降低噪音

怎么运行的:

Anodot使用他们的算法来隔离问题并将它们与许多参数相关联。在实践方面,公司确定应用程序或操作的正常范围,并给它一个必须保留的分数。

当事件改变该分数时,系统会根据数据的状态以及采取这种方式行动的时间来评估异常的重要性。Anodot总是提醒用户异常,无论是好还是坏,以便他们能够按照自己的意愿处理。

Anodot异常检测和分析

秘密酱:Anodot可以自动选择数据模式所需的最相关的算法,随着模式的变化,这些算法会发生变化和适应。

底线:Anodot专注于日志,指标和业务指标,不仅可以解决开发团队,还可以解决公司的其他成员。

说到异常检测……

Numenta提供了一个开源项目,可以更广泛地了解异常检测的世界。其技术可以检测服务器和应用程序中的异常,以及人类行为,地理空间跟踪数据(GPS跟踪)以及自然语言的预测和分类。基本上,任何具有基线或趋势的数据集。

Numenta最有趣的是Numenta Anomaly Benchmark(NAB)。它是一个基准,允许评估流,实时应用程序中的异常检测算法。它允许您测试当前的算法,查看社区的基准,并深入了解如何检测异常。

该库是开源的,包含50多个标记的真实世界和人工时间序列数据文件以及专为实时应用程序设计的评分机制。如果您已经使用异常检测算法,Numenta可以帮助您评估它。此外,如果您正在寻找一个开源工具,这可能是您的答案。

最后的想法

异常检测有助于从生产应用程序中获得更好的洞察力。每个工具都有自己的方法来识别异常。我们应该记住的最重要的事情是它不仅仅是关于仪表板; 这是关于数据的。这就是为什么我们敦促您探索每一个,并根据您尝试解决的问题为您提供最佳价值的工具。

 

来源:https://blog.takipi.com/5-new-java-anomaly-detection-tools-you-should-know/

赞赏


微信赞赏

支付宝赞赏

欢迎扫描关注