Splunk Search

How to split a multivalue field into separate fields?

wgoodwin_splunk
Splunk Employee
Splunk Employee

I have a customer that is attempting to check a field “Account_Name”. Some of the events have multiple account names in the field. He needs to break them out so that he has two Account_Name entries instead of one with two values. I sent him the following links but they appear to not be working for him:

https://answers.splunk.com/answers/136067/how-split-up-a-string-into-multiple-fields.html

https://answers.splunk.com/answers/345937/how-to-transpose-a-table-to-make-the-values-in-col.html

Below is the search he is conducting:

index=r0*  sourcetype=WinEventLog* (Account_Name=* OR user=* OR User_Name=*)  
| lookup Server_IP_r0a ip as src_ip OUTPUT filter
| search filter=0
| eval Local_Account_Name=upper(coalesce(Account_Name,user,User_Name))
| table Account_Name 

Here is a sample of his desired results:

Account_Name
-
Administrator

Notice that the Account_Name field has two entries in it. Sometimes the entries are two names and sometimes it is a “-“ and a name. He wants to take those two entries in one field and split them into one entry in two fields so that Account_Name of “-“ and Administrator becomes Account_Name of “-“ and Account_Name of Administrator so that he can run both names through the same search and lookup commands.

Any suggestions or help would be greatly appreciated. Thank you.

0 Karma

bshuler_splunk
Splunk Employee
Splunk Employee
index=r0*  sourcetype=WinEventLog* (Account_Name=* OR user=* OR User_Name=*)  
 | lookup Server_IP_r0a ip as src_ip OUTPUT filter
 | search filter=0
 | eval Local_Account_Name=upper(coalesce(Account_Name,user,User_Name))
 | table Account_Name
 | eval Account_Name_0 = mvindex(Account_Name, 0)
 | eval Account_Name_1 = mvindex(Account_Name, 1)
 | eval Account_Name_2 = mvindex(Account_Name, 2)
0 Karma

somesoni2
Revered Legend

Can we have some sample current output?
And, try this as well

index=r0*  sourcetype=WinEventLog* (Account_Name=* OR user=* OR User_Name=*)  
 | lookup Server_IP_r0a ip as src_ip OUTPUT filter
 | search filter=0
 | eval Local_Account_Name=upper(coalesce(Account_Name,user,User_Name))
 | table Account_Name | makemv Account_Name
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!

Think Like an Architect: Introducing the Splunk Certified Cybersecurity Defense ...

In cybersecurity, defenders respond to threats. Architects design the systems that stop them.    As ...

Best Practices: Splunk auto adjust pipeline queue

When you enable autoAdjustQueue in Splunk, maxSize should be understood as the queue size Splunk starts with ...

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...