GNU/Linux >> Linux の 問題 >  >> Linux

rsyslog テンプレートについて

テンプレートは、rsyslog によって生成された出力を変更およびフォーマットします。ユーザーが希望する任意の形式を指定できます。また、動的ファイル名の生成にも使用されます。テンプレートを作成する構文は次のとおりです:

$template TEMPLATE_NAME,"text %PROPERTY% text", [OPTION]

フィールドは次のように説明されています:

フィールド 目的
$template テンプレートを定義するディレクティブ
TEMPLATE_NAME テンプレートの名前
「テキスト」 引用符で囲まれた実際のテンプレート テキスト
%PROPERTY% パーセント記号で囲まれた特定のメッセージ コンテンツ
オプション テンプレートの機能を変更するオプションを指定します

テンプレートを使用して、動的なファイル名を生成できます。プロパティをファイル パスの一部として指定して、一意のプロパティごとに新しいファイルを作成します。たとえば、time generated を使用します。 rsyslog メッセージごとに一意のファイル名を生成するプロパティ:

$template DynamicFile,“/var/log/%timegenerated%-test.log”

ルールでテンプレート名を指定して、rsyslog 出力を変更します。動的ファイルは、テンプレートと疑問符 (?) プレフィックスで表されます。例:

*.* ?DynamicFile

プロパティ

テンプレート内のプロパティを使用して、rsyslog メッセージの特定の内容を参照できます。テンプレート内でプロパティを定義するには、次の構文を使用します:

%PROPERTY_NAME[:FROM_CHAR:TO_CHAR:OPTION]%

フィールドは次のように説明されています:

フィールド 目的
PROPERTY_NAME プロパティの名前
FROM_CHAR と TO_CHAR 指定されたプロパティが作用する文字の範囲
オプション プロパティ オプション

利用可能なプロパティと説明のリストは、http://www.rsyslog.com/doc/property_replacer.html にあります。

1. 次のプロパティは、rsyslog メッセージのメッセージ テキスト全体を表します:

%msg%

2. 次の例は、メッセージ テキストの最初の 2 文字を表しています:

%msg:1:2%

3. 次のプロパティは、rsyslog メッセージ内のホスト名を表します:

%hostname%

4. 次のプロパティは、メッセージの機能をテキスト形式で表します:

%syslogfacility-text%

テンプレート:例

次の例では、メッセージのタイムスタンプ、テキスト形式の機能、テキスト形式の優先度、ホスト名、およびメッセージ テキストを出力するように rsyslog メッセージをフォーマットし、改行で終わる class という名前のテンプレートを定義します。

$template class, "Time: %timestamp%, Facility: %syslogfacilitytext%, Priority: %syslogpriority-text%, Hostname: %hostname%,
Message: %msg%\n"

/var/log/logfile メッセージのテンプレートを使用するには、次のようにテンプレート名を含めます:

*.* /var/log/logfile;class
CentOS / RedHat :ログ ファイル管理の初心者ガイド
rsyslog アクションについて
rsyslog フィルター オプションについて


Linux
  1. AnsibleのYAMLを理解する

  2. Linuxデスクトップを理解していますか?

  3. ログローテーションユーティリティを理解する

  1. システム ログを構成するための /etc/rsyslog.conf ファイルについて

  2. rsyslog アクションについて

  3. rsyslog フィルタ オプションについて

  1. Ifsを理解していますか?

  2. MySQL 権限について

  3. Docker ポート マッピングについて