Logtail を使用してフル正規表現モードでテキストログを解析および収集する場合、ログサンプルに基づいて正規表現を設定する必要があります。本トピックでは、設定時に正規表現をデバッグする方法について説明します。
本ドキュメントには、サードパーティ製品に関する情報が含まれている場合があります。この情報は参照用です。Alibaba Cloud は、サードパーティ製品のパフォーマンスや信頼性について、明示または黙示を問わず、いかなる保証も行いません。Alibaba Cloud は、これらの製品の使用によって生じる可能性のあるいかなる影響についても責任を負いません。
機能
設定時に検証機能を使用して、正規表現をデバッグできます。
-
行頭正規表現:現在の設定が、期待されるログ数と正しくマッチするかどうかを確認します。
-
フィールド抽出:各フィールドに期待どおりの値が含まれていることを検証します。
より高度なデバッグを行うには、Regex101 などのツールを使用できます。コンソールで自動生成された正規表現をツールに貼り付けます。次に、ログサンプルを追加して、正規表現のテストとデバッグを行います。
フル正規表現モードでは、正規表現を自動生成できます。ただし、生成された正規表現は、複数行ログに対しては正しく機能しない場合があります。本トピックでは、Regex101 を例に、正規表現をデバッグおよび変更する方法を説明します。
手順
-
Regex101 にアクセスします。Simple Log Service がログサンプルから自動生成した正規表現をコピーし、[REGULAR EXPRESSION] フィールドに貼り付けます。正規表現の生成方法の詳細については、「フル正規表現モード」をご参照ください。
\[([^]]+)]\s\[(\w+)]\s([^:]+:\s\w+\s\w+\s[^:]+:\S+\s[^:]+:\S+\s\S+).*ページの右側に正規表現の説明が表示されます。

-
ログサンプルを [TEST STRING] フィールドに貼り付けます。
at以降のコンテンツは、青色でハイライト表示されているmessageフィールドに含まれていません。これは、正規表現がログサンプルと完全にはマッチしていないことを意味します。このサンプルの正規表現は正しくないため、すべてのログデータを収集できません。
-
ログにコロンが2つしか含まれていない場合も、マッチは失敗します。

-
正規表現の最後の部分を
([\S\s]+)に置き換えて、再度マッチをテストします。これで、正規表現は完全にマッチするようになります。
コロンが2つしか含まれていないログでも、完全にマッチします。