在今天的文章中,我们将立足开发者的角度,回顾目前最受欢迎的五款日志管理工具,并具体分析其优劣因素。
1. Fluentd
Fluentd是一款开源数据收集工具,允许大家进行数据集整合并充分利用及理解数据内容。Fluentd拥有相当出色的性能表现:其规模最大的用户目前利用超过5000台服务器收集数据,每日数据量达5 TB,且峰值时段处理50000条消息/每秒。没错,其最大的优势也正在于性能。Fluentd拥有一套灵活的插件系统,允许使用者轻松扩展其功能性。
优势
Apache 2.0许可型项目。
● 超过300款社区贡献插件。
● 对系统资源要求极低。
● 内置高可靠性。
● 在多套系统中存储数据。
缺点
● 不提供任何内置可视化工具。
2. LogPacker
LogPacker负责提供两套解决方案:独立方案与云方案。其中独立版负责监控集群内探针与服务器构成的网络。这套网络可包含任意数量服务器。而探针则可安装或者集成至多种系统平台,包括Unix、Windows、Android、iOS、WP胜网站JS。与此同时,服务器从全部探针处接收日志并将其保存至任意存储介质之上。LogPacker的主要优势在于可直接使用,同时发现并向集群发送全部来自服务器上的分组及综合日志。
全部LogPacker服务皆以Go语言编写,且充分考虑高性能需求。其探针实例在默认服务器安装用例中往往仅占用30到40 MB内存。
优势
● 内置支持超过100种日志源类型。
● 拥有多家存储供应商。
● 经由邮件、Slack或短信实现的报警与报告系统。
● 易于安装。
● 可靠的集群化效果。
● 广泛的平台支持能力(Unix、Windows、移动、JS)。
● 利用REST API基于已保存数据构建定制化解决方案。
● 事件整理与安全性。
● 高性能。
● 基于磁盘的云仪表板。
缺点
●独立版不具备内置Web界面。
●免费版最多仅支持集群内添加五套服务器。
3. Logstash
Logstash属于ELK堆栈的组成部分,后者包括ElasticSearch(集群化搜索与存储系统)与Kibana(ElasticSearch的Web前端)。凭借着200款插件,Logstash能够接入多种数据源并大规模将数据流导入中央分析系统。Logstash在设计中充分考虑到可扩展性需求,提供API以供社区快速开发插件。随着插件生态系统的快速发展,贡献者能够随时发布新型插件。
优势
●自由且开源。
●能够与其它Elastic产品轻松集成。
●通过插件实现功能扩展。
●过滤器为代码。
缺点
●不提供捆绑UI。
●过滤器可能难以编写。
●不具备原生警报功能。
4. Graylog
Graylog是一款开源方案,号称能够实现与Splunk相同的功能。Graylog由Java编写而成,而Web界面则由Ruby on Rails编写。Graylog无法直接读取系统日志文件。相反,大家需要将消息直接发送至Graylog,这种作法显然比较麻烦。大家可以像在Splunk中一样进行数据搜索。当然,Graylog也能够实现警报功能,但警报邮件的内容相对薄弱,仅提供引用自Graylog Web界面中的搜索结果。
优势
●自由且开源。
●流机制允许实时识别事件并执行操作。
●易于设置。
●服务器端功能可通过插件进行扩展。
●REST API。
●直观的搜索界面。
缺点
●Graylog仅支持系统日志与GELF。
5. Logagent-js
Logagent-js包含一款命令行工具,默认面向作为Elasticsearch后端的Logsene进行设置,用以存储已发布日志。Logagent-js可利用内置模式定义自动检测日志格式(并允许大家提供定制化模式)。
优势
●轻量化且易于安装(通过NPM)。
●警报查询。
●自由且开源。
缺点
●不提供原生UI。
●仅支持JSON与ES输出选项。
●说明文档质量不高。
原文标题:Top 5 Log Management Enterprise Tools,原文作者:Elena Berezhnaya