2016-05-04 25 views
1

私は、rsyslog VMを使用してフィルタリングと転送を実行しようとしています。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 

です。

答えて

0

最初に、$IncludeConfig /etc/rsyslog.d/*.confという行に注目してください。基本的には、貼り付けたrsyslog.confファイルにすべて.conf個のファイルが含まれているということです。そのファイルの最下部にルールを置くのではなく、別のファイルを追加することをお勧めします。例えば、/etc/rsyslog.d/30-testing.confとそのルールをそこに置くことをお勧めします。これはより組織化されており、今後syslogの設定が増える場合に役立ちます。

フィルタなしで動作し、ポート/ファイアウォールが問題にならない場合、実際に動作するはずのものです。フィルタのラインは正常です。あなたはまだ行って、多分試みるかもしれません。また

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

、あなたはrsyslogのサービス設定ファイルを変更するたびに再起動されますか?そうする必要があるかもしれません。使用しているrsyslogのバージョンを投稿することはできますか?

+0

ありがとうございました。私はそれが動作していないrsyslogではないことを理解しました。私が送っていたテストメッセージはそれに合うほど長くはありませんでした。メッセージとして「テスト」を送信するだけでは、ルールは機能しませんでした。あなたが「私はちょうどテストしています」というメッセージを送ると、それは機能します私は、メッセージの部分は、それが一致しているいくつかの長さの条件を持っていると思う..私はこれを把握するために設定ファイルでデバッグを有効にしなければならなかった。 – Harry

+0

@ハリーそれは実際に面白いです、それは私のためにはうまくいく(しかし、私はローカルファイルにのみロギングしています)。私のrsyslog設定ファイルには: '$ msgに 'testing'と/ var/log/mylog.logが含まれていて、' logger "のテストを実行した後、' mylog.log'にログラインがあります: 'May 9 14:56:25 myServerHostname root:testing'。それはうまくログに記録されるので、それはあなたのためにはうまくいかないのです。私はUbuntu 12.04(rsyslogバージョン:5.8.6)を使っています。 – drewyupdrew

+0

私はCentos 7.2を使っていますが、ファイルにロギングしていないだけでなく、私のラップトップのデーモンである別のsyslogサーバにロギングしています。ここにテキストファイルを追加するだけです。少なくとも私はrsyslogで何か新しいことを学んだ:) – Harry

関連する問題