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\"}}}}"}
データ処理用のLogtailプラグイン設定
結果
JSONでのエディター設定
パラメーター
type
をprocessor_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 } } ] }
結果