Rsyslog は複数のホストから受信し、別のファイルに保存します。

Rsyslog は複数のホストから受信し、別のファイルに保存します。

ホームネットワークのルーターとAPがDebianを実行しているRaspberry Piをsyslogサーバー(rsyslogd 5.8.11)として使用したいと思います。ただし、複数のデバイスからログを簡単に受信し、別の場所に保存する方法の簡単なガイドはどこにもありません。 rsyslogに関する情報は多すぎますが、ほとんどは理解するには複雑すぎます。

ルータのIPは192.168.1.1で、APは192.168.1.5です。

また、実際には必要ありませんが、PiがこれらのログをVPSサーバーに自動的に送信できるようにするかどうか疑問に思います。ルータには動的IPアドレスがあり、DDNS No-IPホスト名を使用します。

答え1

私が見つけた最も簡単な方法は、ホスト名を指定するテンプレートを使用することです。たとえば、次のようになります/etc/rsyslog.conf

$template TmplAuth, "/var/log/%HOSTNAME%/$year-$month-$day.log" 

バラよりhttp://www.rsyslog.com/doc/v8-stable/configuration/properties.htmlテンプレートを使用して定義できるすべての属性のリスト。

答え2

私はGoogleを少し見つけました。協会次の内容が含まれています

#クライアントのIPアドレスに基づいてログファイル名を動的に生成するためのテンプレート。

$template FILENAME,"/var/log/%fromhost-ip%/syslog.log"

#すべてのメッセージを動的に形成されたファイルに書き込みます。各クライアントログ(192.168.1.2、192.168.1.3など)は、FILENAMEテンプレートで構成された別々のディレクトリの下にあります。

*.* ?FILENAME

答え3

/etc/rsyslog.conf一番下に、次の2行を正常に設定しました。

$template DynaFile,"/var/log/system-%HOSTNAME%.log"
*.* -?DynaFile

関連情報