如何在Splunk中筛选data.val字段仅含单个'/'的事件?
Splunk查询:筛选data.val字段仅含单个'/'的事件
你可以通过两种方式实现需求,以下是具体的查询语句和说明:
方法1:使用正则表达式直接匹配
利用正则精确匹配仅含单个/的data.val字段值,查询语句如下:
index="association" sourcetype="escaplogs" data.val="^[^/]+/[^/]+$"
- 正则说明:
^匹配字段开头[^/]+匹配一段不含/的字符/匹配单个斜杠[^/]+匹配斜杠后一段不含/的字符$匹配字段结尾
整个正则确保字段内只有一个/,且前后都有非斜杠内容。
方法2:统计斜杠数量后筛选
通过计算字段中/的数量,筛选数量为1的事件,查询语句如下:
index="association" sourcetype="escaplogs" | eval slash_count = len(data.val) - len(replace(data.val, "/", "")) | where slash_count = 1
- 逻辑说明:
len(data.val)获取字段总长度len(replace(data.val, "/", ""))获取去掉所有/后的字段长度- 两者差值即为
/的数量,通过where筛选数量等于1的事件
内容的提问来源于stack exchange,提问作者Joe_12345
相关产品推荐
相关产品推荐

