Splunk Search

eval isnull() always returns true

dmrhodes101
Explorer

We're using Splunk to monitor EDI traffic onto our backend system. We want to have a single value panel that shows green when an order has been received, yellow, when there's been no order and it's prior to 16:00 and red when there's been no order and it's 16:00+

Here's the command I used, but the isnull always returns 0 even when EDI-count is greater than 0.

source="C:\\Monitor\\Vista\\EDI\\EDISPLUNK.csv" NOT _raw="Date,Time,Type,Account,Name,Order Qty,EAN,SAN,Order Ref,Order Date,From1,From2" host="Vista-EDI2" AND Name="Companyname*" 
| stats count as EDI-count
| eval Time=now()
| convert timeformat=%H:%M ctime(Time)
| eval Got=if(isnull(EDI-count),0,1)
| eval Test=case(Got=0 and Time>="16:00",0,Got=0 and Time<"16:00",2,Got=1,4)
| rangemap field=Test low=4-5 elevated=2-3 default=severe
Tags (1)

sowings
Splunk Employee
Splunk Employee

I think that stats will give you a 0 for the count if there are no matching events, not null. Zero isn't null.

It also appears that Splunk may be interpreting the field name "EDI-count" as a subtraction of two undefined fields EDI and count. I had to remove the - (or change it to an underscore) to make it work in my testing.

The EDI_count field is effectively acting as a boolean already, but if you want to normalize it to (0|1), your eval call would look like:
eval Got=if(EDI_count,1,0), or eval Got=if(EDI_count==0,0,1) if you're the explicit type.

Note also that you can save a step with your Time field and do eval Time=strftime(now(), "%H:%M").

dmrhodes101
Explorer

That's perfect thanks.

0 Karma
Get Updates on the Splunk Community!

Introducing the 2024 SplunkTrust!

Hello, Splunk Community! We are beyond thrilled to announce our newest group of SplunkTrust members!  The ...

Introducing the 2024 Splunk MVPs!

We are excited to announce the 2024 cohort of the Splunk MVP program. Splunk MVPs are passionate members of ...

Splunk Custom Visualizations App End of Life

The Splunk Custom Visualizations apps End of Life for SimpleXML will reach end of support on Dec 21, 2024, ...