You need to enable JavaScript to run this app. 在Splunk中通过正则提取_raw字段correlation_id值为CorrelationId4
优惠活动
大模型
产品
解决方案
定价
更多

在Splunk中通过正则提取_raw字段correlation_id值为CorrelationId4

Splunk 截断JSON日志提取correlation_id生成自定义字段CorrelationId4的方案

场景适配前提

当前待处理的_raw字段为截断的JSON格式内容:{"data":{"correlation_id":"51g0d88f-3ab8-4mom-betb-b31ed6e1662z","u_originator_uri,因结构不完整,常规JSON解析类操作(如spath)可能出现解析失败、字段提取异常的问题,直接基于正则匹配是最稳定的实现路径。

基础可运行提取语句

| rex field=_raw "correlation_id\"\s*:\s*\"(?<CorrelationId4>[^\"]+)\""

正则匹配逻辑说明

  • 精准匹配correlation_id键的固定结构:跳过键名后可能存在的空白、冒号两侧的空白、值的起始双引号,适配不同书写格式的JSON内容
  • 捕获组(?<CorrelationId4>)直接将匹配到的值赋值给要求的自定义字段名
  • 捕获规则[^\"]+会匹配到值对应的结束双引号为止,完全不受后续截断内容的影响,哪怕后面的u_originator_uri字段不完整也能稳定提取

高精度优化版本(避免误匹配)

如果日志中存在多个不同层级的correlation_id字段,仅需提取嵌套在data对象下的目标值,可使用以下优化正则,避免跨层级同名字段误抓:

| rex field=_raw "\"data\":\s*\{[^{}]*correlation_id\"\s*:\s*\"(?<CorrelationId4>[^\"]+)\""

优化逻辑说明

  • 先定位到data键的起始位置,确认是data对象内部的字段匹配
  • 限定匹配范围在data对象的第一层内部,不会抓取到data嵌套子结构或者外层同名字段的内容

内容的提问来源于stack exchange,提问作者Dshruti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 21:36:03