日志服务

产品文档

日志服务

JSON提取模式

概述

JSON格式是指将以换行符为结束标志的JSON日志,按照JSON日志的规则进行结构化处理。将首层KEY作为字段的键,首层的VALUE作为字段的值,进行存储。暂不支持对象和数组的解析,将直接解析成类型为string的值。

前置条件

  1. 已创建日志集日志主题。
  2. 日志源选择了业务应用日志,并完成了日志源的设置。
  3. 进入日志预处理步骤。

操作步骤

  1. 将键值提取模式切换至“JSON格式”。
  2. 输入或粘贴日志样例。
  3. 点击“提取字段”,将会按照JSON模式对日志样例中的日志进行键值提取。提取结果展示在下方的日志提取字段列表中。如果提取失败,则需要检查输入的日志样例是否为JSON格式。
  4. 默认所有字段都是string类型,用户需要根据实际情况调整字段的类型,只有数值类型的字段支持聚合计算。
  5. 默认将所有提取的字段进行存储,用户可删除不需要存储和检索的字段。

img

注意事项

  1. JSON日志样例不超过1K.

  2. JSON格式提取键值对时,暂不支持提取数组和对象。

  3. 提取的字段数量及类型的限制如下:字符串(String)类型的字段不能超过30个,整数(Integer)类型的字段不能超过20个,浮点数(Float)类型的字段不能超过20个,时间(Time)类型的字段不能超过5个,IP类型的字段不能超过5个。

  4. 至少保留一个提取后的字段,不可删除所有提取的字段。

  5. Time类型的字段需要用户设置时间解析格式,解析格式最多输入64个字符。

    支持设置的时间解析占位符列表如下:

    输入 例子 详情
    YY 21 两位数年份
    YYYY 2021 四位数年份
    M 1-12 月份,无前导零
    MM 01-12 月份,两位数,有前导零
    MMM Jan-Dec 缩写的英文月份名称
    MMMM January-December 完整的英文月份名称
    d 1-31 日期,月份里的一天,无前导零
    dd 01-31 日期,月份里的一天,两位数,有前导零
    H 0-23 小时,24小时制,无前导零
    HH 00-23 小时,24小时制,两位数,有前导零
    h 1-12 小时,12小时制,无前导零
    hh 01-12 小时,12小时制,两位数,有前导零
    m 0-59 分钟,无前导零
    mm 00-59 分钟,两位数,有前导零
    s 0-59 秒,无前导零
    ss 00-59 秒,两位数,有前导零
    S 0-9 毫秒,一位数
    SS 00-99 毫秒,两位数
    SSS 000-999 毫秒,三位数
    A AM PM 上午,下午,大写
    a am pm 上午,下午,小写
  6. 保存时,会对提取的各个字段同日志样例作比对,如果校验不通过则不允许保存,相关校验限定如下:

    • 如果样例为string类型,则对应提取字段必须指定为string类型。
    • 如果key为timestamp,则字段类型必须指定为time类型。
    • 如果是IP地址,可以指定为IP或string类型。
    • 如果是数字(整数),需指定为int类型。
    • 如果是数字(浮点数),需指定为float类型。
更新时间:2022-01-06 09:35:35
feedback