Splunk Search

How to achieve overlay graf with daily total, average per day for a week and standard deviation?

fatsug
Builder

I'm trying to use tstats to calculate the daily total number of events for an index per day for one week. Then calculate an averade per day for the entire week, as well as upper and lower bounds +/- 1 standard deviation.

Feels like I can get each individual thing to work, either the bar chart with the daily count, OR the statistics. Though I want them all in a single figure.

This is my base search:

 

| tstats count as daily_events where index="index" earliest=-7d latest=-1d by _time span=1d 
# | timechart span=1d sum(daily_events) as daily_events

 

Which seems to work just fine by itself, with or without a following "timechart"

 

Now I figure I'd do something like this:

 

| stats sum(daily_events) as total_events stdev(daily_events) as std_dev 
| eval avg_events=round(total_events/7, 0)
| eval upper = total_events + std_dev 
| eval lower = total_events - std_dev

 

 Which by itself seems to work, though I now loose the results from the base search.

So how can I combine these things (can I combine?) into something close to what I want to achieve? I'm attaching a crude scetch for clarity.

It feels like I somehow need to add three columns just replicating the upper, lower and av_events values for every "daily_events" entry, or something. I just can figure it out. Any feedback is mych appreciated.

Labels (4)
0 Karma
1 Solution

yuanliu
SplunkTrust
SplunkTrust

You must be looking for eventstats (in lieu of stats)

| tstats count as daily_events where index="index" earliest=-7d latest=-1d by _time span=1d
| eventstats sum(daily_events) as total_events stdev(daily_events) as std_dev
| eval avg_events=round(total_events/7, 0)
| eval upper = total_events + std_dev 
| eval lower = total_events - std_dev

 

View solution in original post

Tags (1)

yuanliu
SplunkTrust
SplunkTrust

You must be looking for eventstats (in lieu of stats)

| tstats count as daily_events where index="index" earliest=-7d latest=-1d by _time span=1d
| eventstats sum(daily_events) as total_events stdev(daily_events) as std_dev
| eval avg_events=round(total_events/7, 0)
| eval upper = total_events + std_dev 
| eval lower = total_events - std_dev

 

Tags (1)

fatsug
Builder

I was just about to post myself but glad you beat me to the punch, totally forgot about aventstats!

Thank you

0 Karma
Career Survey
First 500 qualified respondents will receive a $20 gift card! Tell us about your professional Splunk journey.

Can’t make it to .conf25? Join us online!

Get Updates on the Splunk Community!

Community Content Calendar, September edition

Welcome to another insightful post from our Community Content Calendar! We're thrilled to continue bringing ...

Splunkbase Unveils New App Listing Management Public Preview

Splunkbase Unveils New App Listing Management Public PreviewWe're thrilled to announce the public preview of ...

Leveraging Automated Threat Analysis Across the Splunk Ecosystem

Are you leveraging automation to its fullest potential in your threat detection strategy?Our upcoming Security ...