云日志服务 LTS-提取字符串动态键值对:值提取

时间:2024-10-21 11:43:44

值提取

  • 动态键值对之间以及关键字与值之间有明确标识,如a=b或a="cxxx"日志格式的,推荐用e_kv函数,示例如下。
    • 原始日志
      {
          "content":"k=\"helloworld\",the change world, k2=\"good\""
      }
    • 加工规则

      这种情况下使用e_kv函数,提取内容不包括the change world:

      e_kv("content")
      # e_regex函数写法
      e_regex("content",r"(\w+)=\"(\w+)",{r"\1": r"\2"})
    • 加工结果:提取后的日志为:
      {
      	"k2": "good",
      	"k": "helloworld",
      	"content": "k=\"helloworld\",the change world, k2=\"good\""
      }
  • 对带"的日志格式content:k1="v1=1"&k2=v2?k3=v3,推荐使用e_kv函数进行提取,例如:
    • 原始日志
      {
          "content":"k1=\"v1=1\"&k2=v2?k3=v3"
      }
    • 加工规则
      e_kv("content",sep="=", quote="'")
    • 加工结果

      处理后日志为:

      {
      	"k1": "v1=1",
      	"k2": "v2",
      	"k3": "v3",
      	"content": "k1=\"v1=1\"&k2=v2?k3=v3"
      }
support.huaweicloud.com/bestpractice-lts/lts_07_0053.html