Splunk Search

chart sum eval if not working....

KarunK
Contributor

Hi,

I have the following search string which works

(sourcetype="cds_fms_access" x_event="*connect" x_status="200") | chart sum(bytes) as sum by hostname, x_event 

And will give a results like this

hostname       connect        disconnect
--------       -------        ----------
host1           1000          2000
host2           500           1500

I need to add one more field to chart eventype. something like this, which wont work.

  (sourcetype="cds_fms_access" x_event="*connect" x_status="200") | chart sum(bytes) as sum by hostname, x_event , eventtype

What I am trying to do is calculate the bytes if x_event=connect and disconnect separately by hostname and eventtype.

I have tried to use sum(eval(if(x_event="disconnect",0))) but i have got an error

""Error in 'chart' command: The eval expression for dynamic field 'if(x_event="disconnect",0)' is invalid. Error='The arguments to the 'if' function are invalid.'"

Please Help.

Thanks in Advance

Tags (2)
0 Karma

Drainy
Champion

As per the docs;
http://docs.splunk.com/Documentation/Splunk/4.3/SearchReference/CommonEvalFunctions

The IF statement requires three inputs, the test, IF true and a final value for IF not true (the else)

An example from the docs for quick reference;

err=if(error == 200, "OK", "Error")
0 Karma

MarioM
Motivator

I am not sure "if" works with "chart" but it does with "stats" :
| stats sum(eval(if(eventtype=="SOME_EVENT,SOME_FIELD",0))) as SOME_TOTAL

0 Karma
Get Updates on the Splunk Community!

Wondering How to Build Resiliency in the Cloud?

IT leaders are choosing Splunk Cloud as an ideal cloud transformation platform to drive business resilience,  ...

Updated Data Management and AWS GDI Inventory in Splunk Observability

We’re making some changes to Data Management and Infrastructure Inventory for AWS. The Data Management page, ...

Introducing the Splunk Community Dashboard Challenge!

Welcome to Splunk Community Dashboard Challenge! This is your chance to showcase your skills in creating ...