Java程序员须知的七个日志管理工具(转)

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

英文原文:The 7 Log Management Tools You Need To Know

日志管理工具有 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

翻译: ImportNew.com赖信涛

译文链接: http://www.importnew.com/12383.html

http://www.open-open.com/news/view/286196

时间: 2024-12-24 15:57:40

Java程序员须知的七个日志管理工具(转)的相关文章

Java程序员必备的6款最佳开发工具

工欲善其事,必先利其器.每一个 Java 程序员都有其惯用的工具组件.对于 Java 程序员,各种有用的软件和工具泛滥成灾.初级开发人员要么找不到合适的工具,要么在寻找过程中浪费了大量的时间.下面,我将为大家介绍 6 款 Java 开发必备工具. 1. Notepad++ Notepad++是编辑 XML.脚本,甚至做简单笔记的最佳工具.关于这个工具最棒的一点是,你在 Notepad++ 打开过的每个文件,即使你关闭之后,它仍然存在.所以它能减少因意外删除重要内容而造成的麻烦.它还可以当作比较插

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

现在,我们不断地赞美云原生cloud native架构(容器化和微服务),然而现实是大多数公司仍然运行单体系统.为什么?这不是因为我们非常不时尚,而是因为分布式是非常困难的.尽管如此,它仍然是创建超大规模的.真正弹性的和快速响应的系统的唯一途径,因此我们必须围绕它进行整合. 在这篇文章中,我们将介绍分布式系统中一些障碍以及人们应对方法. 忘记康威定律(Conway's Law),分布式系统遵循的是墨菲定律:"任何可能出错的地方都会出错. 在分布式系统的大规模上看,统计不是你的朋友(事后诸葛亮).

Java程序员必须掌握的Spring依赖管理原理

Spring依赖注入 依赖注入(Dependency Injection)的意思就是对象通过构造器函数参数,工厂方法的参数,或者成员属性,定义了对象的依赖对象:容器在创建该对象时会负责注入这些依赖.这个过程是控制反转的,即不是由即将创建的对象来管理自己的依赖的发现和实例化,而是有Spring容器来实现. 在Spring中依赖注入有两种形式,第一种就是基于构造函数的注入,即通过调用构造函数,传入参数,也就是依赖来完成整个依赖注入流程:第二种就是基于setter方法的注入. 构造函数的参数的匹配,要

转:Java程序员最常用的8个Java日志框架

作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用.WEB应用以及移动应用.然而日志系统是一个成熟Java应用所必不可少的,在开发和调试阶段,日志可以帮助我们更好更快地定位bug:在运行维护阶段,日志系统又可以帮我们记录大部分的异常信息,从而帮助我们更好的完善系统.本文要来分享一些Java程序员最常用的Java日志框架组件. 1.Log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.

Java程序员最常用的8个Java日志框架

1.Log4j – 最受欢迎的Java日志组件 Log4j是一款基于Java的开源日志组件,Log4j功能非常强大,我们可以将日志信息输出到控制台.文件.用户界面,也可以输出到操作系统的事件记录器和一些系统常驻进程.更值得一提的是,Log4j可以允许你非常便捷地自定义日志格式和日志等级,可以帮助开发人员全方位地掌控日志信息. 官方网站:http://logging.apache.org/log4j/2.x/ 下面是使用Log4j的一个简单例子: 2.gclogviewer – Java日志查看工

《Java程序员面试笔试宝典》终于在万众期待中出版啦~

<Java程序员面试笔试宝典>终于在万众期待中出版啦~它是知名畅销书<程序员面试笔试宝典>的姊妹篇,而定价只要48元哦,恰逢求职季节,希望本书的出版能够让更多的求职者能够走进理想的企业 在这里,众多知名企业面试官将为你撕开神秘的求职面纱: 在这里,各种求职达人将现身说法为你揭开求职谜团: 在这里,各种类型的企业招聘细节都会被展露无疑: 在这里,我们将为你抽丝剥茧,还原IT行业的真相: 在这里,我们将为你指点迷津,告诉你职场上的风风雨雨: 在这里,我们将为你点石成金,成为那盏指引你前

Java程序员修炼之道之预告片

从去年(2013)大概9月份开始,到上个月结束,我在深圳招聘一个Java程序员,要求会写Java的,英文能沟通的.我的要求很简单: 一个只实现了功能的函数,重构一下,让其可支持后期扩展,用多态的方式和注册表法(<代码大全2>里面提到了)重构就可以了 对该函数写单元测试,知道怎么写,知道使用Mock工具(Mockito. Jmock. EasyMock随便哪种都行),能正确的对测试方法进行组织 就是这么简单的要求,公司的HR MM陆陆续续给我找了几十个候选人,在北京的.在上海的.在印度的.在珠三

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

分享:想要成为Java程序员都需要掌握哪些技术?

随着<2018年中国大学生就业报告>出炉,计算机相关专业的高就业率引起了人们的关注.为了能够实现高薪,越来越多的非专业人士转行从事编程开发,Java作为最受欢迎的编程语言成为人们的一致选择! 想要成为一名优秀的Java程序员,不能像无头苍蝇一样乱转,一些关键技术的掌握是非常重要的,比如说×××老师分享的这九点: 一.熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的JavaAPI,包括集合框架.多线程(并发编程).I/O(NIO).Socket.JDBC.XML.反射等.