全部產品
Search
文件中心

Simple Log Service:展開JSON欄位

更新時間:Jul 31, 2024

您可以使用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外掛程式處理配置

      image

    • 處理結果

      image

JSON配置方式

  • 參數說明

    配置typeprocessor_jsondetail說明如下表所示。

    參數

    類型

    是否必選

    說明

    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
            }
          }
        ]
      }
    • 處理結果

      image