本文由 ImportNew - 赖 信涛 翻译自 takipiblog。欢迎加入翻译小组。转载请见文末要求。

Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm

日志管理工具有Splunk、Sumo Logic、LogStash、GrayLog、Loggly和PaperTrails等等,数不胜数。日志就像石油,二十多年了我们一直想摆脱它,却一直没有做到。

为了处理日益增长的数据,近年来出现了一大批分析和管理日志的工具,开发和管理人员能够借助这些工具来了解增长的数据。在这篇文章中,我将站在开发者的角度,分析一下这些工具的特点。

Splunk

作为这个领域中最大的工具,我决定将 Splunk 做一个单独的分类。并不是说这个工具是最好的,而是对这个产品给予肯定,因为它从本质上创造了一个新的领域。

优点

在这个领域内功能最齐全的可能就是 Splunk 了。它有数百个来分析各种形式日志信息的程序(我计算的是537个)——从安全领导到商业分析,再到底层监控。Splunk 的搜索和图表工具如此丰富,没有通过它(UI和API)得不到的数据。

缺点

Splunk 主要有两个缺点。第一,这个因素可能有些主观,我觉得这个解决方案太复杂了。如果要在一个高度复杂的环境中部署,就需要安装和配置一个专用集群。作为一个开发者,通常会因为这点而不把这个方案作为第一选择。

第二个缺点是它太昂贵了。要支持一个真实世界的软件,你可能会花费一万多美金,这很可能就意味着你需要从其他地方削减预算,这样开发进程就慢了。如果你刚上架了一款 app,但是要得到高质量的日志分析却又不影响开发进程——请继续阅读。

更多企业级日志分析工具请点击这里。

SaaS日志分析工具

Sumo Logic

Sumo 是在 Splunk 的基础上建立的 SaaS 版本,它沿用了 Splunk 早期的一些特性和视觉效果。不得不说,SL 今天已经发展成了一个成熟的企业级日志管理工具。

优点

SL 具备对数据简化、查找、制表等功能。可能是 SaaS 型的日志分析工具中功能最多的了。同样,作为 SaaS 型,SL 还具有安装简单,操作简单等优点。最吸引人的地方是,你可以建立一个基线,当一个事件(像是一个新版本首次上线或者恶意的请求等)使一些重要的指标发生了变化时,你可以收到动态通知。

缺点

由于这是通过 SaaS 的方式进行日志分析的,所以你必须将大量的数据上传至服务器进行分析,这就可能产生一些问题:

  1. 作为一个开发者,如果要分析的日志涉及到敏感信息或者 PII 你要确保做好了屏蔽。
  2. 在日志生成的时间与日志上传至服务的时间之间可能存在一些冲突。
  3. 在你的机器上回多出来几个 GB 的开销用于上传日志,不过这取决于你日志的吞吐量。

Sumo 服务的购买价格不是透明的,所以你要是想刷你团队的信用卡来购买的话会很麻烦。

更新——SL 团队刚刚告诉我们,你可以直接用信用卡从免费版本中购买服务,虽然不像网页版那样方便,但是也蛮不错的。

Loggly

Loggly 也是一个健壮的日志分析工具,强调简洁朴素让开发者用起来方便。

优点

SL 注重的是企业级别的应用和安全性,而 Loggly 却将重点放在了帮助开发者查找和修复操作性的问题上。因为操作界面非常友好,自定义性能和开发者仪表盘这种东西非常简单。并且它的价格透明,入门方便。

缺点

不要奢望 Loggly 具备成熟的架构、安全和分析解决方案。Loggly 不具备取证和监控基础架构,它仅仅是帮助开发者处理应用服务器数据的一个工具。除此之外的其他事情就需要你自己去做了。

PaperTrails

PaperTrails 擅长从多台机器上查找日志,并提供一个合并的窗口,使用起来很方便。鉴于你是从云端追踪日志,所以你离他们不会太远。

优点

PT 就是这么一个工具。通过它你可以从一个窗口轻松的查找多台机器上的日志。用户操作本身就像你机器上的日志,搜索命令也一样。它致力于将日志管理变得简单、易用,可以优雅地处理。而且它还不算很贵。

缺点

PT 是基于文本格式的。如果需要支持先进的集成、预测和报告功能,就显得力不从心了。

Splunk>Storm

这是 Splunk 的兄弟, Splunk 的服务器上提供托管。

优点

Storm 让你无需安装软件,就能体验 Splunk 的完整版的功能。

缺点

Storm 不是商业的,所以你的流量有限。你可以将其视作一个 Splunk 的限制版本,无需部署即可帮助新产品测试。最近有个叫 Splunk Cloud 的新服务,致力于提供 Splunk SaaS 的完整体验。

开源的分析软件

Logstash

Logstash 是一款收集和管理日志的开源工具。它用到了一些其他的开源的资源:使用 ElasticSearch 来索引和查找数据,使用 Kibana 制表和可视化处理。他们联合起来,组成一个强大的日志管理解决方案。

优点

作为一个开源的解决方案,Logstash 允许用户有更大的定制空间,而且很便宜。Logstash 用了三个成熟的开源部件——都受到了很好的维护——组成一个强大的可扩展的软件包。由于开源,安装和使用和非常方便。

缺点

由于 Logstash 从本质上来说是三个部件的堆砌,所以你需要面对三个不同的产品。这就意味着扩展也变得很复杂。Logstash 的过滤器是用 Ruby 写的,Kibana 是用纯 Javascript 写的,而 ElasticSearch 也有自己的 REST 接口和 JSON 模板。

