Getting Data In

How to use EVAL in props.conf with a Multivalue field

Rob
Splunk Employee
Splunk Employee

Using props.conf and transforms.conf, I am extracting a multivalue field that contains URL's from my events.

The problem is that when I use an EVAL statement in props.conf to use urldecode to sanitize the some of the URL values in the multivalue field, it will only run on the first field value. For example, the field myURL contains:

  1. http://www.splunk.com
  2. http%3A%2F%2Fwww.splunk.com%2Fdownload%3Fr%3Dheader
  3. http://answers.splunk.com

The props.conf line that is not working is:

EVAL-myURL = urldecode(myURL)

Is there something similar to the mvexpand command that can be run in an eval statement?

1 Solution

Rob
Splunk Employee
Splunk Employee

Unfortunately, a command like mvexpand does not exist for eval. However, to workaround this issue, you can use the eval commands to join the field values together as one value, run the urldecode function, and then split the values back in to a multivalue field. An example for how to do this is:

EVAL-myURL = split(urldecode(mvjoin(myURL, "&")),"&")

Bear in mind that depending on your data, you may need to use a different delimiter to join and split the field. Using the previous example, it might not be desired if your URL contained ampersand characters such as

http://www.splunk.com?answers=1&lang=en

View solution in original post

Rob
Splunk Employee
Splunk Employee

Unfortunately, a command like mvexpand does not exist for eval. However, to workaround this issue, you can use the eval commands to join the field values together as one value, run the urldecode function, and then split the values back in to a multivalue field. An example for how to do this is:

EVAL-myURL = split(urldecode(mvjoin(myURL, "&")),"&")

Bear in mind that depending on your data, you may need to use a different delimiter to join and split the field. Using the previous example, it might not be desired if your URL contained ampersand characters such as

http://www.splunk.com?answers=1&lang=en

yannK
Splunk Employee
Splunk Employee

so much awesomeness !

Get Updates on the Splunk Community!

Get ready to show some Splunk Certification swagger at .conf24!

Dive into the deep end of data by earning a Splunk Certification at .conf24. We're enticing you again this ...

Built-in Service Level Objectives Management to Bridge the Gap Between Service & ...

Now On-Demand Join us to learn more about how you can leverage Service Level Objectives (SLOs) and the new ...

Database Performance Sidebar Panel Now on APM Database Query Performance & Service ...

We’ve streamlined the troubleshooting experience for database-related service issues by adding a database ...