首页 > 解决方案 > syslog-ng 读取和删除通配符文件选项

问题描述

我打算用 syslog-ng 替换 logstash。我正在寻找我目前在 Logstash 中使用的 syslog-ng 中的类似功能使用 logstash “文件输入”有一种称为“读取”的模式。</p>

在这种模式下,插件将每个文件视为内容完整,即有限的行流,现在 EOF 很重要。不需要最后一个分隔符,因为 EOF 意味着可以将累积的字符作为一行发出。此外,这里的 EOF 意味着文件可以关闭并置于“未监视”状态 - 这会自动释放活动窗口中的空间。此模式还可以处理内容完整的压缩文件。读取模式还允许在完全处理文件后执行操作。(例如删除)请参阅https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html#plugins-inputs -file-file_completed_action

我浏览了https://marc.info/?l=syslog-ng&m=154148918830151&w=2 讨论了一些类似的主题。并提出以下配置。(我不知道存在,但我觉得它肯定会在我的用例中工作,并且还有助于 syslog-ng 保持其持久文件较小)

源 s_file_clearup { 通配符文件(基本目录(“/tmp/”)文件名模式(“*”)删除 EOF(是));};

我的要求是由于 mod 安全日志中的这个

并发审计日志 最初,ModSecurity 仅支持串行审计日志格式。引入并发日志记录是为了解决两个问题:

./20090822

./20090822/20090822-1324

./20090822/20090822-1324/20090822-132420-SojdH8AAQEAAAugAQAAAAAA

./20090822/20090822-1324/20090822-132420-SojdH8AAQEAAAugAQEAAAAA

该方案的目的是防止在一个目录中创建过多的文件;许多文件系统都有一些限制,在繁忙的 Web 服务器上可以相对较快地达到这些限制。每个文件名的前两部分基于时间(YYYYMMDD 和 HHMMSS)。第三个参数是唯一的交易ID。

我希望我有一个有效的要求,并且其他供应商已经给出了配置选项。只是想知道我们如何使用 syslog-ng 处理这个问题

此外,我无法加入 syslog-ng 邮件列表,因为我无法访问该站点https://lists.balabit.hu/mailman/listinfo/syslog-ng 。

标签: syslog-ng

解决方案


推荐阅读