すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:データフィルタリングプラグイン

最終更新日:Nov 12, 2025

データフィルタリングプラグインを使用して、特定の条件に基づいてログをフィルタリングできます。フィルタリング結果によって、ログレコードを収集するかどうかが決まります。

データフィルタリングプラグインの概要

Simple Log Service は、次のタイプのデータフィルタリングプラグインを提供します。要件に基づいていずれかを選択できます。

プラグイン名

タイプ

説明

フィルター

ネイティブ

ホワイトリストの正規表現を設定して、フィールド値が指定された正規表現に完全に一致するログのみを収集します。

ログのフィルタリング

拡張

2 つのフィルタリングモードをサポートします:

  • 正規表現を使用した値によるログのフィルタリング: 正規表現を使用してフィールド値を照合します。収集条件と破棄条件の組み合わせをサポートします。

  • 正規表現を使用したキーによるログのフィルタリング: 正規表現を使用してフィールド名 (キー) を照合します。フィールドが存在するかどうかに基づいてログをフィルタリングします。

エントリポイント

Logtail プラグインを使用してログを処理する場合は、Logtail 構成を作成または変更するときに Logtail プラグイン構成を追加できます。詳細については、「概要」をご参照ください。

ネイティブプラグインと拡張プラグインの違い

ネイティブプラグインは C++ で実装されており、より高いパフォーマンスを提供します。

拡張プラグインは Go で実装されており、豊富で柔軟なエコシステムを提供します。ビジネスログが複雑すぎてネイティブプラグインで処理できない場合は、拡張プラグインを使用できます。

  • 拡張プラグインのパフォーマンス制限

    • 拡張プラグインを使用してログを処理すると、LoongCollector はより多くのリソース (主に CPU) を消費します。必要に応じて、LoongCollector のパラメーター設定を調整して、長いログ伝送遅延の最適化を実行できます。

    • 生データの生成速度が 5 MB/s を超える場合は、複雑なプラグインの組み合わせを使用してログを処理しないことをお勧めします。代わりに、拡張プラグインを使用して単純な処理を行い、その後 データ変換を使用してさらに処理することができます。

  • ログ収集の制限

    • 拡張プラグインは、テキストログを行モードで処理します。これは、__tag__:__path____topic__ などのファイルレベルのメタデータが各ログレコードに保存されることを意味します。

    • 拡張プラグインを追加すると、タグ関連の機能に次のような影響があります:

      • コンテキストクエリと LiveTail 機能は使用できなくなります。これらの機能を使用するには、aggregator 構成を追加する必要があります。

      • __topic__ フィールドは __log_topic__ に名前が変更されます。aggregator 構成を追加すると、__topic____log_topic__ の両方のフィールドがログに存在します。__log_topic__ フィールドが不要な場合は、フィールド削除プラグインを使用して削除できます。

      • __tag__:__path__ などのフィールドには、ネイティブのフィールドインデックスがなくなります。それらに対してフィールドインデックスを作成する必要があります。

フィルタープラグイン (ネイティブ)

フィルタープラグインは、指定されたログフィールドの値に基づいてログをフィルタリングします。

構成の説明

パラメーター

説明

ホワイトリスト

ホワイトリストの条件を満たすログのみを収集します。ターゲットフィールド名とフィルタリング用の正規表現を設定します。この正規表現は完全一致のみをサポートし、部分的なキーワード一致はサポートしません。正規表現の設定方法については、「正規表現チュートリアル」をご参照ください。

複数のホワイトリストの条件は、論理 AND で結合されます。次の例は、ホワイトリストの使用方法を示しています:

  • 特定の条件を満たすログをフィルタリングします。

    • [フィールド名]level に、[フィールド値]WARNING|ERROR に設定します。これにより、level フィールドが WARNING または ERROR であるログのみが収集されます。

    • [フィールド名]content に、[フィールド値].*05\/Jan\/2023.* に設定します。これにより、content フィールドに 05/Jan/2023 が含まれるログのみが収集されます。

  • 特定の条件を満たさないログをフィルタリングします。

    • [フィールド名]level に、[フィールド値]^(?!.*(INFO|DEBUG)).* に設定します。これにより、level フィールドに INFO または DEBUG が含まれるログが破棄されます。

    • [フィールド名]level に、[フィールド値]^(?!(INFO|DEBUG)$).* に設定します。これにより、level フィールドが INFO または DEBUG に完全に一致するログが破棄されます。

    • [フィールド名]url に、[フィールド値].*^(?!.*(healthcheck)).* に設定します。これにより、url フィールドに healthcheck が含まれるログが破棄されます。

