如何从 splunk 中的转义 JSON(嵌套)中提取字段?
How to extract fields from an escaped JSON(nested) in splunk?
我正在寻求有关从 JSON 中提取“allowedSourceAddressPrefix”field/value 的帮助。该字段是嵌套 JSON 内的转义 JSON 字符串。以下是 JSON 树
- properties (extracted by splunk)
- /subscription/..../.../ (dynamic field)
- ports (escaped json)
- allowedSourceAddressPrefix (nested json)
allowedSourceAddressPrefix 取单个 IP 地址(或)多个 IP 地址(或)*.
的值
我尝试了各种 rex 模式,但未能提取所需的字段,感谢您的帮助。以下是具有必填字段
的 JSON
properties: {
"User": "johndoe@contoso.com",
"/subscriptions/3483b2ca-02cf-4ff6-92af-99326c8fac7f/resourceGroups/apple-dev/providers/Microsoft.Compute/virtualMachines/gjappledev": "{\"id\":\"/subscriptions/3483b2ca-02cf-4ff6-92af-99326c8fac7f/resourceGroups/apple-dev/providers/Microsoft.Compute/virtualMachines/gjappledev\",\"ports\":[{\"number\":3389,\"allowedSourceAddressPrefix\":\"*\",\"endTimeUtc\":\"2022-03-21T1:50:39.1599446Z\"}]}",
"Justification": null
}
TIA
了解您尝试过的一些正则表达式会有所帮助,因此我们不再重复。
您是否尝试过 spath
命令来解析 JSON?
也许这个 rex
命令会有所帮助
| rex "allowedSourceAddressPrefix\\\":\\\"(?<allowedSourceAddressPrefix>[^\\]+)"
我正在寻求有关从 JSON 中提取“allowedSourceAddressPrefix”field/value 的帮助。该字段是嵌套 JSON 内的转义 JSON 字符串。以下是 JSON 树
- properties (extracted by splunk)
- /subscription/..../.../ (dynamic field)
- ports (escaped json)
- allowedSourceAddressPrefix (nested json)
allowedSourceAddressPrefix 取单个 IP 地址(或)多个 IP 地址(或)*.
的值我尝试了各种 rex 模式,但未能提取所需的字段,感谢您的帮助。以下是具有必填字段
的 JSONproperties: {
"User": "johndoe@contoso.com",
"/subscriptions/3483b2ca-02cf-4ff6-92af-99326c8fac7f/resourceGroups/apple-dev/providers/Microsoft.Compute/virtualMachines/gjappledev": "{\"id\":\"/subscriptions/3483b2ca-02cf-4ff6-92af-99326c8fac7f/resourceGroups/apple-dev/providers/Microsoft.Compute/virtualMachines/gjappledev\",\"ports\":[{\"number\":3389,\"allowedSourceAddressPrefix\":\"*\",\"endTimeUtc\":\"2022-03-21T1:50:39.1599446Z\"}]}",
"Justification": null
}
TIA
了解您尝试过的一些正则表达式会有所帮助,因此我们不再重复。
您是否尝试过 spath
命令来解析 JSON?
也许这个 rex
命令会有所帮助
| rex "allowedSourceAddressPrefix\\\":\\\"(?<allowedSourceAddressPrefix>[^\\]+)"