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

Simple Log Service:JSONフィールドを展開するExpand JSON fields

最終更新日:Aug 21, 2024

processor_jsonプラグインを使用して、JSONフィールドを展開できます。 このトピックでは、processor_jsonプラグインのパラメーターについて説明し、プラグインの設定方法の例を示します。

重要
  • フォーム設定: テキストログとコンテナstdoutおよびstderrを収集するときに使用できます。

  • JSONのエディター設定: テキストログの収集時には使用できません。

エントリーポイント

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

使用上の注意

重要

processor_jsonプラグインをサポートするのはLogtail V0.16.28以降だけです。

フォーム設定

  • パラメーター

    [プロセッサタイプ][JSONフィールドの展開] に設定します。 次に、次の表に基づいて他のパラメーターを設定します。

    パラメーター

    説明

    元のフィールド

    展開する元のフィールドの名前。

    JSON拡張の深さ

    JSON拡張の深さ。 デフォルト値:0 この値は、JSON拡張の深さが無制限であることを示します。 値がnの場合、JSON拡張の深さはnです。

    拡張キーを連結する文字

    拡張されたキーを接続するために使用される文字。 デフォルト値はアンダースコア (_) です。

    拡張キーの名前プレフィックス

    拡張されたキーの名前に追加されるプレフィックス。

    配列を展開

    配列を展開するかどうかを指定します。 Logtail 1.8.0以降のみがこのパラメータをサポートしています。

    元のフィールドを保持

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

    元のフィールドの欠落エラーを報告する

    生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。

    元のフィールドの名前を拡張キーの名前プレフィックスとして使用

    元のフィールドの名前をすべての拡張キーのプレフィックスとして追加するかどうかを指定します。

    解析に失敗した場合に生ログを保持する

    生ログの解析に失敗した場合に、生ログを保持するかどうかを指定します。

  • 設定例

    次の例は、JSONフィールドs_keyを拡張し、プレフィックスとしてjを使用し、JSON拡張後のフィールド名として元のフィールド名s_keyを使用する方法を示しています。

    • Rawログ (Logtailによって読み取られたファイルパス)

      {"s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}}}"}
    • データ処理image用のLogtailプラグイン設定

    • 結果

      image

JSONでのエディター設定

  • パラメーター

    typeprocessor_jsonに設定します。 次に、次の表に基づいて他のパラメーターを詳細に設定します。

    パラメーター

    データ型

    必須

    説明

    SourceKey

    String

    はい

    展開する元のフィールドの名前。

    NoKeyError

    ブール値

    いいえ

    生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。 有効な値:

    • true (デフォルト): エラーを報告します。

    • false: エラーは報告されません。

    ExpandDepth

    Int

    いいえ

    JSON拡張の深さ。 デフォルト値:0 この値は、JSON拡張の深さが無制限であることを示します。 値がnの場合、JSON拡張の深さはnです。

    ExpandConnector

    String

    いいえ

    拡張されたキーを接続するために使用される文字。 デフォルト値はアンダースコア (_) です。

    接頭辞

    String

    いいえ

    拡張されたキーの名前に追加されるプレフィックス。

    KeepSource

    ブール値

    いいえ

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

    • true (デフォルト): 元のフィールドを保持します。

    • false: 元のフィールドを保持しません。

    UseSourceKeyAsPrefix

    ブール値

    いいえ

    元のフィールドの名前をすべての拡張キーのプレフィックスとして追加するかどうかを指定します。

    KeepSourceIfParseError

    ブール値

    いいえ

    生ログの解析に失敗した場合に、生ログを保持するかどうかを指定します。 有効な値:

    • true (デフォルト): 生ログを保持します。

    • false: 生ログを保持しません。

    ExpandArray

    ブール値

    いいえ

    配列を展開するかどうかを指定します。 Logtail 1.8.0以降のみがこのパラメータをサポートしています。

    • false (デフォルト): 配列を展開しません。

    • true: 配列を展開します。 たとえば、{"k":["1","2"]}{"k[0]":"1","k[1]":"2"} に拡張されます。

  • 設定例

    次の例は、JSONフィールドs_keyを拡張し、プレフィックスとしてjを使用し、JSON拡張後のフィールド名として元のフィールド名s_keyを使用する方法を示しています。

    • Rawログ (Logtailによって読み取られたファイルパス)

      {"s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}}}"}
    • データ処理用のLogtailプラグイン設定

      {
        "processors":[
          {
            "type":"processor_json",
            "detail": {
              "SourceKey": "content",
              "NoKeyError":true,
              "ExpandDepth":0,
              "ExpandConnector":"-",
              "Prefix":"j",
              "KeepSource": false,
              "UseSourceKeyAsPrefix": true
            }
          }
        ]
      }
    • 結果

      image