rsyslog 根据主机名排除日志

rsyslog 根据主机名排除日志

我们已设置 rsyslog 服务器以将消息转发到我们的 Splunk 盒。但是,我们想消除一些噪音,因此我们设置了特定的程序来忽略。因此,基本上,如果日志是 dhcpd,则丢弃。转发其他所有内容。

if $programname != 'dhcpd' then @@0.0.0.0:514

有没有办法根据主机名中的单词排除某些主机名。例如:

hostname-ABC1.log <--- exclude
hostname2-ABC1.log <--- exclude
reghostname <---- keep and forward

版本 5.8.10

答案1

最好将日志导入 Splunk,然后让 UniversalFowarder 或 Indexer 删除您需要的内容。使用 Splunk 进行调整比修改 rsyslog 要容易得多。您可以使用 props 和 transforms 来执行此操作。

设置你需要的内容属性配置文件 然后转换配置文件

我会做的是使用正则表达式。

在你的 props.conf 中:

[source::udp:514]
TRANSFORMS-drop_hosts = drop_ABCHOSTS

在你的transforms.conf中:

[drop_ABCHOSTS]
SOURCE_KEY = Metadata:Host
REGEX = ABC1\.log
DEST_KEY = queue
FORMAT = nullQueue

相关内容