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!

Upcoming Webinar: Unmasking Insider Threats with Slunk Enterprise Security’s UEBA

Join us on Wed, Dec 10. at 10AM PST / 1PM EST for a live webinar and demo with Splunk experts! Discover how ...

.conf25 technical session recap of Observability for Gen AI: Monitoring LLM ...

If you’re unfamiliar, .conf is Splunk’s premier event where the Splunk community, customers, partners, and ...

A Season of Skills: New Splunk Courses to Light Up Your Learning Journey

There’s something special about this time of year—maybe it’s the glow of the holidays, maybe it’s the ...