我开始拥有必须管理的Ubuntu VM集合.我开始调查Puppet管理所有这些的配置,以及apticron让我知道什么是过时的.但我认为我应该尽早处理的问题是日志聚合.我现在想留在免费/开源领域,看到我们没有像splunk那样的预算.
除了syslog之外,我还想收集应用程序特定的日志(我们在不同的机器上运行不同的应用程序,从Nginx乘客到rails,到Apache Tomcat for java,到PHP用于表达式引擎,以及MysqL / postgresql数据库服务器),所以我们可以分析相关数据.
现在,我只是想把所有日志都放到一个地方.
许多应用程序可以登录到syslog,这意味着您可以将日志记录到日志服务器. apache,MysqL,tomcat(log4j)至少可以.
然后,您需要一个称职的系统日志服务器来进行聚合.我使用syslog-ng,但这是因为它是7年前唯一的认真选择. Debian Lenny转而使用rsyslog,它可能具有更健全的代码库和更多功能.
根据我的经验,一个好的正则表达式引擎是聚合系统日志服务器中最重要的部分.你想要过滤掉很多gorp,这样你就可以看到相关的部分.如果您想快速入门,还可以将logwatch指向聚合日志.
编辑:我应该明确.我们的策略是将所有内容从特定主机记录到该主机的文件夹中的一个或多个文件,同时记录到严重过滤的文件,这些文件记录了所有主机上的某些活动.例如,可能存在跨所有主机登录失败的文件.