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!

Where Innovation Takes Flight: The Splunk4Aviation Flight Sim Lands at .conf26

If you hear someone at .conf26 shouting "gear down, GEAR DOWN" across the show floor, you have found us.  The ...

Turn Cisco Telemetry Into Action with Cisco Data Fabric, powered by the Splunk ...

The surge in machine data is already hitting enterprise budgets, and the agentic era will only intensify it. ...

Persistent Queue at TcpOut — One of Splunk's Most Practical Features

Splunk introduced persistent queueing at the tcpout layer as one of the most practical resilience features in ...