低成本、灵活的日志聚合

Dan*_*ain 5 ubuntu logging

我开始拥有大量必须管理​​的 Ubuntu VM。我开始研究 Puppet 来管理所有这些的配置,而 apticron 让我知道什么是过时的。但我觉得我应该尽早处理的问题是日志聚合。我想暂时留在免费/开源领域,因为我们还没有太多预算用于 splunk 之类的东西。

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

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

Bit*_*nce 8

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

然后你需要一个称职的 syslog 服务器来进行聚合。我使用 syslog-ng,但那是因为它是 7 年前唯一的严重替代方案。Debian Lenny 改用 rsyslog,它可能拥有更健全的代码库和更多功能。

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

编辑:我应该是明确的。我们的策略是将来自特定主机的所有内容记录到该主机文件夹中的一个或多个文件,同时记录到经过严格过滤的文件,这些文件记录了所有主机上的某些活动。例如,可能存在跨所有主机登录失败的文件。