Logtail对插件类型输入源提供了统一的数据处理配置,用户可对一个输入源配置多个处理方式,Logtail会根据配置顺序逐一执行各个处理方式。

说明 目前数据处理配置只支持插件类型输入源以及容器标准输出。

实现原理

数据处理配置的实现原理如下图所示。

图 1. 实现原理
实现原理

使用说明

为采集数据配置处理方式,处理配置的key为processors,value为json object的数组,数组内每个object代表一个处理方式。

单一处理方式包含两个字段:typedetail,其中type为该处理方式的类型,detail为该处理方式的详细配置。
"processors" : [
        {
            "type" : "processor_anchor",
            "detail" : {
                ...
            }
        },
        {
            "type" : "processor_regex",
            "detail" : {
                ...
            }
        }
    ]

处理方式

目前支持的处理方式如下:

您也可以根据以上处理方式,为您的输入源定制组合配置

正则提取

该方式通过对指定字段进行正则表达式匹配来提取其中匹配的字段。

该插件的类型为processor_regex
表 1. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 原始字段名,即需要进行正则提取的字段。
Regex string 必选 用于匹配的正则表达式,需要提取的字段使用()标注,详细内容请参见维基百科
Keys string 数组 必选 需要提取的字段名,例如[“key1”, “key2” …]。
NoKeyError bool 可选 无匹配时是否报错,默认为false表示否。
NoMatchError bool 可选 正则不匹配时是否报错,默认为false表示否。
KeepSource bool 可选 是否保留原始字段,默认为false表示否。
FullMatch bool 必选 默认为true表示只有字段完全匹配Regex时才会进行提取,为false时表示部分字段匹配也会进行提取。

提取Access日志,详细配置示例如下:

  • 输入
    "content" : "10.200.**.** - - [10/Aug/2017:14:57:51 +0800] \"POST /PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1\" 0.024 18204 200 37 \"-\" \"aliyun-sdk-java"
  • 配置详情
    {
        "type" : "processor_regex",
        "detail" : {"SourceKey" : "content",
             "Regex" : "([\\d\\.]+) \\S+ \\S+ \\[(\\S+) \\S+\\] \"(\\w+) ([^\\\"]*)\" ([\\d\\.]+) (\\d+) (\\d+) (\\d+|-) \"([^\\\"]*)\" \"([^\\\"]*)\" (\\d+)",
             "Keys"   : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"],
             "NoKeyError" : true,
             "NoMatchError" : true,
             "KeepSource" : false
        }
    }
  • 处理后结果
    "ip" : "10.200.**.**"
    "time" : "10/Aug/2017:14:57:51"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "length" : "27"
    "ref_url" : "-"
    "browser" : "aliyun-sdk-java"

标定提取

该插件通过标定指定字段起始结束关键字进行提取,标定后的字符串支持直接提取和JSON展开。

该插件的类型为processor_anchor
表 2. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 原始字段名,即需要进行提取的字段。
Anchors Anchor 数组 必选 标定项列表,具体参见下述表格。
NoAnchorError bool 可选 查找不到关键字是否报错,默认为false表示否。
NoKeyError bool 可选 无匹配时是否报错,默认为false表示否。
KeepSource bool 可选 是否保留原始字段,默认为false表示否。
表 3. Anchor类型说明
参数 类型 必选或可选 参数说明
Start string 必选 起始关键字,若为空则代表匹配字符串开头。
Stop string 必选 结束关键字,若为空则代表匹配字符串结尾。
FieldName string 必选 提取的字段名。
FieldType string 必选 提取字段类型,支持stringjson两种类型。
ExpondJson bool 可选 是否进行JSON展开,默认为false表示否。当FieldTypejson时生效。
ExpondConnecter string 可选 JSON展开的连接符,默认为_
MaxExpondDepth int 可选 JSON展开最大深度,默认为0表示无限制。

