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

Splunk查询条件配置:根据user字段来源提取userid

Splunk查询:根据条件从不同位置提取userid

完整查询语句

<你的基础搜索语句>
| spath path=user output=original_user
| spath path=applicationTags output=applicationTags_list
| rex field=applicationTags_list "userid=(?P<tag_userid>[^,\"]+)"
| eval userid=if(original_user=="hive", tag_userid, original_user)
| table userid original_user tag_userid  # 可选,用于验证提取结果

步骤解释

  • 解析JSON字段:
    • spath path=user output=original_user:将原事件中的user字段值保存到original_user,避免后续操作覆盖原始值。
    • spath path=applicationTags output=applicationTags_list:把applicationTags数组提取为字符串格式的列表,方便后续正则匹配。
  • 提取标签中的userid:
    • rex field=applicationTags_list "userid=(?P<tag_userid>[^,\"]+)":从applicationTags_list中匹配userid=后的内容,[^,\"]+确保只提取到标签内的用户ID(直到遇到数组元素的引号或分隔符为止)。
  • 条件赋值最终userid:
    • eval userid=if(original_user=="hive", tag_userid, original_user):实现核心逻辑——当original_user为hive时,使用从标签提取的tag_userid;否则直接使用原始user字段的值。

注意事项

  • 如果你的基础搜索已经包含JSON解析,可以省略重复的spath命令,但保留output=original_user避免字段覆盖。
  • 若applicationTags中userid=的格式有变化(比如后面有空格),可以调整正则表达式,例如改为userid=\s*(?P<tag_userid>[^,\"]+)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:53:26