rsyslog のtemplate を使ってログファイルを日付、ホスト別に生成

でら便利

$template vyattafilename1, "/var/log/vyatta/%$hostname$%/%$year%%$month%/%$month%%$day%.log"
:fromhost-ip, startswith, "192.168.100." ?vyattafilename1

例えばこうすると、192.168.100.* のIPからのsyslogが飛んできた時点で /var/log/vyatta/vyatta-1/201203/0327.log
のように生成される。(ディレクトリも自動で作成される)

動的に処理している分、templateとremote hostが膨大になってくると負荷があがるかもしれない。(そんな大規模でsyslog serevr作ったことないのでわからない)が、数十台ぐらいであれば大丈夫であろうと思われる(要出典)