我已使用 rsyslog 和 imfile 设置了日志转发。我该如何查看嵌套日志文件?
现在我正在使用通配符来查看所有匹配的文件log/*.log
,但我有嵌套 1 级深度的日志需要转发:log/EventXXX/*.log
。
不幸的是,我无法更改此目录结构,而且log/Event/
随着时间的推移,会出现新的目录。我知道不幸的是,imfile 目前不支持目录级别的通配符(仅在文件级别)。
答案1
您可以编写一个脚本来扫描新的子目录,并将任何新的子目录添加到您的 rsyslog 配置中,该脚本可以通过 cron 定期运行。
您可能希望将新的配置指令添加到 /etc/rsyslog.d/ 下的新文件,以帮助降低出现错误并完全破坏 syslog 配置的风险。不过,这也许不适合胆小的人。;)
否则,没有好的选项可以自动识别您已经找到的新子目录。需要某种手动干预。
答案2
我最终选择了 Logstash 和 Logstash-forwarder 来完成这个项目。Logstash-forwarder 支持目录级别的通配符,无需人工干预。