rsyslogサーバの設定

スポンサーリンク

syslogサーバと、syslogをサーバへ転送するクライアントの設定です。
Ubuntu/CentOS/Rocky Linux について、rsyslogの設定を説明します。なお、サーバへログを転送するプロトコルにはTCPとUDPが選択できますが、ここではUDPで送信する場合です。

サーバ

他マシンからのログ転送を受け入れるサーバーの設定です。

Ubuntuの場合

/etc/rsyslog.conf で以下を設定します。
クライアントからのログ転送を受け付けるアドレスを指定したい場合は、$AllowedSender で指定します。
ここでは、192.168.1.0/24 からのログ転送を受け入れています。

module(load="imudp")
input(type="imudp" port="514")
$AllowedSender UDP, 192.168.1.0/24

続けて、/etc/rsyslog.conf の
$IncludeConfig /etc/rsyslog.d/*.conf
の行の前に、次を記述します。
転送されてきたログを、/var/log/remote/転送元ホスト名/年月日_messages.log のファイル名で保存します。
ディレクトリ /var/log/remote/転送元ホスト名 は、自動的に作成されます。事前の作成は不要です。

$template RemoteHost,"/var/log/remote/%fromhost%/%$year%%$month%%$day%_messages.log"

:fromhost-ip, !isequal, "127.0.0.1" -?RemoteHost
& stop

もともと /var/log 下に出力されているサーバー自身のログは、上記設定後も /var/log 下に出力されます。

rsyslogサービスを再起動して、設定を適用させます。

systemctl restart rsyslog

また、ファイアウォールの設定で、UDP の514番ポートあての通信を許可しておいてください。

CentOS/Rocky Linuxの場合

/etc/rsyslog.conf で以下を設定します。
クライアントからのログ転送を受け付けるアドレスを指定したい場合は、$AllowedSender で指定します。
ここでは、192.168.1.0/24 からのログ転送を受け入れています。

module(load="imudp")
input(type="imudp" port="514")
$AllowedSender UDP, 192.168.1.0/24

続けて、/etc/rsyslog.conf の #### RULES #### の行の後に、次を記述します。
転送されてきたログを、/var/log/remote/転送元ホスト名/年月日_messages.log のファイル名で保存します。
ディレクトリ /var/log/remote/転送元ホスト名 は、自動的に作成されます。事前の作成は不要です。

$template RemoteHost,"/var/log/remote/%fromhost%/%$year%%$month%%$day%_messages.log"

:fromhost-ip, !isequal, "127.0.0.1" -?RemoteHost
& stop

もともと /var/log 下に出力されているサーバー自身のログは、上記設定後も /var/log 下に出力されます。

rsyslogサービスを再起動して、設定を適用させます。

systemctl restart rsyslog

また、ファイアウォールの設定で、UDP の514番ポートあての通信を許可しておいてください。

クライアント

サーバーへログを転送する側の設定です。

Ubuntu/CentOS/Rocky Linuxの場合

/etc/rsyslog.conf で設定します。

ログ出力の設定で、mail.* -/var/log/mail.log の書き方のように、出力先を以下のように @ に続けて指定します。
xxxxxxxx は、サーバーのホスト名/IPアドレスを指定します。DNSサーバーの障害時でもログ転送が行われるように、IPアドレスでの記述をお勧めします。
ポート番号を : の後に記述します。デフォルトでは 514番を使用します。

*.*     @xxxxxxxx:514

rsyslogサービスを再起動して、設定を適用させます。

systemctl restart rsyslog

参考

【Linux】Ubuntu 20.04でSyslogサーバを構築 | willserver for tech-future
CentOS7 を Syslog サーバとして他機器からのメッセージを受信出来るようにする | らくがきちょう v3
rsyslogのサーバとクライアント簡単構築&設定方法解説 | ほそぼそ話

コメント

タイトルとURLをコピーしました