ログのフィルタリングプラグイン (拡張)

processor_filter_regex または processor_filter_key_regex プラグインを使用してログをフィルタリングできます。このセクションでは、各プラグインのパラメーターについて説明し、構成例を示します。

制限

  • テキストログとコンテナーの標準出力は、フォームベースの構成のみをサポートします。他の入力ソースは JSON 構成のみをサポートします。

  • Go の正規表現エンジンは RE2 に基づいており、PCRE エンジンと比較して次の制限があります:

    • 名前付きグループ構文の違い

      Go は (?P<name>...) 構文を使用し、PCRE で使用される (?<name>...) 構文は使用しません。

    • サポートされていない正規表現パターン

      • アサーション: (?=...), (?!...), (?<=...), and (?<!...).

      • 条件式: (?(condition)true|false).

      • 再帰的マッチング: (?R) and (?0).

      • サブルーチン参照: (?&name) and (?P>name).

      • アトミックグループ: (?>...).

    Regex101 などのツールで正規表現をデバッグする場合、サポートされていないパターンの使用は避けてください。そうしないと、プラグインはログを処理できません。

processor_filter_regex (正規表現を使用した値によるフィルタリング)

このプラグインは、指定されたログフィールドの値を正規表現と照合することでログをフィルタリングします。

フォームベースの構成

  • パラメーター

    [プロセッサータイプ][正規表現を使用した値によるログのフィルタリング] に設定します。次の表にパラメーターを示します。

    説明

    ログは、ログフィールドの値が [ログの収集] セクションの正規表現に完全に一致し、[ログの破棄] セクションの正規表現に一致しない場合にのみ収集されます。それ以外の場合、ログは破棄されます。

    パラメーター

    説明

    ログの収集

    ログフィールド名と、フィールド値が一致する必要がある正規表現を入力します。生ログのターゲットフィールド値が正規表現に一致する場合、ログは収集されます。

    複数のキーと値のペアを追加できます。条件は論理 AND で結合されます。

    ログの破棄

    ログフィールドと、フィールド値が一致する必要がある正規表現を入力します。ログ内のいずれかのフィールドの値が対応する正規表現に一致する場合、ログは破棄されます。

    複数のキーと値のペアを追加できます。条件は論理 OR で結合されます。

  • ip フィールドの値が 10 で始まり、method フィールドの値が POST であり、browser フィールドの値が aliyun.* でないログのみを収集するには、次の構成を使用します:

    • 生ログ

      • ログ 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • ログ 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • ログ 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Logtail プラグイン構成

      image

    • 結果

      ログ

      収集済み

      理由

      ログ 1

      いいえ

      browser フィールドの値が [ログの破棄] の正規表現に一致します。

      ログ 2

      収集

      条件を満たしています。

      ログ 3

      いいえ

      ip フィールドの値が [ログの収集] の正規表現に一致しません。

JSON 構成

  • パラメーター

    type パラメーターを processor_filter_regex に設定します。次の表に detail のパラメーターを示します。

    説明

    ログは、ログフィールドの値が Include に指定された正規表現に完全に一致し、Exclude に指定された正規表現に一致しない場合にのみ収集されます。それ以外の場合、ログは破棄されます。

    パラメーター

    タイプ

    必須

    説明

    Include

    JSON オブジェクト

    いいえ

    キーはログフィールドで、値はフィールド値が一致する必要がある正規表現です。複数のキーと値のペアの条件は、論理 AND で結合されます。ログフィールドの値が対応する正規表現に一致する場合、ログは収集されます。

    Exclude

    JSON オブジェクト

    いいえ

    キーはログフィールドで、値はフィールド値が一致する必要がある正規表現です。複数のキーと値のペアの条件は、論理 OR で結合されます。ログ内のいずれかのフィールドの値が対応する正規表現に一致する場合、ログは破棄されます。

  • ip フィールドの値が 10 で始まり、method フィールドの値が POST であり、browser フィールドの値が aliyun.* でないログのみを収集するには、次の構成を使用します:

    • 生ログ

      • ログ 1

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "aliyun-sdk-java"
      • ログ 2

        "ip" : "10.**.**.**"
        "method" : "POST"
        "browser" : "chrome"
      • ログ 3

        "ip" : "192.168.*.*"
        "method" : "POST"
        "browser" : "ali-sls-ilogtail"
    • Logtail プラグイン構成

      {
         "type" : "processor_filter_regex",
          "detail" : {
               "Include" : {
                  "ip" : "10\..*",
                  "method" : "POST"
               },
               "Exclude" : {
                  "browser" : "aliyun.*"
               }
          }
      }
    • 結果

      ログ

      収集済み

      理由

      ログ 1

      いいえ

      browser フィールドの値が Exclude の正規表現に一致します。

      ログ 2

      収集

      条件を満たしています。

      ログ 3

      いいえ

      ip フィールドの値が Include の正規表現に一致しません。

