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

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

最終更新日:Jun 23, 2026

データフィルタリングプラグインは、指定された条件に基づいて収集するログレコードを決定します。

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

Log Service は、複数のデータフィルタリングプラグインを提供しています。要件に応じて選択してください。

プラグイン名

タイプ

説明

フィルタリングプロセッサ

組み込み

フィールド値が指定された許可リストのパターンに完全に一致するログのみを収集します。

filter_regex

カスタム

以下のフィルタリングモードをサポートしています。

  • 正規表現フィルター (値による):正規表現を使用してフィールド値に一致させます。収集条件と破棄条件を組み合わせて、収集または破棄するログを指定できます。

  • 正規表現フィルター (キーによる):正規表現を使用してフィールド名 (キー) に一致させ、指定されたフィールドの有無に基づいてログをフィルタリングします。

エントリポイント

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

組み込みプラグインとカスタムプラグインの違い

組み込みプラグイン:C++ で実装されており、高いパフォーマンスを発揮します。

カスタムプラグイン:Go で実装されており、柔軟性と豊富なエコシステムを提供します。サービスログが複雑すぎて組み込みプラグインでは対応できない場合は、カスタムプラグインの使用を検討してください。

  • カスタムプラグインのパフォーマンス制限

    • カスタムプラグインを使用してログを処理すると、主に CPU などの LoongCollector リソースをより多く消費します。必要に応じて、構成管理を使用して LoongCollector のパラメーター設定を調整できます。

    • 生データの生成レートが 5 MB/s を超える場合は、複雑なプラグインの組み合わせを避けてください。代わりに、カスタムプラグインで単純な処理を行い、その後 データ変換で高度な処理を行ってください。

  • ログ収集の制限

    • カスタムプラグインはテキストログを行モードで処理し、__tag__:__path____topic__ などのファイルレベルのメタデータを各ログエントリに保存します。

    • カスタムプラグインを追加すると、タグ関連の機能に影響します。

      • コンテキストクエリと LiveTail 機能は利用できません。これらの機能を使用するには、アグリゲーター構成を追加する必要があります。

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

      • __tag__:__path__ などのフィールドには、組み込みのフィールドインデックスがなくなります。これらのフィールドにはフィールドインデックスを作成する必要があります。

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

ネイティブフィルタープラグインは、フィールド値によってログをフィルタリングします。

構成

パラメーター

説明

ホワイトリスト

許可リストを定義して、特定の条件を満たすログのみを収集します。対象のフィールド名とフィルタリング用の正規表現を指定する必要があります。正規表現は文字列全体に一致する必要があります。部分一致はサポートされていません。正規表現の記述方法の詳細については、「正規表現チュートリアル」をご参照ください。

許可リスト内の複数の条件は、論理 AND で結合されます。以下に例を示します。

  • 条件に一致するログの収集

    • Field Namelevel に、フィールド値WARNING|ERROR に設定します。この構成では、level フィールドの値が WARNING または ERROR のログのみが収集されます。

    • Field Namecontent に、フィールド値.*05\/Jan\/2023.* に設定します。この構成では、content フィールドの値に 05/Jan/2023 が含まれるログのみが収集されます。

  • 条件に基づくログの破棄

    • Field Namelevel に、フィールド値^(?!.*(INFO|DEBUG)).* に設定します。この構成では、level フィールドの値に INFO または DEBUG が含まれるログが破棄されます。

    • Field Namelevel に、フィールド値^(?!(INFO|DEBUG)$).* に設定します。この構成では、level フィールドの値が INFO または DEBUG に完全に一致するログが破棄されます。

    • Field Nameurl に、フィールド値.*^(?!.*(healthcheck)).* に設定します。この構成では、url フィールドの値に healthcheck が含まれるログが破棄されます。

ログフィルタリングプラグイン (高度)

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

制限事項

  • フォームベースの構成は、テキストログとコンテナ標準出力でのみ利用可能です。他のすべてのソースでは、JSON ベースの構成を使用する必要があります。

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

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

      Go は (?P<name>...) 構文を使用しますが、PCRE は (?<name>...) を使用します。

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

      • Lookaround(?=...)(?!...)(?<=...)、および (?<!...)

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

      • 再帰マッチ(?R) および (?0)

      • サブルーチン参照(?&name) および (?P>name)

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

    Regex101 などのツールで正規表現をデバッグする際は、処理の失敗を防ぐために、上記でリストされたサポートされていないパターンを使用しないでください。