当你转向产品时,还需要将三个不同的工具部署到服务器上,无疑增加了复杂度。

Graylog2

最近出现的一颗新星——GL2,用 MongoDB 和 ElasticSearch 支持的用来存储与搜索日志错误的工具。它致力于帮助开发者找到并修复程序中的错误。

在这一方面,还有 fluentd 和 Kafka 也是专注于存储日志的。看!我们有这么多选择啊!

Takipi for Logs

虽然这篇文章不是关于 Takipi 的,但是它有一项特性,你也许会发现和日志有关。

对于日志分析工具来说,最大的缺点就是你必须要有日志可以分析。从集成开发环境的角度看,如果没有异常报告,或者没有错误信息的数据,你就没办法知道哪里出问题了,这样世界上任何工具都帮不了你了!Debug 就卡在这里了。:(

在 Takipi 的一项优势就是可以跳过日志文件,进入到调试信息中。这样你就能看到真实的源代码和错误范围的变量了。了解更多点击这里。

Takipi 会报告所有的异常和错误,并且告诉你哪里出错了,即使是多线程或者是发生在多台机器上。1分钟之内就能安装,维护费用不足2%-部署Taikipi。

原文链接: takipiblog 翻译: ImportNew.com - 赖 信涛
译文链接: http://www.importnew.com/12383.html
转载请保留原文出处、译者和译文链接。]

Java程序员须知的七个日志管理工具相关推荐

  1. 华为抓取错误日志在哪里_Java程序员须知的七个日志管理工具,提高排查错误效率...

    Java识堂,一个高原创,高收藏,有干货的微信公众号,一起成长,一起进步,欢迎关注 Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly ...

  2. JAVA程序员技术栈、业务栈、工具栈

    JAVA程序员技术栈.业务栈.工具栈 目录: 1.技术栈 2.业务栈 3.工具栈 今天是实习期以来将近100天了,感谢公司给予的期望与同事们提供的帮助.好久没更新博客了,一是懒于写,二是文章写得不够深 ...

  3. 身为 Java 程序员必须掌握的 10 款开源工具!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:雨轩小晴 www.seoxiehui.cn/article- ...

  4. Java 程序员必须掌握的 10 款开源工具!

    来源:http://t.cn/Ai9la34A 本文主要介绍Java程序员应该在2020年学习的一些基本和高级工具.如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是 ...

  5. Java程序员必须要掌握这10种工具,缺一不可!

    如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是开始学习这些工具的好时机. NO.1 JIRA Atlassian的JIRA是当前敏捷开发领域最重要的工具之一. 它 ...

  6. Java程序员高效开发必备的5大工具,IDEA黑色主题让程序员爽翻!

    2018年最有钱途的编程语言排行榜出炉,Java排名高居第一. 在整个的编程界,从事java开发的程序相对来说较多. Java程序员为了提高开发效率,必备的工具有哪些呢?下面w3cschool就给各位 ...

  7. 所有Java程序员必须掌握的十款开源工具!

    Java世界中存在许多工具,从Eclipse,NetBeans和IntelliJ IDEA等著名的IDE开始到Java开发人员应该知道的JVM分析和监视工具,如JConsole,VisualVM,Ec ...

  8. Java程序员须知:分布式微服务为什么很难?

    现在,我们不断地赞美云原生cloud native架构(容器化和微服务),然而现实是大多数公司仍然运行单体系统.为什么?这不是因为我们非常不时尚,而是因为分布式是非常困难的.尽管如此,它仍然是创建超大 ...

  9. Java程序员必备的6款最佳开发工具, 你的最爱是哪款?

    下面,我将为大家介绍6款Java开发必备工具. 1.Jad Jad用于反编译Java类.你只需要发出jad命令,就可以用纯文本的形式读码.有些新出来的Java类需要你在缺乏文档的情况下使用jar文件. ...

最新文章

  1. java 是怎么在中删除下拉列表_删除在一个下拉列表字段中选择的选项,并且不显示在该行中存在的其他下拉列表中不工作-jquery...
  2. Oracle加入Eclipse MicroProfile项目
  3. 英文句子改写在线软件_试完这些英文论文写作辅助神器,你会发现新大陆der~...
  4. 读取javascript脚本的正则表达式
  5. 5、python学习之变量
  6. win7 重启 IIS.
  7. linux 多源代码文件编译
  8. PCIe学习笔记(15)--- TLP的ROUTING方式
  9. 前端学习(566):margin auto机制
  10. 计算机论文的的格式,计算机论文格式模板.doc
  11. 再次了解深浅拷贝问题
  12. ckEditor使用JS代码调用的方法
  13. [转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程
  14. Python的并发并行[3] - 进程[1] - 多进程的基本使用
  15. 字典:python的基础数据类型
  16. java Socket使用注意
  17. CAN分析仪的特点与功能
  18. mysql网吧管理系统_网吧收银系统 网吧的收费管理系统 - 下载 - 搜珍网
  19. python开发一个自动批改本地Word作业的程序
  20. FPGA音频录音,WM8731音频采集存储DDR3,基于米联客FDMA实现

热门文章

  1. 操作系统知识--线程
  2. unity中静态变量的使用
  3. Android应用资源---其他资源类型(More Types)(二)
  4. javascript设计模式之工厂模式
  5. 在一头扎进机器学习前应该知道的那些事儿 1
  6. 算法与数据结构(九) 图论:最短路径问题
  7. nginx开机启动脚本
  8. 微积分28-复合函数与隐函数的微分法
  9. iOS边练边学--UIScrollView的属性简单使用,代理的简单介绍以及内容缩放
  10. UVA 11504 Dominos 强连通分量