概要
カスタムメタデータはログを区別するために使用できます。CLSコンソールで収集ルールを設定する際に、ログにメタデータを定義できます。CLSは現在、以下の種類のカスタムメタデータをサポートしています:
マシングループメタデータ
収集パス
カスタム
前提条件
Loglistener 2.8.7以降のバージョン。
マシングループメタデータ
複数のマシングループのログを収集する必要があり、かつ対象の収集パスがすべて同じである場合、単一の収集設定を使用してすべてのマシングループを関連付け、マシングループメタデータによって収集されたログがどのマシングループから生成されたかを明確に区別できます。
具体的な操作
1. マシングループの作成/変更時に、選択したマシングループに対してそのマシングループの特性に合致するマシングループメタデータを設定します。 2. 収集設定を作成し、マシングループメタデータを持つ対象マシングループを関連付けます。 3. 収集ルールの設定手順で、カスタムメタデータを有効にし、メタデータタイプをマシングループメタデータに設定します。
4. 設定完了後、LogListenerがログを報告する際に、ログが存在するマシングループのメタデータ属性を__TAG__.{マシングループメタデータキー}:{マシングループメタデータ値}の形式でCLSにアップロードします。
収集パス
対象収集パスがワイルドカード一致の場合、ファイルパスから指定フィールドをカスタムメタデータとして抽出し、そのカスタムメタデータによってログがどのファイルパスから取得されたかを明確に区別できます。
具体的な操作
1. 収集ルールの設定で、カスタムメタデータを有効にし、メタデータタイプを収集パスに設定します。
2. ファイルパスの正規表現を入力します。この正規表現はファイルパスに完全一致する必要があります。同時に、パス内のターゲットKEYに対応する正規表現を「()」で識別してください。
3. LogListenerはログを収集する際に「()」をキャプチャグループと見なします。LogListenerは以下の2種類のキャプチャグループをサポートします:
名前付きキャプチャグループ
名前付きキャプチャグループは、?<>によって括弧内の正規表現で抽出されたフィールドの名前を識別し、__TAG__.{フィールド名}:{抽出フィールド}の形式でログと共に報告されます。例:(?<name>.*?)は、.*?によって抽出されたフィールドがnameと命名されることを表します。最大5個の名前付きキャプチャグループをサポートします。
非名前付きキャプチャグループ
非名前付きキャプチャグループは抽出フィールドに特別な名前を付けず、デフォルトでキャプチャグループの順位番号をフィールド名として使用し、__TAG__.{i}:{抽出フィールド}の形式でログと共に報告されます。ここで、iはキャプチャグループの番号です。最大5個の非名前付きキャプチャグループをサポートします。
サンプル
ファイルディレクトリ構造を以下のように仮定します:
/logs
| - /appA/userA
| - access.log
| - /appB/userB
| - access.log
| - /appC/userC
| - access.log
対象収集パスの設定時にワイルドカード一致を使用し、ディレクトリプレフィックスを/logs、ファイル名をaccess.logに設定すると、3つのaccess.logがまとめて同じログトピックに収集されます。これにより、検索分析時にログがどのログファイルから取得されたかを明確に区別できません。しかし、以下の正規表現を使用することで、ファイルパスから値を抽出し、メタデータとしてログと共にアップロードできます。
正規表現:
上記の正規表現による抽出を通じて、以下のメタデータが報告されます:
__TAG__.1: appA
__TAG__.1: appB
__TAG__.1: appC
さらに、以下の正規表現を使用して、複数の名前付きキャプチャグループによってファイルパスから複数の値を抽出し、メタデータとして報告し、抽出した値に名前を付けることもできます。
正規表現:
/logs/(?<APP>.*?)/(?<USER>.*?)/access.log
上記の正規表現による抽出を通じて、以下のメタデータが報告されます:
__TAG__.APP: appA
__TAG__.USER: userA
__TAG__.APP: appB
__TAG__.USER: userB
__TAG__.APP: appC
__TAG__.USER: userC
カスタム
設定で収集ルールを構成する際に、カスタムメタデータを設定することもできます。LogListenerは、各ログを報告するたびに、指定されたカスタムメタデータを付与します。
具体的な操作
1. 収集ルールの設定で、カスタムメタデータを有効にし、メタデータタイプをカスタムに設定します。
2. カスタムメタデータのキーと値を入力してください。
3. LogListenerは、各ログを報告するたびに、指定されたカスタムメタデータを付与します。