processor_filter_regex (値によるフィルター)

ログフィールド値と正規表現を照合してログをフィルタリングします。

フォーム

  • パラメーター

    プロセッサタイプ正規表現フィルターログ (一致ログフィールドの値) に設定します。次の表にパラメーターを説明します。

    説明

    Logtail は、ログのフィールド値が ログの収集 のすべての条件を満たし、かつ ログ破棄 のどの条件にも一致しない場合にのみログを収集します。それ以外の場合、Logtail はログを破棄します。

    パラメーター

    説明

    ログの収集

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

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

    ログ破棄

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

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

  • 構成例

    ip10 で始まり、methodPOST であり、browseraliyun.* に一致しないログのみを収集するには、次の構成を使用します。

    • 生ログ

      • ログ 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 プラグイン構成

      [プロセッサタイプ][正規表現でログをフィルタリング (ログフィールド値に一致)] に設定します。[収集対象のログ] セクションで、method フィールド (POST) と ip フィールド (10\..*) のルールを追加します。[破棄対象のログ] セクションで、browser フィールド (aliyun.*) のルールを追加します。

    • 処理結果

      ログ

      収集済み

      理由

      ログ 1

      いいえ

      ブラウザ フィールドの値が、ログ破棄 の正規表現と一致します。

      ログ 2

      はい

      ログがフィルタリング基準を満たしています。

      ログ 3

      いいえ

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

JSON

  • パラメーター

    typeprocessor_filter_regex に設定します。次の表に、detail オブジェクトのパラメーターを説明します。

    説明

    Logtail は、ログのフィールド値が Include のすべての正規表現に一致し、かつ Exclude のどの正規表現にも一致しない場合にのみログを収集します。それ以外の場合、Logtail はログを破棄します。

    パラメーター

    タイプ

    必須

    説明

    Include

    JSON オブジェクト

    いいえ

    各キーがログフィールド名で、値がそのフィールドの値に一致する正規表現であるマップを指定します。これらのペアは論理 AND で結合されます。

    Exclude

    JSON オブジェクト

    いいえ

    各キーがログフィールド名で、値がそのフィールドの値に一致する正規表現であるマップを指定します。これらのペアは論理 OR で結合されます。いずれかのフィールドの値が対応する式に一致する場合、ログは破棄されます。

  • 構成例

    ip10 で始まり、methodPOST であり、browseraliyun.* に一致しないログのみを収集するには、次の構成を使用します。

    • 生ログ

      • ログ 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 (キーによるフィルター)

ログフィールド名と正規表現を照合してログをフィルタリングします。

フォーム

  • パラメーター

    プロセッサタイプ正規表現フィルターログ (一致ログフィールド名) に設定します。次の表にパラメーターを説明します。

    説明

    Logtail は、ログのフィールド名が ログの収集 で定義されたすべての条件を満たし、かつ ログ破棄 のどの条件にも一致しない場合にのみログを収集します。それ以外の場合、Logtail はログを破棄します。

    パラメーター

    説明

    ログの収集

    ログフィールド名に一致する 1 つ以上の正規表現を入力します。ログは、指定されたすべての式に一致するフィールド名が含まれている場合にのみ収集されます。これは論理 AND を表します。

    ログ破棄

    ログフィールド名に一致する 1 つ以上の正規表現を入力します。ログは、指定されたいずれかの式に一致するフィールド名が含まれている場合に破棄されます。これは論理 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
    • [プロセッサタイプ][正規表現でログをフィルタリング (ログフィールド名に一致)] に設定します。[収集対象のログ] セクションで、正規表現 request.* を追加し、[破棄対象のログ] セクションは空のままにします。

    • 処理結果

      ログ

      収集済み

      理由

      ログ 1

      はい

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

      ログ 2

      はい

      request_timerequest_method のフィールド名は、ログの収集 の正規表現と一致します。

      ログ 3

      いいえ

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

JSON

  • パラメーター

    typeprocessor_filter_key_regex に設定します。次の表に、detail オブジェクトのパラメーターを説明します。

    説明

    Logtail は、ログのフィールド名が Include で定義されたすべての条件を満たし、かつ Exclude のどの条件にも一致しない場合にのみログを収集します。それ以外の場合、Logtail はログを破棄します。

    パラメーター

    タイプ

    必須

    説明

    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_timerequest_method フィールド名が Include の正規表現に一致します。

      ログ 3

      いいえ

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

参考資料