Splunk - 如何通过提取的字段计算字符串的出现次数?

Splunk - How to count occurrences of a string by an extracted field?

我有这样的日志条目:

第一条:

"abc","Id":"XYZ12"},{"lat":55},{"lat":45}{"lat":59}

第二个条目:

"abc","Id":"YZA56"},{"lat":23},{"lat":101}

我现在想要得到的是每个 Id.

字符串 "lat" 出现的次数

所以最后我想得到这样的统计数据:

Id occurences
XYZ12 3
YZA56 2

我如何在 Splunk 中执行此操作?我会知道如何获得 Id 然后通过这个 Id 计算所有事件。但是想做练习的时候不知道怎么办..

这里有人可以支持吗?

我假设没有自动提取字段。

使用rex 命令提取字段。我们将进行两次提取:一次用于 'Id',另一次用于 'lat'。第二个使用 max_match=0 允许多次命中。

index=foo
| rex "Id\\:\\"(?<Id>[^\\"]+)"
| rex max_match=0 "lat\\":(?<lat>\d+)"
| eval occurences=mvcount(lat)
| table Id occurences