`

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

阅读更多

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

分享到:
评论

相关推荐

    Java程序员须知的七个日志管理工具Java开发Java经

    本文将深入探讨七个Java程序员应当了解的日志管理工具,以及相关的经验技巧。 1. Log4j:Log4j是Apache的一个开源项目,广泛应用于Java应用中。它提供了灵活的日志记录配置,允许开发者控制日志信息的输出级别,如...

    Java程序员面试资料及简历模版

    Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历...

    程序员-工作日志示例

    程序员工作日志示例管理文档 工作日志是程序员日常工作中不可或缺的一部分,它可以帮助程序员更好地管理自己的时间、提高工作效率、记录工作进度、总结工作经验等。本文档是一个程序员工作日志示例,旨在帮助程序员...

    java程序员面试交流项目经验

    java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...

    Java程序员面试宝典

    《Java程序员面试宝典》主要内容简介:目前许多开发者对Java语言及其底层原理掌握不牢固,在面试过程中经常漏洞百出,无法取得好成绩。而招聘单位为了得到高素质的员工往往使出浑身解数,采用各种形式的面试考察求职...

    JAVA程序员简历模板(最新版)

    【JAVA程序员简历模板】 在创建一份专业的JAVA程序员简历时,首先要明确的是,这份文档将是你在求职市场上的“名片”,它应该清晰、准确地展示你的技术能力、项目经验和教育背景。以下是一个详细的模板,帮助你构建...

    java程序员简历模板

    * JUnit,Debug 进行程序调试、log4j 进行日志管理、SVN 项目整合、MyBatis 数据库管理 * Tomcat,Aapache 等服务器配置 * MyEclipse/Eclipse 等开发工具 * Flash 动画设计、PS 图片美化、Dreamweaver 网页设计 四、...

    java程序员转正ppt

    【Java程序员转正知识点】 1. **自我介绍**: 在转正答辩中,自我介绍是展示个人背景和技能的关键环节。作为一名Java程序员,应当包括自己的教育背景、编程经验、项目经历以及对Java语言的理解。 2. **技术成长**...

    java程序员面试简历 WORD 模版

    Java程序员在求职过程中,一份优秀的简历是至关重要的。下面我们将详细探讨如何利用提供的"JAVA 个人简历模版"来创建一份吸引人的Java程序员简历,并理解其中包含的关键知识点。 首先,标题"java程序员面试简历 ...

    Java程序员面试笔试宝典-何昊pdf版

    根据提供的文件信息,我们可以推断出这是一本关于Java程序员面试和笔试准备的书籍,作者为何昊。本书可能包含了大量关于Java编程语言的基础知识、高级特性以及与面试相关的技巧和策略等内容。下面将对可能涉及的重要...

    java程序员的成长历程

    理解线程的基本概念,如同步、互斥、死锁,以及Java提供的线程工具,如synchronized关键字、wait/notify机制、ThreadLocal和ExecutorService,将使程序员能够处理复杂的并发问题。 Java程序员还应掌握异常处理,...

    Java程序员上班那点事儿txt版本

    ### Java程序员的职业发展路径 #### 一、Java程序员的基础技能要求 Java程序员作为软件开发领域的重要组成部分,在工作之前需要具备一系列的基本技能与专业知识。根据给定文件中的描述,我们可以总结出以下几点: ...

    java程序员规划java程序员职业规划.docx

    Java 程序员职业规划 Java 程序员职业规划是指 Java 程序员如何规划自己的职业生涯,使自己在职业道路上更快速、更自信地发展。本文将从 Java 程序员职业规划的几个方面进行详细的介绍。 一、 认识自我 在职业...

    java程序员实习日记.docx

    数据库是存储和管理数据的核心工具,对于任何需要处理大量数据的应用来说都是必不可少的。在Oracle中,我学习了SQL查询语句、存储过程、触发器等高级特性,而在MySQL中,我更深入地了解了事务处理、视图和索引的使用...

    Java程序员上班那点事

    Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事 Java程序员上班那点事

    java程序员简历模板(一共19套模板)

    java程序员个人简历.doc JAVA软件工程师简历范文.docx Java软件开发工程师个人简历模板.doc 个人简历(示范案例).doc 应届生Java开发个人简历.doc 非常经典java求职简历(三套-含项目介绍).doc 高级Java工程师架构师-...

    java程序员总结报告

    【Java程序员年终总结】 作为一名Java程序员,我在2010年的经历让我深刻理解到学习的重要性。从初入职场的新鲜人,到能在公司独立完成项目的开发者,这段历程充满了挑战和成长。2010年,我有幸加入北京联合兴辰公司...

    java程序员的那些事儿

    Java程序员在IT行业中占据着重要的地位,他们负责...总的来说,"java程序员的那些事儿"涉及了广泛的知识领域,从编程语言本身到与之相关的框架、工具和最佳实践。不断学习和适应新技术,是Java程序员保持竞争力的关键。

    Java 程序员宝典 pdf 电子书

    《Java程序员宝典》是一本全面涵盖Java编程技术的电子书,旨在为初学者和有经验的Java开发者提供深入的指导。这本书详细介绍了Java语言的基础、核心特性以及高级概念,帮助读者掌握成为一名优秀Java程序员所需的技能...

Global site tag (gtag.js) - Google Analytics