Logtailを設定してテキストログを収集する場合、ログの解析と収集に完全正規表現モードを選択した場合、ログサンプルに基づいて正規表現を設定する必要があります。 このトピックでは、構成時に正規表現をデバッグする方法について説明します。
このドキュメントには、参照専用のサードパーティ製品に関する情報が含まれている場合があります。 Alibaba Cloudは、明示または黙示を問わず、サードパーティ製品のパフォーマンスと信頼性、および製品に対する操作の潜在的な影響に関して、いかなる保証も行いません。
説明
正規表現を構成するときは、デバッグに検証関数を使用できます。
最初の行に一致する正規表現: 現在の設定が予想されるログ数と一致するかどうかを確認します。
フィールドの抽出: 各フィールドの値が期待した値であるかどうかを確認します。
さらに正規表現のデバッグを行う場合は、Regex101などの関数を使用して、コンソールで自動的に生成された正規表現をこれらのツールに貼り付けることができます。 次に、チェックとデバッグのために実際のログサンプルを入力します。
完全正規表現モードでは、正規表現を自動的に生成できます。 ただし、複数行ログの正規表現を生成するときに問題があります。 このトピックでは、正規表現を検証および変更する例としてRegex101を取り上げます。
操作
Regex101にアクセスし、ログサンプルregular expressionに基づいてログサービスによって自動的に生成された完全な正規表現をコピーします。正規表現を生成する方法については、「完全正規表現モード」をご参照ください。
\[([^]]+)]\s\[(\w+)]\s([^:]+:\s\w+\s\w+\s[^:]+:\S+\s[^:]+:\S+\s\S+). *
正規表現は、ページの右ペインにも表示されます。
TEST STRINGでは、at以降のログはメッセージフィールド (青) に含まれません。 したがって、この式はサンプルログと完全に一致することはできません。この正規表現を使用してすべてのログデータを取得することはできません。
ログに2つのコロンしか見つからない場合、完全一致が見つかります。
この場合、最後の正規表現
[\S\s]+
を置き換えて、一致度を再確認して、完全な一致が実現できるようにします。 コロンが2つしかないログを照合できます。