我想嘗試使用rsyslog虛擬機進行過濾和轉發。rsyslog過濾和轉發
當我使用
*.* @@192.168.1.100:514
它轉發所有日誌,該日誌服務器。
我需要做的是過濾掉包含「測試」和「流量」的日誌,並防止日誌從本地主機發送到日誌服務器。
我已經嘗試了很多方法來實現這種組合並失敗。一旦我使用過濾器,我只是沒有收到任何日誌到目的地。
的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
我的配置不工作。
謝謝德魯。我發現這不是沒有工作的rsyslog。我發送的測試消息不夠長,無法與之匹配。如果您只是發送「測試」作爲消息,則規則不起作用。如果你發送「我只是測試」它的作品。我認爲消息部分有一些長度條件後,它匹配..我必須在配置文件中啓用調試來弄清楚這一點。現在它適用於我,並非常感謝你回答我的問題 – Harry
@Harry這其實很有趣,它對我很好(但我只記錄到本地文件)。我在我的rsyslog配置文件中: '如果$ msg包含'testing',那麼/ var/log/mylog.log'並在運行'logger'測試''命令後,然後在'mylog.log'中看到logline : '5月9日14:56:25 myServerHostname root:testing'。它記錄得很好,所以很奇怪它不適合你。我在Ubuntu 12.04(rsyslog版本:5.8.6),如果這有所作爲。 – drewyupdrew
我使用的是Centos 7.2,除了沒有記錄到文件之外,我正在記錄到另一個系統日誌服務器,它本質上只是我的筆記本電腦中的一個守護進程。它只是在這裏追加一個文本文件。至少我用rsyslog學到了一些新東西:) – Harry