如下配置示例对某混合类型输入的处理结果如下:

  • 输入
    "content" : "time:2017.09.12 20:55:36\tjson:{\"key1\" : \"xx\", \"key2\": false, \"key3\":123.456, \"key4\" : { \"inner1\" : 1, \"inner2\" : false}}"
  • 配置详情
    {
       "type" : "processor_anchor",
       "detail" : {"SourceKey" : "content",
          "Anchors" : [
              {
                  "Start" : "time",
                  "Stop" : "\t",
                  "FieldName" : "time",
                  "FieldType" : "string",
                  "ExpondJson" : false
              },
              {
                  "Start" : "json:",
                  "Stop" : "",
                  "FieldName" : "val",
                  "FieldType" : "json",
                  "ExpondJson" : true 
              }
          ]
      }
    }
  • 处理后结果
    "time" : "2017.09.12 20:55:36"
    "val_key1" : "xx"
    "val_key2" : "false"
    "val_key3" : "123.456"
    "value_key4_inner1" : "1"
    "value_key4_inner2" : "false"

单字符分隔符

该插件通过指定分隔符对字段进行分割,可指定Quote进行分隔符屏蔽。

该插件的类型为processor_split_char
表 4. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 原始字段名,即需要进行提取的字段。
SplitSep string 必选 分隔符,必须为单字符,可以设置不可见字符,例如\u0001
SplitKeys string 数组 必选 切分后的字段名,例如[“key1”, “key2”…]。
QuoteFlag bool 可选 是否使用Quote,默认为false表示否。
Quote string 可选 必须为单字符,QuoteFlag为true时生效,可以设置为不可见字符,例如\u0001
NoKeyError bool 可选 无匹配时是否报错,默认为false表示否。
NoMatchError bool 可选 单字符不匹配时是否则报错,默认为false表示否。
KeepSource bool 可选 是否保留原始字段,默认为false表示否。

对分隔符数据采用单字符分隔符处理方式,配置示例详情及处理结果如下:

  • 输入
    "content" : "10.**.**.**|10/Aug/2017:14:57:51 +0800|POST|PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|0.024|18204|200|37|-|
    aliyun-sdk-java"
  • 配置详情
    {
       "type" : "processor_split_char",
       "detail" : {"SourceKey" : "content",
          "SplitSep" : "|",
          "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"]     
      }
    }
  • 处理后结果
    "ip" : "10.**.**.**"
    "time" : "10/Aug/2017:14:57:51 +0800"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "length" : "27"
    "ref_url" : "-"
    "browser" : "aliyun-sdk-java"

多字符分隔符

和单字符分隔符类似,多字符分隔符不支持Quote,完全按照分隔符拆分日志。

该插件的类型为processor_split_string
表 5. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 原始字段名,即需要进行提取的字段。
SplitSep string 必选 分隔符,可以设置不可见字符,例如\u0001\u0002
SplitKeys string 数组 必选 切分后的字段名,例如[“key1”, “key2”…]。
PreserveOthers bool 可选 若分割的字段大于SplitKeys长度时是否保留超出部分,默认为false表示否。
ExpandOthers bool 可选 是否会继续解析超出部分,默认为false表示否。
ExpandKeyPrefix string 可选 超出部分的命名前缀,例如配置expand_,则key为expand_1expand_2
NoKeyError bool 可选 无匹配时是否报错,默认为false表示否。
NoMatchError bool 可选 多字符不匹配时是否报错,默认为false表示否。
KeepSource bool 可选 是否保留原始字段,默认为false表示否。

