三款日志管理工具横向对比:Splunk vs Sumo Logic vs Logstash

  • 徐川

2015 年 4 月 14 日

话题:DevOps语言 & 开发架构APM

在生产环境记录应用的运行日志已经成为惯例,但日志需要经过处理和分析才有意义,第三方日志管理工具的出现正旨在解决这个问题。软件分析公司Takipi负责产品市场的 Josh Dreyfuss 今日撰文,比较了三个有代表性的日志管理工具:SplunkSumo LogicLogstash,从功能、易用性、资源占用等方面分析了它们的优缺点。

概述

这篇文章分别从 on-premises、SaaS,以及开源三种模式选取一个有代表性的日志管理工具进行分析,Splunk、Sumo Logic 和 Logstash 分别对应这三种不同的模式。

  • Splunk是日志管理工具行业一个比较大的玩家,它专攻企业市场,并以 on-premises 模式运作。Splunk 拥有最多功能和强大的整合能力,但价格也最高。为了迎合目前 ITOA 领域的发展趋势,Splunk 也提供了 SaaS 版本,并且为 SMB 准备的更轻量级的版本。不过本文将只分析 Splunk 的 on-premises 业务所提供的服务。
  • Sumo Logic最初试图成为 Splunk 的 SaaS 版本替代,不过他们走出了自己独有的发展道路。到现在,它们已经是市场上功能最丰富的 SaaS 版日志管理工具之一,并且它们也专攻企业市场。
  • Logstash是一款开源的工具,经常作为 ELK 技术栈的其中之一使用,另外是 ElasticSearch 和 Kibana。在 ELK 技术栈里,Logstash 承担的是日志处理,它创建一个集中化的管道来储存、搜索和分析日志文件。它使用内建的过滤器和输入输出,以及一些插件来给日志管理提供强大的功能。

比较

  • 安装:由于 on-premises、SaaS、开源模式的不同,三者的安装也各不相同,使用 Splunk 和 Logstash 你需要提供硬件和网络等基础设施,另外使用 Logstash 你通常还需要安装 ELK 里面的另外两个。
  • 功能:Splunk 的功能可能是市面上最丰富的,你几乎可以从它的 UI 或 API 调出你所需要的任何数据——前提是你的日志包含这些数据。并且它拥有高可用性、可扩展性,以及很重视安全性,另外它还能处理很多类型的机器数据。Sumo Logic 则是功能最丰富的日志管理 SaaS 软件之一,它拥有很多和 Splunk 类似的功能,另外还有一项特性是设置时间的触发提醒。Logstash 则由于其开源特性,拥有最强的自定义能力,你能使用自定义的日志格式或者定制自定义插件。
  • 使用界面:Logstash 并不包含 UI,其前端部分由 ELK 中的 Kibana 完成,你也可以使用 Graphite、Librato 和 DataDog 来代替 Kibana。Splunk 提供一个内容丰富且灵活的界面,可通过 XML 或拖拽来定制。Sumo Logic 的界面则专注于显示实时数据。
  • 集成与插件:选择工具时一个重要的点是看它是否与你现有的工作流集成良好,对于日志管理工具的度量指标,则需要考虑它是否能处理你已有的日志以及能否与你的环境同步。Splunk 有超过 600 个可用的插件,为它处理日志提供了强力的支撑。Sumo Logic 是为特定的大型工具设计,包括开发自动化工具、云平台、系统平台,以及安全工具。Sumo Logic 覆盖了主流的工具,但对于较小的或比较少见的工具则无能为力。Logstash 作为开源工具,它的插件一直在增长,目前它已有超过 160 个插件,大部分来自社区。
  • 价格:Splunk 的价格为每年 1800 到 60000 美元,Sumo Logic 提供一个精简的免费版,以及 60 美元 /G 的收费版本。Logstash 则为开源免费,不过你仍然需要自己承担服务器和带宽费用。
  • 文档和社区:对于工具的选择,文档的丰富程度以及社区的活跃程度也是重要的考量指标。Splunk 拥有非常丰富的文档,以及以在线论坛形式组织的社区。Logstash 的文档也不错,不过有些地方存在前后不一致。Sumo Logic 的文档则不够丰富,社区也比较令人困惑。

总结

日志管理工具并不仅仅只有上面这三个,还有很多其它的工具也都很不错,但这三者基本覆盖了日志管理工具的三种模式:on-premises、SaaS 和开源,也正由于三种模式的不同,三者的适用场景也不同,用户需要根据自己的条件进行选择。关于更多的日志管理工具比较,Takipi 在它的电子书《The Definitive Guide for Production Tools》中有更详细的描述。


感谢崔康对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流。

DevOps语言 & 开发架构APM