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

Simple Log Service:ネイティブプラグイン: データ解析 (区切り文字モード)

最終更新日:Apr 19, 2025

Logtail プラグインを使用して、区切り文字を使用してログを構造化データに解析できます。この場合、ログは複数のキーと値のペアに解析されます。

エントリポイント

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

構成の説明

パラメーター

説明

元のフィールド

解析前のログコンテンツを格納する元のフィールド。デフォルト値: content。

区切り文字

区切り文字。実際のログコンテンツに基づいて区切り文字を選択します。たとえば、縦棒 (|) を選択できます。

説明

[印刷不可文字] に区切り文字パラメーターを設定する場合は、0x<印刷不可文字の16進 ASCII コード> の形式で文字を入力する必要があります。たとえば、16進 ASCII コードが 01 の印刷不可文字を使用する場合は、[0x01] と入力する必要があります。

引用符

引用符。ログフィールドにデリミタが含まれている場合は、フィールドを囲む引用符を指定する必要があります。Simple Log Service は、引用符のペアで囲まれたコンテンツを完全なフィールドとして解析します。収集するログの形式に基づいて引用符を選択します。

説明

[印刷不可文字] に引用符パラメーターを設定する場合は、0x<印刷不可文字の16進 ASCII コード> の形式で文字を入力する必要があります。たとえば、16進 ASCII コードが 01 の印刷不可文字を使用する場合は、[0x01] と入力する必要があります。

抽出されたフィールド

  • サンプルログを指定した場合、Simple Log Service は、指定されたサンプルログとデリミタに基づいてログコンテンツを自動的に抽出できます。各 Value パラメーターの Key パラメーターを設定します。Key パラメーターはフィールド名を指定します。Value パラメーターは抽出されたコンテンツを指定します。

  • サンプルログを指定しない場合、値列は使用できません。実際のログと区切り文字に基づいてキーを指定する必要があります。

キーには、文字、数字、アンダースコア (_) のみを含めることができ、文字またはアンダースコア (_) で始める必要があります。キーの長さは最大 128 バイトです。

欠落フィールドを許可

抽出された値の数が指定されたキーの数よりも少ない場合に、ログを Simple Log Service にアップロードするかどうかを指定します。[欠落フィールドを許可] パラメーターを選択すると、ログは Log Service にアップロードされます。

この例では、ログは 11|22|33|44 で、区切り文字パラメーターは縦棒 (|) に設定され、キーは ABCDE に設定されています。

  • E フィールドの値は空です。 [欠落フィールドを許可] パラメーターを選択した場合、ログは Simple Log Service にアップロードされます。

  • [欠落フィールドを許可] パラメーターを選択しない場合、ログは破棄されます。

    説明

    Linux Logtail V1.0.28 以降または Windows Logtail V1.0.28.0 以降を使用している場合は、区切り文字モードでログを収集するときに [欠落フィールドを許可] パラメーターを構成できます。

超過部分が割り当てられたフィールドの処理方法

抽出された値の数が指定されたキーの数よりも多い場合に、抽出された超過値を処理するために使用されるメソッド。有効な値:

  • 展開: 超過値を保持し、__column$i__ 形式でフィールドに値を追加します。$i は超過フィールドのシーケンス番号を指定します。シーケンス番号は 0 から始まります。例: __column0__ および __column1__

  • 保持: 超過値を保持し、__column0__ フィールドに値を追加します。

  • 破棄: 超過値を破棄します。

解析に失敗した場合に元のフィールドを保持

生のログの解析に失敗した後に取得された新しいログに元のフィールドを保持するかどうかを指定します。

解析に成功した場合に元のフィールドを保持

解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。

元のフィールドの新しい名前

保持する元のフィールドの新しい名前。[解析に失敗した場合に元のフィールドを保持] または [解析に成功した場合に元のフィールドを保持] を選択した場合は、元のログコンテンツを格納する元のフィールドの名前を変更できます。

付録

区切り文字モードでデータを解析するための Logtail プラグインは、単一文字の区切り文字と複数文字の区切り文字をサポートしています。

単一文字の区切り文字

次の例は、単一文字の区切り文字を使用して解析できるログを示しています。

05/May/2022:13:30:28,10.10.*.*,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1",200,18204,aliyun-sdk-java
05/May/2022:13:31:23,10.10.*.*,"POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1",401,23472,aliyun-sdk-java

単一文字の区切り文字を使用する場合は、区切り文字と引用符の両方を指定する必要があります。

  • 区切り文字: 使用可能な単一文字の区切り文字には、タブ文字 (\t)、縦棒 (|)、スペース、コンマ (,)、セミコロン (;)、印刷不可文字が含まれます。二重引用符 (") を区切り文字として指定することはできません。

    ただし、二重引用符 (") は引用符として使用できます。二重引用符 (") は、フィールドの境界、またはフィールド内に表示できます。ログフィールドに二重引用符 (") が含まれている場合、ログの処理時に二重引用符のペア ("") としてエスケープする必要があります。ログが解析されると、二重引用符のペア ("") は二重引用符 (") に復元されます。たとえば、区切り文字としてコンマ (,) を、引用符として二重引用符 (") を指定できます。ログフィールドに指定された区切り文字と引用符が含まれている場合、フィールドは引用符のペアで囲まれ、フィールド内の二重引用符 (") は二重引用符のペア ("") としてエスケープされます。処理されたログが 1999,Chevy,"Venture ""Extended Edition, Very Large""","",5000.00 形式の場合、ログは 5 つのフィールドに解析されます: 1999ChevyVenture "Extended Edition, Very Large"、空のフィールド、5000.00

  • 引用符: ログフィールドにデリミタが含まれている場合は、フィールドを囲む引用符を指定する必要があります。Simple Log Service は、引用符のペアで囲まれたコンテンツを完全なフィールドとして解析します。

    使用可能な引用符には、タブ文字 (\t)、縦棒 (|)、スペース、コンマ (,)、セミコロン (;)、印刷不可文字が含まれます。

    たとえば、区切り文字としてコンマ (,) を、引用符として二重引用符 (") を指定すると、ログ 1997,Ford,E350,"ac, abs, moon",3000.00 は 5 つのフィールドに解析されます: 1997FordE350ac, abs, moon3000.00

複数文字の区切り文字

次の例は、複数文字の区切り文字を使用して解析できるログを示しています。

05/May/2022:13:30:28&&10.200.**.**&&POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1&&200&&18204&&aliyun-sdk-java
05/May/2022:13:31:23&&10.200.**.**&&POST /PutData?Category=YunOsAccountOpLog&AccessKeyId=****************&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=******************************** HTTP/1.1&&401&&23472&&aliyun-sdk-java

複数文字の区切り文字には、||&&&^_^ など、2 文字または 3 文字を含めることができます。Simple Log Service は、区切り文字に基づいてログを解析します。ログフィールドを引用符で囲む必要はありません。

重要

各ログフィールドに正確な区切り文字が含まれていないことを確認してください。そうでない場合、Simple Log Service はログを正しく解析できません。

たとえば、&& を区切り文字として指定すると、ログ 1997&&Ford&&E350&&ac&abs&moon&&3000.00 は 5 つのフィールドに解析されます: 1997FordE350ac&abs&moon3000.00