Splunk,Sumo Logic,LogStash,GrayLog,Loggly,PaperTrails –我想念某人吗? 我敢肯定我做到了。 原木就像化石燃料–在过去的20年中,我们一直想摆脱原木燃料,但我们还没有完全摆脱原木燃料。 好吧,如果是这样的话,我想要一辆宝马!
为了应对日志数据的增长,在过去的几年中,已经建立了许多日志管理和分析工具,以帮助开发人员和操作人员理解不断增长的数据。 我认为从开发人员的角度来看我们的选择以及每种工具的卖点是很有趣的 。
作为该领域最大的工具,我决定将Splunk归类为自己的类别。 这并不是说它是满足您需求的最佳工具,而是更多地归功于实质上创建了新类别的产品。
优点
Splunk可能是该领域中功能最丰富的解决方案。 它拥有成百上千的应用程序(我数了537 ),可以理解几乎所有格式的日志数据,从安全性到业务分析再到基础架构监视。 Splunk的搜索和图表工具功能丰富,以至于可能没有数据集是无法通过其UI或API获取的。
缺点
Splunk有两个主要缺点。 首先,这是比较主观的,它是一种本地解决方案,这意味着在金钱和复杂性方面的设置成本很高。 要在大规模环境中进行部署,您将需要安装和配置专用集群。 作为开发人员,通常这是您不能或不想做的第一选择。
Splunk的第二个缺点是价格昂贵。 为了支持真实世界的应用程序,您需要花费数万美元,这很可能意味着您需要组织中高层的批准,而且过程将会很慢。 如果您有一个新的应用程序,并且想要快速运行的东西,并且可以随着事情的进展而快速旋转和倾斜,请继续阅读。
在这里可以找到更多企业日志分析器。
SaaS日志分析器
Sumo最初是作为Splunk的SaaS版本创建的,其作用是尽早模仿splunk的某些功能和视觉效果。 话虽这么说,SL已经发展成为成熟的企业级日志管理解决方案。
优点
SL充满了减少,搜索和绘制海量数据的功能。 在所有SaaS日志分析器中,它可能是功能最丰富的。 同样,作为SaaS产品从本质上来说意味着安装和正在进行的操作更加容易。 Sumo Logic的主要吸引力之一是能够建立基准并在诸如新版本推出或突破尝试之类的事件后关键指标发生变化时主动通知您的能力。
缺点
所有SaaS日志分析器均共享这一功能,这是您需要将数据获取到服务以实际对其进行处理。 这意味着您将查看从服务器上载的可能的GB(或更多)。 这会在多个方面造成问题–
- 作为开发人员,如果您正在记录敏感代码或PII,则需要确保已将其删除。
- 记录数据的时间与服务可见的时间之间可能会有时滞。
- 您的机器传输GB的数据会有额外的开销,这实际上取决于您的日志记录吞吐量。
Sumo的定价也不是透明的 ,这意味着您可能正在考虑一个购买过程,该过程比刷队信用卡开始要复杂得多。
Loggly还是一个功能强大的日志分析器,致力于为开发人员提供简便性和易用性。
优点
Sumo Logic的重点是企业和安全性,而Loggly则更侧重于帮助开发人员发现并解决操作问题。 这使其对开发人员非常友好。 创建自定义性能和devops仪表盘等操作非常容易。 定价也是透明的,这使使用变得更容易。
缺点
不要期望Loggly可以扩展为功能完善的基础架构,安全性或分析解决方案。 如果您需要取证或基础设施监控,那么您来错地方了。 这是主要用于devop解析来自您的应用服务器的数据的工具。 除此之外,您还需要构建自己的东西。
PaperTrails是在一个统一的易于使用的界面中查看和搜索多台机器的日志的一种简单方法。 可以将其想像成将您的日志尾随在云中,而且距离不会太远。
优点
PT就是它。 在云中以单一视图查看来自多台计算机的日志文件的一种简单方法。 UX本身与在计算机上查看日志非常相似,搜索命令也是如此。 它旨在做一些简单而有用的事情,并且做到优雅。 它也很实惠 。
缺点
PT主要基于文本。 寻找任何高级集成,预测或报告功能? 您正在吠错树。
这是Splunk的小(也许有人说是步骤)SaaS兄弟。 这与Splunk的服务器上托管的产品非常相似。
优点
Storm使您无需在内部安装实际的软件即可试用Splunk,并且包含完整版本中的许多可用功能。
缺点
这并不是真正的商业产品,您可以发送的数据量有限。 它似乎更多是Splunk的在线受限版本,旨在帮助人们测试产品而无需先部署。 一项名为Splunk Cloud的新服务旨在提供完善的Splunk SaaS体验。
开源分析仪
Logstash是用于收集和管理日志文件的开源工具。 它是开源堆栈的一部分,其中包括用于索引和搜索数据的ElasticSearch以及用于图表化和可视化数据的Kibana。 它们共同构成了功能强大的日志管理解决方案。
优点
成为开源解决方案意味着您从本质上获得了很多控制权和非常好的价格。 Logstash使用三个成熟且功能强大的组件(均进行了严格维护)来创建一个非常健壮且可扩展的软件包。 对于开源解决方案,它也很容易安装和开始使用。 我们使用Logstash并喜欢它。
缺点
由于Logstash本质上是一个堆栈,这意味着您要处理三种不同的产品。 这意味着可扩展性也变得复杂。 Logstash过滤器是用Ruby编写的,Kibana是纯javascript,ElasticSearch拥有自己的REST API和JSON模板。
当进入生产阶段时,您还需要将三台机器分成不同的机器,这增加了复杂性。
GL2是该领域中一个相当新的参与者,是由MongoDB和ElasticSearch(类似于Logstash)支持的开源日志分析器,用于存储和搜索日志错误。 它主要致力于帮助开发人员检测和修复其应用程序中的错误。
在此类别中,您还可以找到fluentd和Kafka ,其主要用例之一也用于存储日志数据。 ew,这么多选择!
塔基皮原木
虽然这篇文章不是关于Takipi的,但我认为它具有一个功能,您可能会发现与所有这些功能相关。
通常,在所有日志分析器和日志文件中,最大的缺点是您必须首先将正确的数据放在那里。 从开发人员的角度来看,这意味着如果没有记录异常,或者您不了解异常发生原因所需的变量数据,那么世界上没有日志文件或分析器可以为您提供帮助。 生产调试糟透了!
我们添加到Takipi的功能之一是能够直接从日志文件错误跳入已记录的调试会话的功能。 这意味着对于每个日志错误,您都可以在错误时刻看到实际的源代码和变量值。 您可以在此处了解更多信息。
在这篇文章中,我很想听听你们关于您提到的某些工具(有些我没有)的经验。 我确定有些事情您可能会不同意或要纠正我-因此,继续,下面的评论部分,我很想听听您的意见。
翻译自: https://www.javacodegeeks.com/2014/04/the-7-log-management-tools-java-developers-should-know.html