我有一个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
}
答案 0 :(得分:1)
这实际上是我的splunk命令笔记本中的模式:)
您可以使用eval
并有条件地为其分配1
或0
来创建新字段。然后你只需要对字段求和 - 下面的完整示例:
...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"