对分隔符数据输入采用多字符分隔符方式处理,配置示例详情及处理结果如下:

  • 输入
    "content" : "10.**.**.**|#|10/Aug/2017:14:57:51 +0800|#|POST|#|PutData?
    Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|#|0.024|#|18204|#|200|#|37|#|-|#|
    aliyun-sdk-java"
  • 配置详情
    {
       "type" : "processor_split_string",
       "detail" : {"SourceKey" : "content",
          "SplitSep" : "|#|",
          "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status"],
          "PreserveOthers" : true,
          "ExpandOthers" : true,
          "ExpandKeyPrefix" : "expand_"
      }
    }
  • 处理后结果
    "ip" : "10.**.**.**"
    "time" : "10/Aug/2017:14:57:51 +0800"
    "method" : "POST"
    "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>"
    "request_time" : "0.024"
    "request_length" : "18204"
    "status" : "200"
    "expand_1" : "27"
    "expand_2" : "-"
    "expand_3" : "aliyun-sdk-java"

GeoIP转换

GeoIP转换对数据中的IP进行地理位置转换,能够将IP转换成:国家、省份、城市、经纬度。

说明 Logtail安装包本身并不带有GeoIP的数据库,需要您手动下载到本地并配置,建议下载精确到City的数据库。
该插件的类型为processor_geoip
表 6. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 原始字段名,即需要进行IP转换的字段。
DBPath string 必选 GeoIP数据库的全路径,数据库格式为mmdb,例如/user/data/GeoLite2-City_20180102/GeoLite2-City.mmdb
NoKeyError bool 可选 无匹配的key时是否报错。默认为false表示不报错。
NoMatchError bool 可选 若IP地址无效或数据库中未匹配到该IP时是否报错,默认为false表示不会上报错误。
KeepSource bool 可选 是否保留原始字段,默认为true表示保留。
Language string 可选 语言属性,默认为zh-CN,需确保您的GeoIP数据库中包含相应的语言。

对输入的IP采用GeoIP转换成地理位置信息,配置示例详情及处理结果如下:

  • 输入
    "source_ip" : "**.**.**.**"
    下载GeoIP数据库到安装Logtail的主机,可使用MaxMind GeoLite2中的City数据库。
    说明 请检查数据库格式为mmdb类型。
  • 配置详情
    {
       "type": "processor_geoip",
        "detail": {
             "SourceKey": "ip",
             "NoKeyError": true,
             "NoMatchError": true,
             "KeepSource": true,
             "DBPath" : "/user/local/data/GeoLite2-City_20180102/GeoLite2-City.mmdb"
        }
    }
  • 配置后结果
    "source_ip_city_" : "**.**.**.**"
    "source_ip_province_" : "浙江省"
    "source_ip_city_" : "杭州"
    "source_ip_province_code_" : "ZJ"
    "source_ip_country_code_" : "CN"
    "source_ip_longitude_" : "120.********"
    "source_ip_latitude_" : "30.********"

正则过滤

该插件通过对字段进行正则表达式匹配对日志进行过滤,可组合使用IncludeExclude两种方式。

该插件的类型为processor_filter_regex

表 7. 参数说明
参数 类型 必选或可选 参数说明
Include key:string value:string 的map 可选 key为日志字段,value为该字段匹配的正则表达式,若指定字段符合该表达式,则该条日志被收集。
Exclude key:string value:string 的map 可选 key为日志字段,value为该字段匹配的正则表达式,若指定字段符合该表达式,则该条日志不被收集。
说明 一条日志只有完全被Include中的参数匹配,且不被Exclude中的任一参数匹配时才会被采集,否则直接丢弃。

对输入日志采正则过滤方式处理,配置示例详情及处理结果如下:

  • 输入
    • 日志1
      "ip" : "10.**.**.**"
      "method" : "POST"
      ...
      "browser" : "aliyun-sdk-java"
    • 日志2
      "ip" : "10.**.**.**"
      "method" : "POST"
      ...
      "browser" : "chrome"
    • 日志3
      "ip" : "192.168.*.*"
      "method" : "POST"
      ...
      "browser" : "ali-sls-ilogtail"
  • 配置详情
    {
       "type" : "processor_filter_regex",
        "detail" : {
             "Include" : {
                "ip" : "10\\..*",
                "method" : "POST"
             },
             "Exclude" : {
                "browser" : "aliyun.*"
             }
        }
    }
  • 处理后结果
    日志 是否匹配 原因
    日志1 不匹配 browser匹配上了Exclude。
    日志2 匹配 -
    日志3 不匹配 Includeip字段不以10开头,不匹配。

