データフィルタリングプラグインを使用して、特定の条件に基づいてログをフィルタリングできます。フィルタリング結果によって、ログレコードを収集するかどうかが決まります。
データフィルタリングプラグインの概要
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 で結合されます。次の例は、ホワイトリストの使用方法を示しています:
|
ログのフィルタリングプラグイン (拡張)
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 (正規表現を使用した値によるフィルタリング)
processor_filter_key_regex (正規表現を使用したキーによるフィルタリング)
リファレンス
次の API 操作を呼び出して、Logtail パイプラインを設定できます:
コンソールで処理プラグインを設定するには、次のトピックをご参照ください:

