シェルスクリプトマガジン

第20回 ログを収集する(rsyslogのログメッセージ)

出力メッセージの形式を変える

前述しましたが、テンプレートを使うとログメッセージを好きな形式(フォーマット)で出力できます。テンプレートは、rsyslogの設定ファイル内で次のように定義します。「テンプレートテキスト」は、メッセージのフォーマットを指定するだけでなく、ログの出力先のパスの指定などにも使えます。

$template テンプレート名,”テンプレートテキスト

テンプレートテキストでは、「プロパティー」を利用します。このプロパティーを使うことで、ホスト名や日時、プログラムが出力したメッセージなどを、ログメッセージやファイルのパスにはめ込むことができます。表1によく使いそうなプロパティーをまとめました。そのほかのプロパティーについては、こちらを参照してください。

表1 よく使いそうなプロパティー

プロパティー内容
msgメッセージ
hostnameホスト名
programnameプログラム名
timegeneratedメッセージを受信した日時
$now現在の年月日(YYYY-MM-DD)
$year今年
$month今月
$day今日の日付
$hour現在の時間
$minute現在の分