字段添加

通过该插件可以为日志数据添加指定的字段(支持添加多个字段)。

该插件的类型为processor_add_fields
说明 该插件支持Logtail 0.16.28及以上版本。
表 8. 参数说明
参数 类型 必选或可选 参数说明
Fields map 可选 键值对,指定要添加的一个或者多个键值。
IgnoreIfExist bool 可选 当key相同时是否忽略。默认为false表示不忽略。
为日志数据增加指定字段,配置示例及处理结果如下:
  • 输入
    "aaa1":"value1"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_add_fields",
          "detail": {
            "Fields": {
              "aaa2": "value2",
              "aaa3": "value3"
            }
          }
        }
      ]
    }
  • 处理结果
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"

字段丢弃

通过该插件对日志数据中指定的字段进行丢弃。

该插件的类型为processor_drop
说明 该插件支持Logtail 0.16.28及以上版本。
表 9. 参数说明
参数 类型 必选或可选 参数说明
DropKeys array 可选 字符串数组,指定要从日志中删除的一个或者多个字段。
从日志中删除aaa1aaa2字段,配置详情及处理结果如下:
  • 输入
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_drop",
          "detail": {
            "DropKeys": ["aaa1","aaa2"]
          }
        }
      ]
    }
  • 处理结果
    "aaa3":"value3"

日志时间提取(Golang)

该插件可以从指定字段中提取日志时间,并将其转换为其他字段。提取及转换所使用的时间格式为Golang Time Format

该插件的类型为processor_gotime
说明 该插件支持Logtail 0.16.28及以上版本。
表 10. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 提取日志时间的源Key,为空不生效。
SourceFormat string 必选 将源key解析为日志时间的go时间格式。
SourceLocation int 必选 源时区,为空表示本机时区。
DestKey string 必选 目标Key,为空不生效。
DestFormat string 必选 目标key解析的go时间格式。
DestLocation int 可选 目标时区,为空表示本机时区。
SetTime bool 可选 是否设置到时间字段,默认为true。
KeepSource bool 可选 是否保留源字段,默认为true表示保留。
NoKeyError bool 可选 无匹配的key是否记录,默认为true表示记录。
AlarmIfFail bool 可选 提取失败是否记录,默认为true表示记录。
2006-01-02 15:04:05(东八区)解析字段s_key的值作为日志时间,并以格式2006/01/02 15:04:05(东九区)将日志时间转换到新字段d_key中。配置详情及处理结果如下所示:
  • 输入
    "s_key":"2019-07-05 19:28:01"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_gotime",
          "detail": {
            "SourceKey": "s_key",
            "SourceFormat":"2006-01-02 15:04:05",
            "SourceLocation":8,
            "DestKey":"d_key",
            "DestFormat":"2006/01/02 15:04:05",
            "DestLocation":9,
            "SetTime": true,
            "KeepSource": true,
            "NoKeyError": true,
            "AlarmIfFail": true
          }
        }
      ]
    }
  • 处理结果
    "s_key":"2019-07-05 19:28:01"
    "d_key":"2019/07/05 20:28:01"

JSON 处理

通过该插件可以对指定字段进行JSON展开。

