14.6. UDP でリモートロギング情報を受信するためのサーバー設定
Rsyslog アプリケーションを使用すると、リモートシステムからロギング情報を受信するようにシステムを設定できます。UDP 経由でリモートロギングを使用するには、サーバーとクライアントの両方を設定します。受信サーバーは、クライアントシステムが送信したログの収集および分析を行います。デフォルトでは、rsyslog
はポート 514
で UDP を使用して、リモートシステムからログ情報を受信します。
以下の手順に従って、UDP プロトコルでクライアントシステムが送信したログの収集および分析を行うサーバーを設定します。
前提条件
- rsyslog がサーバーシステムにインストールされている。
-
サーバーに
root
としてログインしている。 -
policycoreutils-python-utils
パッケージは、semanage
コマンドを使用して任意の手順でインストールします。 -
firewalld
サービスが実行している。
手順
必要に応じて、デフォルトのポート
514
以外のrsyslog
トラフィックに別のポートを使用するには、次のコマンドを実行します。SELinux ポリシー設定に
syslogd_port_t
SELinux タイプを追加し、portno
はrsyslog
で使用するポート番号に置き換えます。# semanage port -a -t syslogd_port_t -p udp portno
rsyslog
の受信トラフィックを許可するようにfirewalld
を設定します。portno
はポート番号に、zone
はrsyslog
が使用するゾーンに置き換えます。# firewall-cmd --zone=zone --permanent --add-port=portno/udp success # firewall-cmd --reload
ファイアウォールルールを再読み込みします。
# firewall-cmd --reload
/etc/rsyslog.d/
ディレクトリーに.conf
の新規ファイル (例:remotelogserv.conf
) を作成し、以下のコンテンツを挿入します。# Define templates before the rules that use them # Per-Host templates for remote systems template(name="TmplAuthpriv" type="list") { constant(value="/var/log/remote/auth/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } template(name="TmplMsg" type="list") { constant(value="/var/log/remote/msg/") property(name="hostname") constant(value="/") property(name="programname" SecurePath="replace") constant(value=".log") } # Provides UDP syslog reception module(load="imudp") # This ruleset processes remote messages ruleset(name="remote1"){ authpriv.* action(type="omfile" DynaFile="TmplAuthpriv") *.info;mail.none;authpriv.none;cron.none action(type="omfile" DynaFile="TmplMsg") } input(type="imudp" port="514" ruleset="remote1")
514
は、rsyslog
がデフォルトで使用するポート番号です。代わりに別のポートを指定できます。/etc/rsyslog.conf
ファイルの構文と/etc/rsyslog.d/
ディレクトリー内の全.conf
ファイルを確認します。# rsyslogd -N 1 rsyslogd: version 8.1911.0-2.el8, config validation run...
rsyslog
サービスを再起動します。# systemctl restart rsyslog
必要に応じて、
rsyslog
が有効になっていない場合は、再起動後にrsyslog
サービスが自動的に起動するようにします。# systemctl enable rsyslog
関連情報
-
システム上の
rsyslogd(8)
、rsyslog.conf(5)
、semanage(8)
、およびfirewall-cmd(1)
man ページ -
/usr/share/doc/rsyslog/html/index.html
ファイルにrsyslog-doc
パッケージでインストールされたドキュメント。