Does this work any better? | makeresults
| eval data="{
\"severity\": \"INFO\",
\"message\": \"msg\",
\"details\": {
\"key1\": \"val1\",
\"key2\": \"val2\",
\"key3\": \"val3\"
}
}#{
\"severity\": \"INFOn\",
\"message\": \"msgn\",
\"details\": {
\"key1n\": \"val1\",
\"key2n\": \"val2\",
\"key3n\": \"val3\"
}
}"
| eval data=split(data,"#") | mvexpand data | eval _raw=data | fields - data
``` Above creates demo data. Ignore IRL" ```
| spath path=details
| eval keys=json_keys(details)
``` Strip out JSON array chars ```
| rex mode=sed field=keys "s/[\[\]\\\"]//g"
``` Separate each key into different events ```
| eval keys=split(keys,",")
| mvexpand keys
``` Get the unique key names ```
| stats values(keys) as keys
... View more