Splunk Search

How to extract a csv data fields message data into fields?

Cheng2Ready
Communicator

I have a field message that when
I run the search

index=example123 host=5566
|search "*specials word*"
I table message


it displays as an example below: 

2024-08-02 16:45:21- INFO Example (['test1' , 'test2', 'test3', 'test4', 'test5', 'test6', 'test7)'] , ['Medium', 'Large ', 'Small', 'Small ', 'Large ', 'Large ', 'Large '])

Is there a way to run a command so that the data in the field "Message"  can be extracted into their own fields or displayed like this matching 1:1 on a table 



test1           test2       test3        test4         test5           test6          test7
Medium     Large      Small        Small         Large        Large          Large

or

test1 = Medium 
test2= Large 
test3 = Small
.... ect

 

0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust

Assuming your real events don't have brackets in the names, try something like this

| rex "Example \(\[(?<keys>[^\]]*)\]\s*,\s*\[(?<values>[^\]]*)\]\)"
| rex max_match=0 field=keys "'(?<key>[^']+)'"
| rex max_match=0 field=values "'(?<value>[^']+)'"
| table key value
| eval pairs=mvzip(key, value, "=")

View solution in original post

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Assuming your real events don't have brackets in the names, try something like this

| rex "Example \(\[(?<keys>[^\]]*)\]\s*,\s*\[(?<values>[^\]]*)\]\)"
| rex max_match=0 field=keys "'(?<key>[^']+)'"
| rex max_match=0 field=values "'(?<value>[^']+)'"
| table key value
| eval pairs=mvzip(key, value, "=")
0 Karma

Cheng2Ready
Communicator

I think I found the answer
| rex field="Example" seemed to work


Thank you

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

It is often quicker if you give accurate representations of your real data, not just made up names, but good that you worked out how to fix it.

0 Karma

Cheng2Ready
Communicator

Thank you for your prompt response
I have different container names
example replacing

'test1' , 'test2', 'test3', 'test4', 'test5', 'test6', 'test7

to as an example

'x99_846' , 'beacon score', 'account count', '', 'credit_transactions', 'status_active_years', 'current'

ect

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust

Does the search work for you?

0 Karma

Cheng2Ready
Communicator

partially 
Where we had "Example"
It can sometimes be other words
so its not capturing everything from  ([

0 Karma
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Classic British Rock Bands

This puzzle series (first published here) is based on extracting information from statements about well-known ...

New to the Community? Join Us for an Exclusive Post .conf26 Welcome Session (Plus a ...

Keep the .conf26 Energy Going: Welcome to the Splunk Community! Whether we scanned your badge at the Community ...

Accelerate Splunk App Development with AI

  Learn how to automate the repetitive parts of your build cycle.   Register to Attend   Join our Tech Talk ...