有没有更好的方法来处理 ossec-logcollector?

有没有更好的方法来处理 ossec-logcollector?

我一直致力于将应用程序日志与 ossec logcollector 集成。

我已经成功创建、解码命令、规则等,并且一切正常并触发触发器。

但是我们的应用程序会轮换日志,直到触发特定事件时才会创建日志。并且 ossec-logcollector 不会读取新文件。

我可以尝试多种方法,但都不太理想。

  1. 每天接触文件并重启 ossec-logcollector。
  2. Cronjob 每 10 分钟重启一次 ossec-logcollector [好的,这将再次是非实时的]。
  3. 编写脚本检查这些文件何时创建,如果是新文件则重新启动 ossec-logcollector。我还没有弄清楚,但我认为这是可能的。
  4. 使用 wc -l 使用 ossec 命令检查差异,如果有新文件,则将脚本写入触发规则并重新启动 ossec-logcollector。

但是在 ossec 中有没有更好的方法可以做到这一点?或者有没有办法让 ossec-logcollector 也检查新文件?

答案1

我遇到了同样的问题,我建议使用下面的脚本,或者检查日志保留发生时是否有日志条目,并根据此条目创建解码器/规则/主动响应,从而重新启动日志收集器

# cat /var/ossec/scripts/logcheckerd

        #!/bin/bash
        # Author:0xFFFFFF www.white-hacker.org
        old_data=$(ls /var/log/ossec/|md5sum|cut -d " " -f 1)
        while true; do
                sleep 1
                new_data=$(ls /var/log/ossec/|md5sum|cut -d " " -f 1)
                if [ "$new_data" != "$old_data" ]; then
                /var/ossec/bin/ossec-control restart    
                        old_data=$(printf $new_data)
                fi
        done

# setsid /var/ossec/scripts/logcheckerd >/dev/null 2>&1 < /dev/null

0xFFFFFF

相关内容