Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging 根据结果字段/字符串值获取Splunk查询的不同结果(过滤结果)_Logging_Splunk - Fatal编程技术网

Logging 根据结果字段/字符串值获取Splunk查询的不同结果(过滤结果)

Logging 根据结果字段/字符串值获取Splunk查询的不同结果(过滤结果),logging,splunk,Logging,Splunk,我有一个不切实际的问题,比如 index=myIndex* source="source/path/of/logs/*.log" "Elephant" 因此,这带来了大约2000个结果,这些结果是来自我的一个API的JSON响应,其中包括world“大象”。这正是我想要的-但是,其中一些结果有重复的carId字段,我只希望Splunk向我显示唯一的搜索结果 Splunk的结果如下所示: MyApiRequests {"carId":3

我有一个不切实际的问题,比如

index=myIndex* source="source/path/of/logs/*.log" "Elephant"
因此,这带来了大约2000个结果,这些结果是来自我的一个API的JSON响应,其中包括world
“大象”
。这正是我想要的-但是,其中一些结果有重复的
carId
字段,我只希望Splunk向我显示唯一的搜索结果

Splunk的结果如下所示:

MyApiRequests {"carId":3454353435,"make":"toyota","year":"2015","model":"camry","value":25000.00}
现在,我只想筛选唯一的
carId
。我不要复制品。因此,我预计2000年结果的原始值会减少很多

有人能帮我制定我的Splunk查询来实现这一点吗?

您可以使用

我会是你在这里的朋友

考虑以下几点:

index=myIndex* source="source/path/of/logs/*.log" "Elephant" carId=*
| stats values(*) as * by carId

好的,我尝试将结果(有2000个)管道化到重复数据消除中,结果是0个事件。。。。我希望得到一个过滤后的结果列表。我假设如果我有,比如说5份副本,这本书就会还给我。。。这就是重复数据消除的工作原理吗?您可以使用
dedup
。但你通常不应该这样。这是一个非常低效的操作。当我尝试这个方法时,我得到了0个结果。这个答案和@Mads Hansen假设
carId
字段已经被提取出来。如果不是,则两个查询都不起作用。可以通过在props.conf中指定
INDEXED_EXTRACTION=JSON
KV_MODE=JSON
来自动提取字段。否则,您可以在查询中使用
spath
命令。无论如何,JSON必须采用正确的格式。对于不正确的JSON,您可以使用
rex
提取字段。@RichG-ennth表示该字段似乎已经“可用”
index=myIndex* source="source/path/of/logs/*.log" "Elephant" carId=*
| stats values(*) as * by carId