Log Service では、正規表現を使用してログを収集し、インデックスを設定できます。 Log Service コンソールで必要な設定を指定できます。
このタスクについて
複数行のログを収集し、ログエントリからフィールドを抽出する必要がある場合は、正規表現を使用することを推奨します。 Log Service では、インポートデータウィザードでログサンプルに基づいて正規表現を生成する機能が提供されます。 ただし、サンプルログエントリに完全に準拠するために、式を数回手動で変更する必要があります。 正規表現を指定する方法の詳細については、次のドキュメントをご参照ください。 t13296.html#concept_38896_zh
このトピックでは、正規表現を使用してログを収集する必要がある場合に Logtail を設定する方法について説明します。 ログ収集の設定手順の詳細については、「テキストファイルの収集」をご参照ください。
ログ収集の設定手順
- ログソースを選択します。
[正規表現テキストログ] をクリックします。
- Logtail を設定します。
下表に、デフォルトの設定項目の一覧を示します。
設定項目 説明 設定名 設定名には、小文字、数字、ハイフン (-)、アンダーバー (_) のみ使用できます。 小文字または数字で開始、終了し、長さは 3 文字から 128 文字とする必要があります。 注 設定セットの名前は、作成後に変更できません。ログのパス ログファイルのディレクトリおよび名前を指定します。 - ログファイル名として、完全なファイル名またはワイルドカードを含むファイル名が使用できます。 ファイルの命名規則の詳細については、「Wildcard matching」をご参照ください。
- ログファイルの検索では、再帰的なディレクトリ照合を採用しています。 この照合方法を適用すると、指定したディレクトリおよびそのすべてのサブディレクトリの下にある指定したファイル名に一致するすべてのファイルがモニターされます。
- 例 1:
/apsara/nuwa/ …/*.log
は、/apsara/nuwa
ディレクトリおよびそのすべてのサブディレクトリの下にある、拡張子が.log
のファイルがモニターされることを表しています。 - 例 2:
/var/logs/app_* … /*.log*
は、app_*
形式およびこれらの一致するサブディレクトリのすべてのサブディレクトリに一致する/var/logs
ディレクトリのサブディレクトリにある、ファイル名に.log
が含まれているファイルがモニターされることを表しています。
注- 1 つのログファイルは、1 つの設定セットによってのみ収集できます。
- アスタリスク (
*
) および疑問符 (?
) のみログパス内のワイルドカードとして使用できます。
- 例 1:
Docker ファイル 収集するログファイルが Docker コンテナーにある場合、内部パスおよびコンテナータグを設定できます。 Logtail は、コンテナーの作成および破棄を自動的にモニターし、タグに基づいてコンテナーのログをフィルターし、フィルターしたログを収集します。 モード ログソースに対して 正規表現テキストログを指定している場合、デフォルトモードは、完全正規表現モードです。 モードは手動で変更できます。 単一業 デフォルトでは、単一行機能が有効になっています。これは、ログエントリが行単位で区切られていることを表しています。 Java プログラムのログなど、複数行のログを収集するには、単一行機能を無効にし、最初の行に一致する正規表現を設定します。 ログのサンプル Log Service で自動的に正規表現を生成できるよう、実際のログソースから取得したサンプルのログエントリを入力します。 Regex to Match First Line [自動生成] または [手動] をクリックします。 サンプルログエントリを入力し、[自動生成] をクリックすると、システムで自動的に正規表現が生成されます。 正規表現が生成されていない場合は、手動モードに切り替えて、検証用の正規表現を入力します。 抽出フィールド ログエントリの特定のフィールドを分析、処理するには、[フィールドの抽出] 機能を使用して指定されたフィールドを Log Service に送信するキーと値のペアに変換します。 そのため、ログの内容を解析するための正規表現を指定する必要があります。 正規表現 フィールドの抽出機能を有効にする場合は、この設定を指定する必要があります。 - 正規表現の自動生成
サンプルのログエントリから抽出するフィールドを選択し、[正規表現の生成] をクリックします。 システムで正規表現が自動的に生成されます。
- 正規表現の手動入力
正規表現を手動で入力することもできます。 [手動] をクリックして手動入力モードに切り替えます。 正規表現を入力後、[検証] をクリックして正規表現がログの内容を解析できるかどうかを確認します。 正規表現を指定する方法については、「t13296.html」をご参照ください。
抽出する内容 フィールドの抽出機能を有効にする場合は、この設定を指定する必要があります。 正規表現を自動生成または手動で指定後、抽出された各フィールドのキー名を指定する必要があります。
システム時刻を使用 フィールドの抽出機能を有効にする場合は、この設定を指定する必要があります。 システム時刻の使用機能を無効にする場合は、フィールド抽出時にフィールドを時間フィールドとして指定し、このフィールドの名前を
time
にする必要があります。time
フィールドを指定後、時間変換形式フィールドの [自動生成] をクリックして時間を自動的に解析します。 時間形式の変換の詳細については、「時刻形式の設定」をご参照ください。解析に失敗したログを除外 解析できないログを Log Service にアップロードするかどうかを指定します。 - この機能を有効にすると、解析に失敗したログは Log Service にアップロードされません。
- この機能を無効にすると、ログの解析に失敗した場合に生ログが Log Service にアップロードされます。
モニターディレクトリの最大階層数 ログソースからログが収集される場合に再帰的にモニターできるディレクトリ階層の最大数を指定します。 値の範囲は 0 から 1000 です。 0 は、ログパスで指定したディレクトリのみがモニターされることを示します。
設定を指定後、正規表現を使用してログを収集できます。