Splunk Search

How to check if the field exists and extract the value?

avtandil
Engager

Hi.
I need to use IP Address in iplocation, but O365 returns 2 different logs. one with "ClientIP" field and others with "ClientIPAddress" field.
The issue is that in the logs only one of them exist. If there was null value for one of them, then it would be easy, I would have just checked for null value.

Search looks like this:
mysearch
|eval IPs= if(ClientIP "exists", ClientIP, ClientIPAddress)
|iplocation IPs
|stats ...

I can't do the "ClientIP exists" part. maybe this is not correct and other approach should be used. Does anyone know the solution?

0 Karma
1 Solution

horsefez
Motivator

Hi @avtandil,

there is a SPL function called isnull() and isnotnull() you can use these together with the if function to check if fields/fieldvalues exist or not.

A solution to your problem could look like this:

| eval IP=if(isnotnull(ClientIP), ClientIP, ClientIPAddress)

View solution in original post

horsefez
Motivator

Hi @avtandil,

there is a SPL function called isnull() and isnotnull() you can use these together with the if function to check if fields/fieldvalues exist or not.

A solution to your problem could look like this:

| eval IP=if(isnotnull(ClientIP), ClientIP, ClientIPAddress)

avtandil
Engager

Hi pyro_wood.

Thanks, I tried that yesterday and did not worked.

At last, I found that I had a fault in dedup function, it was not the eval function that was not working.

Thanks again.

0 Karma
Get Updates on the Splunk Community!

Index This | Why did the turkey cross the road?

November 2025 Edition  Hayyy Splunk Education Enthusiasts and the Eternally Curious!   We’re back with this ...

Enter the Agentic Era with Splunk AI Assistant for SPL 1.4

  🚀 Your data just got a serious AI upgrade — are you ready? Say hello to the Agentic Era with the ...

Feel the Splunk Love: Real Stories from Real Customers

Hello Splunk Community,    What’s the best part of hearing how our customers use Splunk? Easy: the positive ...