如何计算同一字段中的特定值出现次数?

时间:2015-09-24 16:34:37

标签: splunk

我有一个json splunk日志,我需要得到“message”字段等于“Total request time”的次数,然后在同一个字符串中我需要得到一个“消息”字段等于“子请求时间”的次数。大多数日志都使用相同的模板,因此“消息”字段可以有多个不同的值。

{
  api:  my-fancy-api 
  app:  MyApp
  category:  RESP_TIME 
  message:  Total request time 
  reference_id:  MyID123123
  session_id:  1442877284-39497 
  time:  09-21-2015 23:14:45.023 +0000 
  total_request_time:  0.557 
  units:  seconds 
}

1 个答案:

答案 0 :(得分:1)

这实际上是我的splunk命令笔记本中的模式:)

您可以使用eval并有条件地为其分配10来创建新字段。然后你只需要对字段求和 - 下面的完整示例:

...some search commands (i.e. choose an index)...
| eval msg_total=if(message="Total request time", 1, 0)
| eval msg_subreq=if(message="sub-request time", 1, 0)
| stats sum(msg_total) as "Total messages", sum(msg_subreq) as "Subreq msgs"