processor_filter_key_regex (正規表現を使用したキーによるフィルタリング)

このプラグインは、ログフィールドの名前を正規表現と照合することでログをフィルタリングします。

フォームベースの構成

  • パラメーター

    [プロセッサータイプ][正規表現を使用したキーによるログのフィルタリング] に設定します。次の表にパラメーターを示します。

    説明

    ログは、ログフィールド名が [ログの収集] セクションの正規表現に完全に一致し、[ログの破棄] セクションの正規表現に一致しない場合にのみ収集されます。それ以外の場合、ログは破棄されます。

    パラメーター

    説明

    ログの収集

    ログフィールド名の正規表現を指定します。複数のフィールドの条件は、論理 AND で結合されます。ログフィールド名が正規表現に一致する場合、ログは収集されます。

    ログの破棄

    ログフィールド名の正規表現を指定します。複数のフィールドの条件は、論理 OR で結合されます。いずれかのログフィールド名が正規表現に一致する場合、ログは破棄されます。

  • request で始まるフィールド名を含むログを収集するには、次の構成を使用します:

    • 生ログ

      • ログ 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • ログ 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • ログ 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Logtail プラグイン構成 过滤日志

    • 結果

      ログ

      データ収集

      理由

      ログ 1

      収集

      request_timerequest_length、および request_method フィールドが [ログの収集] の正規表現に一致します。

      ログ 2

      収集

      request_time および request_length フィールドが [ログの収集] で指定された正規表現に一致します。

      ログ 3

      いいえ

      ログに [ログの収集] の正規表現に一致するフィールドが含まれていません。

JSON 構成

  • パラメーター

    type パラメーターを processor_filter_key_regex に設定します。次の表に detail のパラメーターを示します。

    説明

    ログは、ログフィールド名が Include に指定された正規表現に完全に一致し、Exclude に指定されたどの正規表現にも一致しない場合にのみ収集されます。それ以外の場合、ログは破棄されます。

    パラメーター

    タイプ

    必須

    説明

    Include

    string[]

    いいえ

    ログフィールド名の正規表現を指定します。複数のフィールドの条件は、論理 AND で結合されます。ログフィールド名が正規表現に一致する場合、ログは収集されます。

    Exclude

    string[]

    いいえ

    ログフィールド名の正規表現を指定します。複数のフィールドの条件は、論理 OR で結合されます。いずれかのログフィールド名が正規表現に一致する場合、ログは破棄されます。

  • request で始まるフィールド名を含むログを収集するには、次の構成を使用します:

    • 生ログ

      • ログ 1

        "request_time" : 20
        "request_length": 2314
        "request_method" : "POST"
        "browser" : "aliyun-sdk-java"
      • ログ 2

        "request_time" : 70
        "request_method" : "GET"
        "ip" : "192.168.**.**"
      • ログ 3

        "browser" : "ali-sls-ilogtail"
        "status" : 200
    • Logtail プラグイン構成

      {
         "type" : "processor_filter_key_regex",
          "detail" : {
               "Include" : [
                  "request.*"
               ]
          }
      }
    • 結果

      ログ

      収集

      理由

      ログ 1

      収集

      request_timerequest_length、および request_method フィールドが Include の正規表現に一致します。

      ログ 2

      収集

      request_time および request_length フィールドが Include で指定された正規表現に一致します。

      ログ 3

      いいえ

      ログに Include の正規表現に一致するフィールドが含まれていません。

リファレンス