ネットワークデバイスからのすべてのSyslogを統合するSyslogサーバー(RHEL 7.4でrsyslogを実行)があります。 TCP/514ポートでリッスンしています。
各デバイスのログを、/var/log/messages
にすべて取得するのではなく、専用のディレクトリ(IPアドレスに基づく)の異なるファイルにリダイレクトしたい。どうやってやるの?
それはここのrsyslog Webサイトに文書化されているようです: https://www.rsyslog.com/storing-and-forwarding-remote-messages
要約する :
たとえば、次のようなログファイルのテンプレートを定義する必要があります。
# log every Host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
次に、このテンプレートをリモートホストからのメッセージに適用します。
# Remote Logging
$RuleSet remote
*.* ?RemoteHost