我已经尝试了好几天但仍然在苦苦挣扎。
该脚本的目标是在多个服务器上执行实时日志监视(特别是29个)并关联服务器之间的登录失败记录。服务器的日志将在每天23:59:59压缩,新的日志从0点开始。
我的想法是在每台服务器上使用tail -f | grep "failed password" | tee centralized_log
,通过所有服务器名称循环激活,在后台运行,并将登录失败记录输出到集中日志。但它不起作用。它会创建很多守护进程,一旦我终止脚本就会变成僵尸。
我也在考虑在几分钟的时间内做tail
。但随着日志变大,处理时间也会增加。如何设置指向前一个tail
停止的位置的指针?
那么请你建议一个更好的工作方式来进行多个日志监控和关联。除非完全必要,否则不鼓励其他安装。
答案 0 :(得分:1)
如果您的日志是通过syslog进行的,并且您正在使用rsyslogd
,那么您可以在每台计算机上配置syslog,以将您感兴趣的特定消息转发到一个(或两个)集中式日志服务器,使用类似的属性匹配:
:msg, contains, "failed password"
有关如何设置可靠的系统日志转发的详细信息,请参阅rsyslog documentation。