現在、ログをrsyslogサーバー(ironportプロキシ)に送信しています。サーバーはポート514でudpパケットを受信します。ポート514でtcpdumpを確認すると、syslogメッセージが大量に表示されるのでわかります。
しかし、問題は、これらのメッセージをファイルにリダイレクトできないことです。私はウェブ上で(そしてここでも)見た多くのことを試しましたが、うまくいきません。これを行う適切な方法は何ですか?ここの誰かが私の問題への答えを知っているなら:roll:
前もって感謝します
Syslogメッセージを受信するサーバーのUDPポート514で、次の構成を追加する必要があります。
$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 10.42.0.0/15 127.0.0.1
$template RemoteStore, "/var/log/remote/%HOSTNAME%/%timegenerated:1:10:date-rfc3339%"
:source, !isequal, "localhost" -?RemoteStore
:source, isequal, "last" ~
適切な送信者(replace 10.42.0.0/15
)を許可していることを確認し、rsyslogを再起動します。次に、リモートログは/var/log/remote/$hostname/YYYY-MM-DD
にあります。
さらに/ CentOSの詳細:ファイアウォールが有効になっている可能性がかなりあります。その場合、UDPポート514へのインバウンドトラフィックをドロップしている可能性があります。ファイアウォールのステータス(systemctl status firewall
)を確認してください。有効になっている場合は、ルールを追加してみてください。
# firewall-cmd --get-default-zone
public
# firewall-cmd --zone=public --add-port=514/udp
# firewall-cmd --permanent
# firewall-cmd --reload
SELinuxを確認することをお勧めします。有効になっている場合は、それを確認してください rsyslogがポート514へのUDPトラフィックを受信できるようにします 。
私は最近、これとまったく同じ問題に頭を悩ませていました。私はSYNからの上記の2つの提案を試しました-まだサイコロはありません。 :(
RHEL 7で、私はついに「ACCEPT」ルールを/ etc/sysconfig/iptablesに追加する必要があることに気付きました。
-A INPUT -m state --state NEW -m udp --dport 514 -j ACCEPT
これは、ファイル内の「拒否」ルールの前に表示する必要があります。それが整ったら、物事は金色でした! :)