Splunk Search

Field reference in search (Not in dashboard) (i.e. Token replacement in search)

jeanyvesnolen
Path Finder

Hello,

I try with no success since here to do something like :

| makeresults | eval super_important_field="super_important_value"| eval Rule_Tile="Some interesting Rule Title about $super_important_field$" | <<SOMETHING>>

To at the end got a fields containing :

"Some interesting Rule Title about some_super_important_value"

Just like token replacement in dashboard but in search.

Tags (3)
0 Karma
1 Solution

micahkemp
Champion

This is an admittedly annoying thing about how Enterprise Security works, as it gives you field values in that format with no builtin, convenient method to template them out. The solution I opted for previously was to create a custom search command that would perform the templating, but this will also work for most cases (with the exception being if your field names happen to look like regexes):

| makeresults 
| eval super_important_field="super_important_value" 
| eval Rule_Title="Some interesting Rule Title about $super_important_field$ things"
| foreach * [eval Rule_Title=replace(Rule_Title, "\$<<FIELD>>\$", <<FIELD>>)]

View solution in original post

micahkemp
Champion

This is an admittedly annoying thing about how Enterprise Security works, as it gives you field values in that format with no builtin, convenient method to template them out. The solution I opted for previously was to create a custom search command that would perform the templating, but this will also work for most cases (with the exception being if your field names happen to look like regexes):

| makeresults 
| eval super_important_field="super_important_value" 
| eval Rule_Title="Some interesting Rule Title about $super_important_field$ things"
| foreach * [eval Rule_Title=replace(Rule_Title, "\$<<FIELD>>\$", <<FIELD>>)]

jeanyvesnolen
Path Finder

As an aprovement I've done the folowing in order to "not" be confused by regex syntax
| eval rule_title=replace(rule_title,"\$","§")
| rename rule_title as TicketShort | foreach * [
| eval TicketShort=if(match(TicketShort, "§<>§"), replace(TicketShort, "§<>§",<>),TicketShort)
]

0 Karma

jeanyvesnolen
Path Finder

(PS : I have to find the command to complete the "<>"

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!

SOC4Kafka - New Kafka Connector Powered by OpenTelemetry

The new SOC4Kafka connector, built on OpenTelemetry, enables the collection of Kafka messages and forwards ...

Event Series: Level up your SOC: Advancing with Splunk Enterprise Security

AI has fundamentally raised the stakes for security operations, and this three-part series is your guide to ...

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 ...