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 Mobile: Your Brand-New Home Screen

Meet Your New Mobile Hub  Hello Splunk Community!  Staying connected to your data—no matter where you are—is ...

Introducing Value Insights (Beta): Understand the Business Impact your organization ...

Real progress on your strategic priorities starts with knowing the business outcomes your teams are delivering ...

Enterprise Security (ES) Essentials 8.3 is Now GA — Smarter Detections, Faster ...

As of today, Enterprise Security (ES) Essentials 8.3 is now generally available, helping SOC teams simplify ...