您可以使用processor_json插件展开JSON字段。本文介绍processor_json插件的参数说明和配置示例。

重要 目前,仅选择数据源为Kubernetes-标准输出时,您可以通过表单配置方式添加插件配置。

功能入口

当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件配置。具体操作,请参见功能入口

配置说明

重要 Logtail 0.16.28及以上版本支持processor_json插件。

表单配置方式

  • 参数说明
    配置处理器类型展开JSON字段,相关参数说明如下表所示。
    参数说明
    原始字段待展开的原始字段名。
    JSON展开深度JSON展开的深度。默认值为0,表示不限制。1表示当前层级,以此类推。
    JSON展开连接符JSON展开时的连接符,默认值为下划线(_)。
    JSON展开字段前缀JSON展开时,对字段名附加的前缀。
    保留原始字段选中该选项后,被解析后的日志中将保留原始字段。
    原始字段缺失报错选中该选项后,如果原始日志中无您所指定的原始字段,系统将报错。
    将原始字段名作为展开字段名前缀选中该选项后,系统会将原始字段名作为所有JSON展开字段名的前缀。
    解析失败保留原始日志选中该选项后,如果解析日志失败,系统将保留原始日志。
  • 配置示例
    s_key字段进行JSON展开,并使用j和原始字段名s_key作为JSON展开后字段名的前缀。配置示例如下:
    • 原始日志
      "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
    • Logtail插件处理配置 展开JSON字段
    • 处理结果
      "js_key-k1-k2-k3-k4-k51":"51"
      "js_key-k1-k2-k3-k4-k52":"52"
      "js_key-k1-k2-k3-k41":"41"

JSON配置方式

  • 参数说明
    配置typeprocessor_jsondetail说明如下表所示。
    参数类型是否必选说明
    SourceKeyString待展开的原始字段名。
    NoKeyErrorBoolean原始日志中无您所指定的原始字段时,系统是否报错。
    • true(默认值):报错。
    • false:不报错。
    ExpandDepthIntJSON展开的深度。默认值为0,表示不限制。1表示当前层级,以此类推。
    ExpandConnectorStringJSON展开时的连接符,默认值为下划线(_)。
    PrefixStringJSON展开时,对字段名附加的前缀。
    KeepSourceBoolean被解析后的日志中是否保留原始字段。
    • true(默认值):保留。
    • false:不保留。
    UseSourceKeyAsPrefixBoolean是否将原始字段名作为所有JSON展开字段名的前缀。
    KeepSourceIfParseErrorBoolean解析日志失败时,是否保留原始日志。
    • true(默认值):保留。
    • false:不保留。
  • 配置示例
    s_key字段进行JSON展开,并使用j和原始字段名s_key作为JSON展开后字段名的前缀。配置示例如下:
    • 原始日志
      "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
    • Logtail插件处理配置
      {
        "processors":[
          {
            "type":"processor_json",
            "detail": {
              "SourceKey": "s_key",
              "NoKeyError":true,
              "ExpandDepth":0,
              "ExpandConnector":"-",
              "Prefix":"j",
              "KeepSource": false,
              "UseSourceKeyAsPrefix": true
            }
          }
        ]
      }
    • 处理结果
      "js_key-k1-k2-k3-k4-k51":"51"
      "js_key-k1-k2-k3-k4-k52":"52"
      "js_key-k1-k2-k3-k41":"41"