You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Splunk索引数据提取:如何移除结果中的大括号?

解决Splunk日志提取字段时的大括号问题

你的问题出在没从原始日志字段_raw里直接提取,反而去处理不存在(或已带大括号)的_statusCode/_duration字段,导致提取结果仍带大括号。

正确的查询语句

直接从_raw字段匹配大括号内的内容,用精准正则避免多余字符:

index=my_index
| rex "statusCode=\{ (?<statusCode>[^}]+) \}"
| rex "duration=\{ (?<Duration>[^}]+) \}"
| table statusCode Duration

或者用一条正则一次性提取两个字段,更高效:

index=my_index
| rex "statusCode=\{ (?<statusCode>[^}]+) \}, duration=\{ (?<Duration>[^}]+) \}"
| table statusCode Duration

关键修改说明

  1. 目标字段改为_raw:原始日志的所有内容都存在_raw里,你之前指定的_statusCode和_duration是未正确生成的字段,自然提取无效。
  2. 正则用[^}]+代替.*:[^}]+表示匹配任意非大括号的字符,能精准捕获大括号内的内容,不会误匹配到后面的},等字符。
  3. 直接捕获目标值:正则里的分组(?<statusCode>[^}]+)会直接把大括号里的200、277.429137ms提取为干净的字段值,不带大括号。

这样提取后的statusCode和Duration字段就可以直接用于后续计算了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:02:50