您可以使用processor_json外掛程式展開JSON欄位。本文介紹processor_json外掛程式的參數說明和配置樣本。
表單配置方式:採集文本日誌和容器標準輸出時可用。
JSON配置方式:採集文本日誌時不可用。
功能入口
當您需要使用Logtail外掛程式處理日誌時,您可以在建立或修改Logtail採集配置時,添加外掛程式配置。具體操作,請參見處理外掛程式概述。
配置說明
Logtail 0.16.28及以上版本支援processor_json外掛程式。
表單配置方式
參數說明
配置處理器類型為展開JSON欄位,相關參數說明如下表所示。
參數
說明
原始欄位
待展開的原始欄位名。
JSON展開深度
JSON展開的深度。預設值為0,表示不限制。1表示當前層級,以此類推。
JSON展開串連符
JSON展開時的串連符,預設值為底線(_)。
JSON展開欄位首碼
JSON展開時,對欄位名附加的首碼。
展開數組
是否展開數群組類型。Logtail 1.8.0及以上版本支援該參數。
保留原始欄位
選中該選項後,被解析後的日誌中將保留原始欄位。
原始欄位缺失報錯
選中該選項後,如果原始日誌中無您所指定的原始欄位,系統將報錯。
將原始欄位名作為展開欄位名首碼
選中該選項後,系統會將原始欄位名作為所有JSON展開欄位名的首碼。
解析失敗保留原始日誌
選中該選項後,如果解析日誌失敗,系統將保留原始日誌。
配置樣本
對
s_key
欄位進行JSON展開,並使用j
作為首碼,和原始欄位名s_key
作為JSON展開後欄位名。配置樣本如下:原始日誌(Logtail讀取的檔案路徑)
{"s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}}}"}
Logtail外掛程式處理配置
處理結果
JSON配置方式
參數說明
配置
type
為processor_json
,detail
說明如下表所示。參數
類型
是否必選
說明
SourceKey
String
是
待展開的原始欄位名。
NoKeyError
Boolean
否
原始日誌中無您所指定的原始欄位時,系統是否報錯。
true(預設值):報錯。
false:不報錯。
ExpandDepth
Int
否
JSON展開的深度。預設值為0,表示不限制。1表示當前層級,以此類推。
ExpandConnector
String
否
JSON展開時的串連符,預設值為底線(_)。
Prefix
String
否
JSON展開時,對欄位名附加的首碼。
KeepSource
Boolean
否
被解析後的日誌中是否保留原始欄位。
true(預設值):保留。
false:不保留。
UseSourceKeyAsPrefix
Boolean
否
是否將原始欄位名作為所有JSON展開欄位名的首碼。
KeepSourceIfParseError
Boolean
否
解析日誌失敗時,是否保留原始日誌。
true(預設值):保留。
false:不保留。
ExpandArray
Boolean
否
是否展開數群組類型。Logtail 1.8.0及以上版本支援該參數。
false(預設值):不展開。
true:展開。例如
{"k":["1","2"]}
展開為{"k[0]":"1","k[1]":"2"}
。
配置樣本
對
s_key
欄位進行JSON展開,並使用j
作為首碼,和原始欄位名s_key
作為JSON展開後欄位名。配置樣本如下:原始日誌(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 } } ] }
處理結果