低成本、灵活的日志聚合

低成本、灵活的日志聚合

我开始拥有大量必须管理​​的 Ubuntu VM。我开始研究 Puppet 来管理所有 VM 的配置,并使用 apticron 来让我知道哪些配置已过期。但我觉得我应该尽快处理的问题是日志聚合。考虑到我们还没有太多预算用于像 splunk 这样的东西,我现在想留在免费/开源领域。

除了 syslog 之外,我还想收集特定于应用程序的日志(我们在不同的机器上运行不同的应用程序,从 rails 的 nginx+passenger,到 java 的 Apache+Tomcat,到表达式引擎的 PHP,以及 mysql/postgresql 数据库服务器),以便我们可以分析相关数据。

现在,我只是想将所有日志集中在一个地方。

答案1

许多应用程序可以记录到 syslog,这意味着您可以将日志发送到日志服务器。至少 apache、mysql、tomcat(log4j)可以。

然后,您需要一个功能强大的 syslog 服务器来进行聚合。我使用 syslog-ng,但那是因为它是 7 年前唯一的替代方案。Debian Lenny 改用 rsyslog,它可能具有更合理的代码库和更多功能。

根据我的经验,一个好的正则表达式引擎是聚合系统日志服务器最重要的部分。有很多 gorp 需要过滤掉,以便查看相关部分。如果您想快速入门,还可以将 logwatch 指向聚合日志。

编辑:我应该说清楚。我们的策略是将特定主机的所有内容记录到该主机文件夹中的一个或多个文件中,同时记录到经过严格筛选的文件中,这些文件记录了所有主机上的某些活动。例如,可能有一个文件记录了所有主机上的登录失败情况。

答案2

另一个有趣的项目是八爪女。它是一款开源日志分析器、警报器和报告器。我还没有机会安装它,但我听说它很好用。

其他人提到了 Zenoss。我使用 Zenoss,虽然它可以根据日志发出警报,但我不会说这是它的强项。它的主要任务是基于 snmp 进行监控和警报,这也是我使用它的目的。

答案3

日志记录具有高度可扩展性(数亿个事件),成本仅为同类软件的十分之一。使用起来也更加方便。

答案4

在分析摘要中,水槽是一款出色的开源日志传输和聚合器。它拥有活跃的社区,并得到了Cloudera

相关内容