rsyslog のプロパティ設定

プロパティ設定をすることで、ログの出力先を分けることが出来ます。 

 

RHEL6.0 より従来からの syslog ではなく rsyslog が標準採用されています。それを知らずに syslog.conf がない ! と騒いでたのは私です。ご注意ください。

 

今回設定するプロパティは下記の通り。

(詳細は man rsyslog.conf をご参照ください)

pri-text : rsyslogd から出力されるメッセージの PRI 部分を抽出

timegenerated : rsyslogd からメッセージを受け取った時のタイムスタンプを抽出

msg : rsyslogd から出力されるメッセージ部分を抽出

/etc/rsyslog.conf でテンプレート test を定義します。ファシリティは全てでプライオリティは information にしました。1行で出力させるために改行 "\n" を入れています。

ログファイルは /var/log 配下に abc というファイル名で出力します。

 $template test,"%PRI-text% %timegenerated% %msg%\n"

 *.info  /var/log/abc;test

設定の反映にはサービスの再起動が必要です。

# service rsyslog restart

logger コマンドを使用してメッセージを出力してみます。

# logger testmessage

# tail /var/log/abc

 user.notice<13> Nov 13 11:28:21  testmessage

user.notice<13> の形式は、ファシリティ.プライオリティ<PRI値> となります。

PRI 値は、ファシリティの値を 8倍して、プライオリティ値と足したものになります。