该插件的类型为processor_json
说明 该插件支持Logtail 0.16.28及以上版本。
表 11. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 要进行JSON展开的源key。
NoKeyError bool 可选 无匹配key时是否记录,默认为true表示记录。
ExpandDepth int 可选 JSON展开的深度。非负整数,默认为0表示不限制,1表示当前层级,以此类推。
ExpandConnector string 可选 JSON展开时的连接符,默认为_,也可以为空。
Prefix string 可选 JSON展开时对Key附加的前缀,默认为空。
KeepSource bool 可选 是否保留源字段,默认为true表示保留。
UseSourceKeyAsPrefix bool 可选 是否将源key作为所有JSON展开key的前缀,默认为false表示否。
对字段s_key进行JSON展开,配置详情及处理结果如下:
  • 输入
    "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_json",
          "detail": {
            "SourceKey": "s_key",
            "NoKeyError":true,
            "ExpandDepth":0,
            "ExpandConnector":"-",
            "Prefix":"j",
            "KeepSource": false,
            "UseSourceKeyAsPrefix": true
          }
        }
      ]
    }
  • 处理结果
    "s_key":"{\"k1\":{\"k2\":{\"k3\":{\"k4\":{\"k51\":\"51\",\"k52\":\"52\"},\"k41\":\"41\"}}})"
    "js_key-k1-k2-k3-k4-k51":"51"
    "js_key-k1-k2-k3-k4-k52":"52"
    "js_key-k1-k2-k3-k41":"41"

字段打包(JSON)

通过该插件可以将指定字段(支持多个)打包成JSON格式的字段。

该插件的类型为processor_packjson
说明 该插件支持Logtail 0.16.28及以上版本。
表 12. 参数说明
参数 类型 必选或可选 参数说明
SourceKeys array 必选 字符串数组,需要打包的key。
DestKey string 可选 打包后的JSON格式的key。
KeepSource bool 可选 是否保留源字段,默认为true表示保留。
AlarmIfIncomplete bool 可选 是否在不存在任何源字段时告警,默认为true表示告警。
将指定的ab两个字段打包成JSON字段d_key,配置详情及处理结果如下:
  • 输入
    "a":"1"
    "b":"2"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_packjson",
          "detail": {
            "SourceKeys": ["a","b"],
            "DestKey":"d_key",
            "KeepSource":true,
            "AlarmIfEmpty":true
          }
        }
      ]
    }
  • 处理结果
    "a":"1"
    "b":"2"
    "d_key":"{\"a\":\"1\",\"b\":\"2\"}"

字段重命名

通过该插件可以对指定字段(支持多个)进行重命名。

该插件的类型为processor_rename
说明 该插件支持Logtail 0.16.28及以上版本。
表 13. 参数说明
参数 类型 必选或可选 参数说明
NoKeyError bool 可选 无匹配的key是否记录,默认false表示不记录。
SourceKeys array 必选 字符串数组,指定要进行重命名的源key。
DestKeys array 必选 字符串数组,对源key进行重命名后的目标key。
将字段aaa1aaa2重命名为bbb1bbb2,配置详情及处理结果如下:
  • 输入
    "aaa1":"value1"
    "aaa2":"value2"
    "aaa3":"value3"
  • 配置详情
    {
      "processors":[
        {
          "type":"processor_rename",
          "detail": {
            "SourceKeys": ["aaa1","aaa2"],
            "DestKeys": ["bbb1","bbb2"],
            "NoKeyError": true
          }
        }
      ]
    }
  • 处理结果
    "bbb1":"value1"
    "bbb2":"value2"
    "aaa3":"value3"

日志时间提取(Strptime)

通过该插件可以从指定字段中提取日志时间,时间格式为Linux strptime

