Archive
Highlighted

How to find most common tag values when each event has multiple tags?

Splunk Employee
Splunk Employee

I've got a data source in which each item contains multiple tag fields describing the item. For simplicity's sake, we'll say each has five tags, not all of which must be used. So given this scenario:

Item 1: tag1=oranges tag2=trees tag3=groves
Item 2: tag1=trees tag2=apples tag3=groves
Item 3: tag1=vines tag2=vineyards tag3=grapes
Item 4: tag1=bowls tag2=assortments tag3=apples tag4=tangerines

What search terms will tell me I've got 2 occurrences of apples, 2 of trees, 2 of groves, 1 of grapes, and so on?

0 Karma
Highlighted

Re: How to find most common tag values when each event has multiple tags?

Esteemed Legend

This spoofs the data:

| makeresults 
| eval raw="Item 1: tag1=oranges tag2=trees tag3=groves:::Item 2: tag1=trees tag2=apples tag3=groves:::Item 3: tag1=vines tag2=vineyards tag3=grapes:::Item 4: tag1=bowls tag2=assortments tag3=apples tag4=tangerines" 
| makemv delim=":::" raw 
| mvexpand raw
| rename raw AS _raw
| rex "^Item (?<Item>\d+): tag1=(?<tag1>\w+) tag2=(?<tag2>\w+) tag3=(?<tag3>\w+)(?: tag4=(?<tag4>\w+))?"

This is your solution:

| fields - Item
| untable _time key value
| stats count BY value
0 Karma