processor_json プラグインを使用して、JSON フィールドを展開できます。このトピックでは、processor_json プラグインのパラメーターについて説明し、構成例を示します。
フォームベースの構成: テキストログとコンテナーの標準出力を収集する場合に使用できます。
JSON ベースの構成: テキストログを収集する場合には使用できません。
エントリポイント
Logtail プラグインを使用してログを処理するには、Logtail コレクション構成を作成または変更するときにプラグイン構成を追加できます。 詳細については、「データ処理用 Logtail プラグインの概要」をご参照ください。
構成
processor_json プラグインは、Logtail 0.16.28 以後のバージョンでサポートされています。
フォームベースの構成
パラメーター
[プロセッサの種類] を [JSON フィールドの展開] に設定します。次の表に、パラメーターを示します。
パラメーター
説明
[元のフィールド]
展開する元のフィールドの名前。
[JSON 展開の深さ]
JSON 展開の深さ。デフォルト値は 0 で、制限がないことを示します。値 1 は現在のレベルを示します。
[JSON 展開コネクタ]
展開されたキーのコネクタ。デフォルト値はアンダースコア (_) です。
[JSON 展開フィールドプレフィックス]
展開されたフィールドの名前に追加するプレフィックス。
[配列の展開]
配列を展開するかどうかを指定します。このパラメーターは、Logtail 1.8.0 以降のバージョンでサポートされています。
[元のフィールドを保持]
このオプションを選択すると、元のフィールドは解析されたログに保持されます。
[元のフィールドがない場合にエラーを報告]
このオプションを選択すると、生のログに指定された元のフィールドが含まれていない場合にエラーが報告されます。
[展開されたフィールドのプレフィックスとして元のフィールド名を使用]
このオプションを選択すると、システムはすべての展開された JSON フィールド名のプレフィックスとして元のフィールド名を使用します。
[解析に失敗した場合に生のログを保持]
このオプションを選択すると、解析に失敗した場合に生のログが保持されます。
例
この例では、
s_keyフィールドが展開されます。プレフィックスjが展開されたフィールド名に追加されます。元のフィールド名s_keyもプレフィックスとして使用されます。構成例を以下に示します。生のログ (Logtail がログを読み取るファイルパス)
{"s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}}}"}Logtail プラグイン処理構成

処理結果

JSON ベースの構成
パラメーター
typeをprocessor_jsonに設定します。次の表に、detailのパラメーターを示します。パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
展開する元のフィールドの名前。
NoKeyError
ブール値
いいえ
生のログに指定された元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
true (デフォルト): エラーが報告されます。
false: エラーは報告されません。
ExpandDepth
整数
いいえ
JSON 展開の深さ。デフォルト値は 0 で、制限がないことを示します。値 1 は現在のレベルを示します。
ExpandConnector
文字列
いいえ
展開されたキーのコネクタ。デフォルト値はアンダースコア (_) です。
Prefix
文字列
いいえ
展開されたフィールドの名前に追加するプレフィックス。
KeepSource
ブール値
いいえ
解析されたログに元のフィールドを保持するかどうかを指定します。
true (デフォルト): フィールドは保持されます。
false: フィールドは保持されません。
UseSourceKeyAsPrefix
ブール値
いいえ
すべての展開された JSON フィールド名のプレフィックスとして元のフィールド名を使用するかどうかを指定します。
KeepSourceIfParseError
ブール値
いいえ
解析に失敗した場合に生のログを保持するかどうかを指定します。
true (デフォルト): ログは保持されます。
false: ログは保持されません。
ExpandArray
ブール値
いいえ
配列を展開するかどうかを指定します。このパラメーターは、Logtail 1.8.0 以降のバージョンでサポートされています。
false (デフォルト): 配列は展開されません。
true: 配列が展開されます。たとえば、
{"k":["1","2"]}は{"k[0]":"1","k[1]":"2"}に展開されます。
例
この例では、
s_keyフィールドが展開されます。プレフィックスjが展開されたフィールド名に追加されます。元のフィールド名s_keyもプレフィックスとして使用されます。構成例を以下に示します。生のログ (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 } } ] }処理結果

参照
API 操作を使用して Logtail パイプラインを構成する:
コンソールでプロセッサプラグインを構成する: