在Splunk中使用SPATH从JSON日志中读取字段



我正在尝试从Splunk日志中读取一个属性,看起来像这样

context=context{version="1.1.2", id="123", userId=""}

我需要得到count by version

My Splunk query:

index="$index" "$filterString" | spath input=context output=versionId path=version | stats count by versionId

version的值没有被正确读取。这里的路径对吗?

spath是正确的命令,但它只适用于有效的JSON字符串。jsonlint.com认为给定的字符串无效。

下面是一个使用rex提取版本号的解决方案。

index="$index" "$filterString"
| rex field=context "version=\"(?<versionId>[^\"]+)"
| stats count by versionId

最新更新