Splunk Search

group keys having wildcard char like usermetadata_* by other unique field

neha19oct97
Engager

Hi All,

I have a requirement to group keys  (key - value pair) having wildcard char like - usermetadata_*  by other unique field PipelineName.

INPUT :

level: INFO
   logGroup: test
   loggerName: Logger
   message: {

     Trace-Typeclient
     UserMetaData_eventID[1234]
     UserMetaData_orderLineType: xyz
     UserMetaData_purchaseOrderType[2]
     UserMetaData_purchaseOrderID[3421]
     UserMetaData_purchaseOrderVersion[789]
     UserMetaData_salesOrderID[-789]
     PipelineName: abc

}

OUTPUT example: 

I want the output like this :

PipelineName                        usermetadata_keys

abc                                            UserMetaData_eventID:
                                                   UserMetaData_orderLineType
                                                   UserMetaData_purchaseOrderType
                                                   UserMetaData_purchaseOrderID
                                                   UserMetaData_purchaseOrderVersion
                                                   UserMetaData_salesOrderID

 

Labels (2)
0 Karma

to4kawa
Ultra Champion

Why do you have many `message` fields?

your JSON log is only one message key

0 Karma

to4kawa
Ultra Champion
index=_internal | head 1 |fields _raw | eval _raw="{\"level\":\"INFO\",\"logGroup\":\"test\",\"loggerName\":\"Logger\",\"message\":{\"Trace-Type\":\"client\",\"UserMetaData_eventID\":[1234],\"UserMetaData_orderLineType\":\"xyz\",\"UserMetaData_purchaseOrderType\":[2],\"UserMetaData_purchaseOrderID\":[3421],\"UserMetaData_purchaseOrderVersion\":[789],\"UserMetaData_salesOrderID\":[-789],\"PipelineName\":\"abc\"}}"
| rename COMMENT as "the logic"
| spath message output=message
| spath message.PipelineName output=PipelineName
| rex field=message max_match=0 "\"(?<key>\w+)\":"
| stats values(eval(mvfilter(match(key,"UserMetaData")))) as usermetadata_keys by PipelineName
0 Karma

neha19oct97
Engager

Hi @to4kawa,

It works if we have only one "message field". If i removed "head 1" from the query it didn't work. Kindly suggest if we have more than one message fields.

Thanks in advance.

0 Karma
Get Updates on the Splunk Community!

Splunk Observability for AI

Don’t miss out on an exciting Tech Talk on Splunk Observability for AI!Discover how Splunk’s agentic AI ...

Splunk Enterprise Security 8.x: The Essential Upgrade for Threat Detection, ...

Watch On Demand the Tech Talk on November 6 at 11AM PT, and empower your SOC to reach new heights! Duration: ...

Splunk Observability as Code: From Zero to Dashboard

For the details on what Self-Service Observability and Observability as Code is, we have some awesome content ...