施設とホストに基づいて条件付き配信を実行するためのrsyslogルールを作成する方法は?

施設とホストに基づいて条件付き配信を実行するためのrsyslogルールを作成する方法は?

このルールは別のホストに転送され、送信さrsyslogれます。syslogauth

syslog,auth.*                                  @another-host

次の内容(から抜粋)ここ)fromhostに従ってシステムログを渡します。

:fromhost-ip, !isequal, 192.178.23.10 @192.178.23.10:514

質問:この2つをどのように組み合わせることができますか? 「fromhostが他のログサーバーのIPと同じでない場合は、すべてのログsyslogとsyslogを次に渡します」効果のあるrsyslogルールが必要です。authanother-host

うまくいかないような次のことを試しました。

:fromhost-ip, !isequal, 192.178.23.10 syslog,auth.* @another-host

一般的に、rsyslog構成設定の有効性をどのようにデバッグするのかわかりません。上記が反有効か完全に意味がないかはわかりませんが、rsyslogサービスを再起動してもエラーは発生しません。

答え1

rsyslog設定ファイルの経験がある人にとって、これが正しいのかエレガントなものであるかはわかりませんが、次のように動作するようです。

if $fromhost-ip != '192.178.23.10' and ($syslogfacility-text == 'syslog' or $syslogfacility-text == 'auth') then @another-host

関連情報