该插件的类型为processor_strptime
说明 该插件支持Logtail 0.16.28及以上版本。
表 14. 参数说明
参数 类型 必选或可选 参数说明
SourceKey string 必选 提取日志时间的源Key,为空则不生效。
Format string 必选 解析源Key所使用的时间格式。
AdjustUTCOffset bool 可选 是否对时间时区进行调整,默认为false表示不调整。
UTCOffset int 可选 用于调整的时区偏移秒数,如28800表示东八区。
AlarmIfFail bool 可选 提取失败时是否告警,默认为true表示进行告警。
KeepSource bool 可选 是否保留源字段,默认为true表示保留。
log_time的值解析为%Y/%m/%d %H:%M:%S格式的日志时间,时区使用机器时区。配置详情及处理结果如下:
  • 示例1:假设时区为东八区。
    • 输入
      "log_time":"2016/01/02 12:59:59"
    • 配置详情
      {
        "processors":[
          {
            "type":"processor_strptime",
            "detail": {
              "SourceKey": "log_time",
              "Format": "%Y/%m/%d %H:%M:%S"
            }
          }
        ]
      }
    • 处理结果
      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451710799
  • 示例2:假设时区为东七区。
    • 输入
      "log_time":"2016/01/02 12:59:59"
    • 配置详情
      {
        "processors":[
          {
            "type":"processor_strptime",
            "detail": {
              "SourceKey": "log_time",
              "Format": "%Y/%m/%d %H:%M:%S",
              "AdjustUTCOffset": true,
              "UTCOffset": 25200
            }
          }
        ]
      }
    • 处理结果
      "log_time":"2016/01/02 12:59:59"
      Log.Time = 1451714399

组合配置

各个处理配置可以组合搭配使用。您可以参考下述配置对日志先进行分隔符切分,再对切分后的detail进行标定提取。

  • 输入
    "content" : 
    "ACCESS|QAS|11.**.**.**|1508729889935|52460dbed4d540b88a973cf5452b1447|1238|appKey=ba,env=pub,requestTime=1508729889913,latency=22ms,
    request={appKey:ba,optional:{\\domains\\:\\daily\\,\\version\\:\\v2\\},rawQuery:{\\query\\:\\去乐山的路线\\,\\domain\\:\\导航\\,\\intent\\:\\navigate\\,\\slots\\:\\to_geo:level3=乐山\\,\\location\\:\\北京\\},
    requestId:52460dbed4d540b88a973cf5452b1447},
    response={answers:[],status:SUCCESS}|"
  • 配置详情
    "processors" : [
          {
              "type" : "processor_split_char",
              "detail" : {"SourceKey" : "content",
                  "SplitSep" : "|",
                  "SplitKeys" : ["method", "type", "ip", "time", "req_id", "size", "detail"]
              }
          },
          {
              "type" : "processor_anchor",
              "detail" : "SourceKey" : "detail",
                  "Anchors" : [
                      {
                              "Start" : "appKey=",
                          "Stop" : ",env=",
                          "FieldName" : "appKey",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",env",
                          "Stop" : ",requestTime=",
                          "FieldName" : "env",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",requestTime=",
                          "Stop" : ",latency",
                          "FieldName" : "requestTime",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",latency=",
                          "Stop" : ",request=",
                          "FieldName" : "latency",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",request=",
                          "Stop" : ",response=",
                          "FieldName" : "request",
                          "FieldType" : "string"
                      },
                      {
                          "Start" : ",response=",
                          "Stop" : "",
                          "FieldName" : "response",
                          "FieldType" : "json"
                      }
                  ]
              }
          }
      ]
  • 处理后结果
    "method" : "ACCESS"
    "type" : "QAS"
    "ip" : "**.**.**.**"
    "time" : "1508729889935"
    "req_id" : "52460dbed4d540b88a973cf5452b1447"
    "size" : "1238"
    "appKey" : "ba"  
    "env" : "pub"
    "requestTime" : "1508729889913"
    "latency" : "22ms"
    "request" : "{appKey:nui-banma,optional:{\\domains\\:\\daily-faq\\,\\version\\:\\v2\\},rawQuery:{\\query\\:\\\345\216\273\344\271\220\345\261\261\347\232\204\350\267\257\347\272\277\\,\\domain\\:\\\345\257\274\350\210\252\\,\\intent\\:\\navigate\\,\\slots\\:\\to_geo:level3=\344\271\220\345\261\261\\,\\location\\:\\\345\214\227\344\272\254\\},requestId:52460dbed4d540b88a973cf5452b1447}"  
    "response_answers" : "[]"
    "response_status" : "SUCCESS"