Splunk Search

Substracting chart contents over a range

asarolkar
Builder

I have a question about constants and timechart/chart/stats

I have a search like this

sourcetype="syslog" | ... | eval target = 100 | eval range=case( (date_hour>=3 AND date_hour<=4), "in", (date_hour<3 OR date_hour>4), "out" ) | stats count by range

I need to be able to add a | append such that i can print the difference.

Difference = 100 - "in" - "out"

Any ideas on how stats works in the context of deducting two values gathered over time from a constant and displaying it on the exact same time chart ?

0 Karma
1 Solution

kristian_kolb
Ultra Champion

well, this should work. Create three counts (c, IN and OUT) in the stats function, and just eval the difference from the constant after the stats.

sourcetype=syslog |... 
| eval range = if(date_hour >= 3 OR date_hour <= 4, "in", "out") 
| stats c c(eval(range="in")) as IN c(eval(range="out")) as OUT 
| eval Difference = 100 - c

/K

View solution in original post

0 Karma

kristian_kolb
Ultra Champion

well, this should work. Create three counts (c, IN and OUT) in the stats function, and just eval the difference from the constant after the stats.

sourcetype=syslog |... 
| eval range = if(date_hour >= 3 OR date_hour <= 4, "in", "out") 
| stats c c(eval(range="in")) as IN c(eval(range="out")) as OUT 
| eval Difference = 100 - c

/K

0 Karma

asarolkar
Builder

Hi, What if its not a constant like 100.

What if its read from a an inputlookup like so

| inputlookup constantTable | where OrgId=100 | field CONSTANT

CONSTANT = 100

How do I incorporate an appendpipe into this without losing "in" and "out" ?

Any help would be appreciated.

0 Karma

jonuwz
Influencer

And for timechart / chart its as simple as

    sourcetype="syslog" | ... | eval target = 100 | eval range=case( (date_hour>=3 AND date_hour<=4), "in", (date_hour<3 OR date_hour>4), "out" ) | timechart count by range | eval Difference=100-in-out
Got questions? Get answers!

Join the Splunk Community Slack to learn, troubleshoot, and make connections with fellow Splunk practitioners in real time!

Meet up IRL or virtually!

Join Splunk User Groups to connect and learn in-person by region or remotely by topic or industry.

Get Updates on the Splunk Community!

[Puzzles] Solve, Learn, Repeat: Character substitutions with Regular Expressions

This challenge was first posted on Slack #puzzles channelFor BORE at .conf23, we had a puzzle question which ...

Splunk Community Badges!

  Hey everyone! Ready to earn some serious bragging rights in the community? Along with our existing badges ...

[Puzzles] Solve, Learn, Repeat: Matching cron expressions

This puzzle (first published here) is based on matching timestamps to cron expressions.All the timestamps ...