Hi Splunkers,
I need to calculate the daily value change of a field, and report on the daily difference. The field is just an event counter, that gets increased every time the event is triggered. Events come in at no particular frequency.
Example Data:
20151231-235955 foo bar 211
20160101-000304 foo bar 212
20160101-000402 foo baz 213
20160101-020543 foo bar 213
.....
20160101-235812 foo baz 278
20160102-000919 foo bar 278
Now I need to create a table (timechart, whatever) of the daily changes of the counter. For Jan, 01 2016 it should read 67 (211 as last count of the previous day, 278 as last event of the actual day).
I am not sure how to do this. I already tried using streamstats
and counting the changes of the field, but I don't know how to reset the streamstats value each day.
Can someone point me in the right direction?
Thanks!
This is what I would do:
yoursearch
| bucket span=1d _time
| stats max(event_counter) as dailymax, min(event_counter) as dailymin by _time
| eval dailydiff = dailymax - dailymin
Try this. This should give you the difference for a week per day
...your search earliest=-7d@d
| bucket _time span=1d
| stats earliest(_time) as FirstTime,earliest(counter) as FirstCounter, latest(_time) as LastTime,latest(counter) as LastCCounter
by _time
|eval Difference=LastCCounter-FirstCounter
|table FirstTime FirstCounter LastTime LastCounter Difference
Please test it with your events
Also refer to http://docs.splunk.com/Documentation/Splunk/6.2.0/Search/Specifytimemodifiersinyoursearch
This is what I would do:
yoursearch
| bucket span=1d _time
| stats max(event_counter) as dailymax, min(event_counter) as dailymin by _time
| eval dailydiff = dailymax - dailymin
Sometimes it's so simple you just don't see the obvious 🙂
Thanks a lot, that's what I needed!
It sounds like delta might be what you want:
http://docs.splunk.com/Documentation/Splunk/6.3.2/SearchReference/Delta