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
我有这样的日志条目:
第一条:
"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