如何Splunk为每个Id

时间:2016-10-25 18:20:18

标签: logging splunk

我们假设您要查找与字符串匹配的splunk结果"将状态发送到服务器" (执行查询索引= *"将状态发送到服务器")。并且您得到以下结果。

  1. 向服务器发送状态... jobId = 1
  2. 向服务器发送状态... jobId = 1
  3. 向服务器发送状态... jobId = 0
  4. 向服务器发送状态... jobId = 0
  5. 如何更改此查询以便为每个jobId获取与此字符串匹配的最后结果?该组数据中的查询结果为

    1. 向服务器发送状态... jobId = 1
    2. 向服务器发送状态... jobId = 0

1 个答案:

答案 0 :(得分:0)

首先,让我告诉你,除非你真的想搜索所有索引,否则做index = *并不是一个好主意。我建议使用特定的索引名称。

现在,回答你的问题 - 您可以使用dedup命令。还可以使用sortby参数按降序排序。

您的SPL看起来像是:index=myindex | dedup 1 jobid sortby -time

(或者,如果您真的想要搜索所有索引:index=* | dedup 1 jobid sortby -time

我的样本数据是:

"time","message","jobid"
"2016-10-26 13:00:00","Sending Status to Server","jobId=1"
"2016-10-26 12:00:00","Sending Status to Server","jobId=1"
"2016-10-26 11:00:00","Sending Status to Server","jobId=0"
"2016-10-26 10:00:00","Sending Status to Server","jobId=0"

我的搜索结果是as shown in this image