推荐5个好用的开源日志分析工具


推荐5个好用的开源日志分析工具

原创: Sam Bocetta InfoQ
作者 | Sam Bocetta 译者 | 平川

监控网络活动可能是一项单调而乏味的工作,但你有充分的理由要这样做。首先,它可以帮助你查找和调查工作站、连网设备和服务器上的可疑登录,同时确定管理员滥用的源头。还可以跟踪软件安装和数据传输,以便实时识别潜在的问题。

这些日志还有助于公司遵守适用于欧盟内任何实体的《通用数据保护条例》(GDPR)。因为如果你的网站要在欧盟是可浏览的,那么就必须遵守 GDPR。

日志记录(跟踪和分析)应该是任何监控基础设施中的一个基本过程。要从灾难中恢复 SQL Server 数据库,就需要事务日志文件。此外,通过跟踪日志文件,DevOps 团队和数据库管理员(DBA)可以保持最佳的数据库性能,或者在网络受到攻击的情况下找到未授权活动的证据。因此,定期监视和分析系统日志非常重要。

现下有相当多的开源日志跟踪器和分析工具可供使用,这使得为活动日志选择正确的资源变得比想象中更容易。免费和开源软件社区提供了适用于各种站点以及几乎任何操作系统的日志设计,为大家推荐 5 个非常好用的开源日志分析工具。

Graylog Graylog 于 2011 年在德国创建,现在作为开源工具或商业解决方案提供。它被设计成一个集中式日志管理系统,接收来自不同服务器或端点的数据流,并允许用户快速浏览或分析该信息。

由于其易于扩展,Graylog 在系统管理员中建立了良好的声誉。大多数 Web 项目开始时规模很小,但是之后可能会成倍增长。Graylog 可以平衡跨后端服务器网络的负载,每天处理几 TB 的日志数据。

IT 管理员会发现,Graylog 的前端界面易于使用,并且功能强大。Graylog 是围绕仪表板的概念构建的,它允许你选择你认为最有价值的度量标准或数据源,并快速查看随着时间的变化趋势。

当发生安全或性能事件时,IT 管理员希望能够尽可能快地从症状追溯到根源。Graylog 中的搜索功能使这项工作变得简单。它具有内置的容错功能,可以运行多线程搜索,因此,你可以同时分析多个潜在的威胁。

https://www.graylog.org/products/open-source

Nagios Nagios 始于 1999 年,当时只有一名开发人员,后来发展成为管理日志数据的最可靠的开源工具之一。当前版本的 Nagios 可以与运行 Microsoft Windows、Linux 或 Unix 的服务器集成。

它的主要产品是一个日志服务器,其目的是简化数据收集并使系统管理员更容易访问信息。Nagios 日志服务器引擎将实时捕获数据并将其提供给一个强大的搜索工具。由于内置了安装向导,集成新端点或应用程序变得很容易。

Nagios 最常用于需要监视本地网络安全性的组织。它可以审计一系列与网络相关的事件,并帮助你自动分发警报。如果满足特定的条件,甚至可以将 Nagios 配置为运行预定义的脚本,从而让你可以在人员介入之前解决问题。

作为网络审计的一部分,Nagios 将根据日志数据来源的地理位置过滤日志数据。这意味着你可以使用映射技术构建一个全面的仪表板,以了解 Web 流量是如何流动的。

https://www.nagios.org/downloads/

Elastic Stack Elastic Stack,通常称为 ELK Stack,是那些需要筛选大量数据并理解其系统日志的组织中最流行的开源工具之一(这是我个人的最爱)。

它主要由以下三个独立的产品组成:

顾名思义,Elasticsearch 旨在帮助用户使用多种查询语言和类型在数据集中找出匹配项。速度是这个工具的最大优势。它可以扩展成由数百个服务器节点组成的集群,轻松处理 PB 级的数据。

Kibana 是一个可视化工具,它与 Elasticsearch 一起运行,允许用户分析他们的数据并构建强大的报告。当你第一次在服务器集群上安装 Kibana 引擎时,你将获得一个显示数据统计、图形甚至动画的界面。

ELK Stack 的最后一部分是 Logstash,它是作为一个纯粹的、进入 Elasticsearch 数据库的服务器端管道。你可以使用各种编码语言和 API 集成 Logstash。这样,你的网站和移动应用程序中的信息就可以直接输入到强大的 Elastic Stalk 搜索引擎中。

ELK Stack 的一个独特特性是,它允许你监控构建在 WordPress 开源版本上的应用程序。与大多数跟踪管理和 PHP 日志(仅此而已)的开箱即用的安全审计日志工具相比,ELK Stack 可以筛选 Web 服务器和数据库日志。

糟糕的日志跟踪和数据库管理是导致网站性能差的最常见原因之一。如果没有定期检查、优化和清空数据库日志,不仅会降低站点的运行速度,还可能导致完全崩溃。因此,ELK 堆栈对于每个 WordPress 开发人员的工具包来说都是一个优秀的工具。

https://www.elastic.co/products/

LOGalyze LOGalyze 是一个位于匈牙利的组织,它为系统管理员和安全专家构建开源工具,帮助他们管理服务器日志并将其转换为有用的数据点。其主要产品可供个人或商业用户免费下载。

LOGalyze 被设计成一个巨大的管道,其中可以有多个服务器、应用程序和网络设备使用简单对象访问协议(Simple Object Access Protocol,SOAP)方法提供信息。它提供了一个前端界面,管理员可以登录该界面监控数据收集并开始分析数据。

在 LOGalyze 的 Web 界面中,你可以运行动态报告,并将其导出成 Excel 文件、PDF 或其他格式。这些报告基于 LOGalyze 后台管理的多维统计数据。它甚至可以跨服务器或应用程序组合数据字段,以帮助你发现性能趋势。

LOGalyze 被设计成在不到一个小时内就可以完成安装和配置。它预先构建的功能使它能够以法规所要求的格式收集审计数据。例如,LOGalyze 可以很容易地运行不同的 HIPAA 报告,以确保你的组织遵守卫生法规并保持合规性。

http://www.logalyze.com/

Fluentd 如果你的组织的数据源位于许多不同的位置和环境中,那么你的目标应该是尽可能地集中它们。否则,你将难以监控性能并防范安全威胁。

Fluentd 是一个健壮的数据收集解决方案,并且完全是开源的。它没有提供完整的前端界面,而是作为一个集合层来帮助组织不同的管道。Fluentd 被世界上一些最大的公司使用,但是也可以在较小的组织中实施。

Fluentd 最大的好处是它与当今最常见的技术工具兼容。例如,你可以使用 Fluentd 从 Web 服务器(如 Apache)收集数据,从智能设备收集传感器数据,从 MongoDB 收集动态记录。如何处理这些数据完全由你决定。

Fluentd 基于 JSON 数据格式,可以与 500 多个由著名开发人员创建的插件一起使用。这使你可以将日志数据扩展到其他应用程序中,并通过最少的手工工作来进行更好地分析。

https://www.fluentd.org/

小 结 如果你还没有把活动日志用于安全考量、政府合规性和生产力度量,那么请务必改变这种情况。市场上有很多插件,它们可以用于多种环境和平台,甚至可以用在你的内部网络上。不要等到发生了严重的事件,才开始采取积极主动的方法来维护和监督日志