Splunk 查询以查找一段时间内日志中所有出现的布尔键值对
Splunk Query to find all the occurrences of a Boolean key value pair in logs over a period of time
下面是 splunk 事件的片段。我的要求是找出所有出现的 "isOutstanding": true。这里需要注意的是,一个事件may/may不能多次出现。需要查找一段时间内多个事件的总数。
{
\"school\": {
\"schoolId\": \"1\",
\"schoolName\": \"SchoolX\",
\"schoolType\": \"private\",
\"students\": [
{
\"id\": \"1\",
\"isOutstanding\": true,
},
{
\"id\": \"2\",
\"isOutstanding\": false,
},
{
\"id\": \"3\",
\"isOutstanding\": false,
}
]
}
}
下面的 Splunk 查询 index=myIndex "isOutstanding":true 给出具有 "isOutstanding": true 的事件计数。但它不考虑一个事件中多次出现的计数。
我怎样才能得到一个事件中所有发生的次数? TIA
您可以结合 rex
功能来提取您要查找的模式的所有实例,然后使用 mvcount
对它们进行计数。
index=syslog sourcetype=testing isOutstanding
| rex field=school max_match=0 "(?<outs>isOutstanding\": true")
| eval total=mvcount(outs)
| table total
终于得到了符合我要求的查询
index=myindex sourcetype=mysourceType
| rex max_match=0 "(?<isOutstanding>isOutstanding\\\":true)"
| stats count(isOutstanding) as total
下面是 splunk 事件的片段。我的要求是找出所有出现的 "isOutstanding": true。这里需要注意的是,一个事件may/may不能多次出现。需要查找一段时间内多个事件的总数。
{
\"school\": {
\"schoolId\": \"1\",
\"schoolName\": \"SchoolX\",
\"schoolType\": \"private\",
\"students\": [
{
\"id\": \"1\",
\"isOutstanding\": true,
},
{
\"id\": \"2\",
\"isOutstanding\": false,
},
{
\"id\": \"3\",
\"isOutstanding\": false,
}
]
}
}
下面的 Splunk 查询 index=myIndex "isOutstanding":true 给出具有 "isOutstanding": true 的事件计数。但它不考虑一个事件中多次出现的计数。 我怎样才能得到一个事件中所有发生的次数? TIA
您可以结合 rex
功能来提取您要查找的模式的所有实例,然后使用 mvcount
对它们进行计数。
index=syslog sourcetype=testing isOutstanding
| rex field=school max_match=0 "(?<outs>isOutstanding\": true")
| eval total=mvcount(outs)
| table total
终于得到了符合我要求的查询
index=myindex sourcetype=mysourceType
| rex max_match=0 "(?<isOutstanding>isOutstanding\\\":true)"
| stats count(isOutstanding) as total