如何在Splunk查询中统一lookupService类URL并忽略后缀数字统计数量?
修改Splunk查询以统一URL统计
你可以通过在查询中添加正则替换步骤,将lookupService后带参数的URL统一为基础路径,具体修改后的查询语句如下:
index=myIndex serviceName="serviceName" | eval _raw=replace(_raw, "\\", "") | eval URI=mvindex(split(URI,"?"),0) | eval URI=replace(URI, "(lookupService)/.*", "$1") // 新增正则替换步骤 | stats values(URI), count by HttpStatus
关键步骤说明:
- 新增的
eval URI=replace(URI, "(lookupService)/.*", "$1"):用正则匹配所有包含lookupService/的URI,把lookupService/之后的所有内容(包括斜杠和参数)替换为仅保留lookupService,这样所有/lookupService/xxx格式的URL会被统一为/lookupService。 - 正则表达式
(lookupService)/.*的逻辑:(lookupService):捕获lookupService字符串,后续用$1引用这个捕获内容/.*:匹配斜杠后任意长度的任意字符
- 替换完成后,示例中的7条
lookupService相关URL会被合并为同一个条目,统计次数为7。
如果需要直接按统一后的URI统计调用次数(而非仅按HttpStatus分组),可以调整最后一步的stats语句为:
| stats count by URI, HttpStatus
内容的提问来源于stack exchange,提问作者Hanuman
相关产品推荐
相关产品推荐

