Java程序员须知的七个日志管理工具
本文由 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 的方式进行日志分析的,所以你必须将大量的数据上传至服务器进行分析,这就可能产生一些问题:
- 作为一个开发者,如果要分析的日志涉及到敏感信息或者 PII 你要确保做好了屏蔽。
- 在日志生成的时间与日志上传至服务的时间之间可能存在一些冲突。
- 在你的机器上回多出来几个 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程序员须知的七个日志管理工具的更多相关文章
- Java程序员须知的七个日志管理工具(转)
Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm 英文原文:T ...
- Java程序员必备的6款最佳开发工具
工欲善其事,必先利其器.每一个Java程序员都有其惯用的工具组件.对于Java程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家 ...
- 身为 Java 程序员必须掌握的 10 款开源工具!
本文主要介绍Java程序员应该在Java学习过程中的一些基本和高级工具.如果你是一位经验丰富的Java开发人员,你可能对这些工具很熟悉,但如果不是,现在就是是开始学习这些工具的好时机.Java世界中存 ...
- 2020 年 Java 程序员应该学习什么?
大家好,我相信大家在新的一年都有一个良好的开端,并准备好制定一个提升自我技术的目标.作为 Java 开发人员,我还制定了一些目标,希望在今年成为一名更好的 Java 开发人员. 如果你尚未制定目标,这 ...
- Java程序员最常用的8个Java日志框架
转自:http://www.codeceo.com/article/8-java-log-framework.html 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用 ...
- 转:Java程序员最常用的8个Java日志框架
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...
- Java基础学习总结(40)——Java程序员最常用的8个Java日志框架
作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在 ...
- 作为一名JAVA程序员应该有怎样的就业思维
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格JAVA软件工程师所要具备的. 一.专业技能 1.熟 ...
- (转)java程序员进入名企需要掌握哪些,立一个flag
想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,在面试之前到底需要准备哪些东西呢?面试时面试官想了解你的什么专业技能,以下都是一个合格Java软件工程师所要具备的. 一.专业技能 熟练的 ...
随机推荐
- CodeForces 794 G.Replace All
CodeForces 794 G.Replace All 解题思路 首先如果字符串 \(A, B\) 没有匹配,那么二元组 \((S, T)\) 合法的一个必要条件是存在正整数对 \((x,y)\), ...
- Android利用ViewPager实现滑动广告板
•android-support-v4.jar,这是谷歌官方 给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android3.0以上可以使用的api.而ViewPager就是其 ...
- 【转】Asp.net实现URL重写
[概述] URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程.重写URL是非常有用的一个功能,因为它可以让你提高搜索引擎阅读和索引你的网站的能力:而且在你改变了 ...
- mySql---剖析InnoDB索引原理
摘要: 本篇为参考别人的文章(http://blog.csdn.net/voidccc/article/details/40077329) 1 各种树形结构 本来不打算从二叉搜索树开始,因为网上已经有 ...
- 【Unity 3D】碰撞检测
在unity3d中,能检测碰撞发生的方式有两种, 碰撞器 触发器 概念: (一)碰撞器是一群组件,它包含了很多种类,比如:Box Collider,Capsule Collider等,这些碰撞 ...
- AngularJS使用angular-formly进行表单验证
当验证表单中有很多字段时,这时候可能希望把html的生成以及验证逻辑放到controller中,在页面,也许是这样的: <some-form fiedls="vm.someFields ...
- IIS7下配置ASP+ACCESS环境
先要设置应用程序池(Application Pool)为Classic .NET AppPool,而不是默认的Default AppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置. ...
- Jenkins CI CD
原文:https://www.sunjianhua.cn/archives/jenkins-ci-cd.html 1.安装git 以下为简单应用,适合无gitlab服务器用户. #在git服务器(19 ...
- Java 反射机制(包括组成、结构、示例说明等内容)
第1部分 Java 反射机制介绍 Java 反射机制.通俗来讲呢,就是在运行状态中,我们可以根据“类的部分已经的信息”来还原“类的全部的信息”.这里“类的部分已经的信息”,可以是“类名”或“类的对象” ...
- How To Create A Local Repository For SUSE Linux
原文地址:http://candon123.blog.51cto.com/704299/1009294/ As you know,you can use the yum command to inst ...