rsyslog过滤和转发

时间:2016-05-04 17:35:29

标签: rsyslog

我尝试使用rsyslog vm实现过滤和转发。

当我使用

*.* @@192.168.1.100:514

它将所有日志转发到该日志服务器。

我需要做的是过滤掉包含'测试'和'流动'并且还防止来自localhost的日志被发送到日志服务器。

我尝试了许多方法来实现这种组合并失败了。一旦我使用过滤器,我就不会收到任何到目的地的日志。

rsyslog.conf的剩余完整内容是

# rsyslog configuration file

# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html

#### MODULES ####

# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
#$ModLoad imklog # reads kernel messages (the same are read from journald)
#$ModLoad immark  # provides --MARK-- message capability

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

#### GLOBAL DIRECTIVES ####

# Where to place auxiliary files
$WorkDirectory /var/lib/rsyslog

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

# Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
$OmitLocalLogging on

# File to store the position in the journal
$IMJournalStateFile imjournal.state

#### RULES ####
if $msg contains 'testing' then @@192.168.1.100:514
#*.* @@192.168.1.100:514

我的配置无效。

1 个答案:

答案 0 :(得分:0)

首先,请注意第$IncludeConfig /etc/rsyslog.d/*.conf行。基本上它说所有.conf文件都将包含在您粘贴的rsyslog.conf文件中。因此,我建议您添加另一个文件,比如/etc/rsyslog.d/30-testing.conf并将规则放在那里,而不是将规则放在该文件的底部。这更有条理,如果您的syslog配置将来增长,将会很有用。

除此之外,如果它在没有过滤器的情况下工作,因此端口/防火墙不是问题,而不是真正应该工作 - 你的过滤器线看起来很好。您可能已经这样做了,但也许可以尝试:

:msg, contains, "testing"         @@192.168.1.100:514

另外,每次更改配置文件时是否重新启动rsyslog服务?您可能需要这样做。你还可以发布你正在使用的rsyslog版本吗?