Shell多日志监控和关联

时间:2013-07-03 03:30:54

标签: linux bash shell tail

我已经尝试了好几天但仍然在苦苦挣扎。

该脚本的目标是在多个服务器上执行实时日志监视(特别是29个)并关联服务器之间的登录失败记录。服务器的日志将在每天23:59:59压缩,新的日志从0点开始。

我的想法是在每台服务器上使用tail -f | grep "failed password" | tee centralized_log,通过所有服务器名称循环激活,在后台运行,并将登录失败记录输出到集中日志。但它不起作用。它会创建很多守护进程,一旦我终止脚本就会变成僵尸。

我也在考虑在几分钟的时间内做tail。但随着日志变大,处理时间也会增加。如何设置指向前一个tail停止的位置的指针?

那么请你建议一个更好的工作方式来进行多个日志监控和关联。除非完全必要,否则不鼓励其他安装。

1 个答案:

答案 0 :(得分:1)

如果您的日志是通过syslog进行的,并且您正在使用rsyslogd,那么您可以在每台计算机上配置syslog,以将您感兴趣的特定消息转发到一个(或两个)集中式日志服务器,使用类似的属性匹配:

:msg, contains, "failed password"

有关如何设置可靠的系统日志转发的详细信息,请参阅rsyslog documentation