Splunk Search

Specifying Field w/ iplocation


I'm trying to parse data that has multiple IP addresses. It's my understanding that iplocation tags any discovered IP with the relevant geolocation. My problem is that I'm unsure which IP address that that I'm getting results for. Is there a mechanism to specify the country of a given field such as ip1.Country or ip2.Country (assuming ip1 and ip2 are fields)?

Tags (1)
0 Karma

Path Finder

Extending Iguinn's answer above:

Change 2 lines of code of this file: $SPLUNK_HOME/etc/apps/search/bin/iplocation.py

  for r in results:
        #if "_raw" in r: # OLD
        if "PUT-THE-FIELDNAME-HERE" in r: # NEW
            #raw = r["_raw"] # OLD
            raw = r["PUT-THE-FIELDNAME-HERE"] # NEW
0 Karma


The iplocation command is actually a Python script. So you could copy it and rename it to make your own customized version of the iplocation command. You will find the script at $SPLUNK_HOME/etc/apps/search/bin/iplocation.py

You will find instructions in the Splunk Developer manual under Custom Search Commands.

BTW, you could also change the iplocation command to use a different lookup technique; by default, iplocation does a lookup using http://api.hostip.info/get_html.php?ip=X where X is the ip address.

0 Karma