ログをrsyslogサーバーに転送するルーターがあり、タイムスタンプをローカルタイムスタンプに置き換えるようにrsyslogサーバーを構成しようとしています。メッセージの形式は次のとおりです。
Jan 1 00:00:47 192.168.1.254 kernel: br0: port 1(eth0) entered forwarding state
このルータ(192.168.1.254)からのすべてのメッセージに対してこれを行う最良の方法は何ですか?
ベストアンサー1
これを処理する最も簡単な方法は、すでに使用しているテンプレートのコピーであるテンプレートを作成し、そのtimestamp
プロパティを変更することですtimegenerated
。たとえば、ファイルに書き込んでデフォルト値を使用するとします。RSYSLOG_TraditionalFileFormat
金型myFileFormat
その後、IPアドレスを作成してテストし、一致ルールを入力できます。以前の形式では、ルールはログファイル名と;
テンプレート名を順番に使用します。
template(name="myFileFormat" type="string" string="%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp% %msg:::drop-last-lf%\n")
if $fromhost-ip == "192.168.1.254" then {
*.* /my/logfile;myFileFormat
stop
}