Splunk Search

Single Value visualisation for a timechart with sparkline and showing the group by field

MCW
Explorer

Hi expert,

My SPL looks something like:

index=<> sourcetype::<>
| <do some usual data manipulation>
| timechart min(free) AS min_free span=1d limit=bottom1  usenull=f BY hostname
| filldown

What I want to achieve is displaying the outcome as Single Value visualisation with sparkline.

My expectation is to have the very last and smallest value min_free for the time span selected displayed and showing the hostname with the smallest min_free shown in the same visual.

However, I get different outcome. The BY split appears to group data by hostname first and then applies the min_free value as secondary sort criteria.

Following is what I get:

MCW_1-1715929393497.png

 

When I modify the SPL timechart to limit=bottom2, I get the following.

MCW_2-1715929571966.png

 

What I want with a slightly modified SPL (limit=bottom1 useother=f) is to only display the circled middle one with the Single Value showing both the latest smallest min_free and hostname values.

How can I achieve this?

Thanks,

MCW

 

 

Labels (1)
0 Karma
1 Solution

ITWhisperer
SplunkTrust
SplunkTrust
``` bucket time by day ```
| bin _time span=1d 
``` find minimum for each host for each day ```
| stats min(free) AS min_free BY _time hostname
``` find lowest for minimum for each day ```
| eventstats min(min_free) as lowest by _time
``` find host which has that minimum for each day ```
| eval min_host=if(min_free=lowest,hostname,null())
``` find the latest host which has the daily minumum ```
| eventstats latest(min_host) as latest_lowest
``` just keep that host ```
| where hostname==latest_lowest
``` switch to "chart" format ```
| xyseries _time hostname min_free

View solution in original post

0 Karma

ITWhisperer
SplunkTrust
SplunkTrust
``` bucket time by day ```
| bin _time span=1d 
``` find minimum for each host for each day ```
| stats min(free) AS min_free BY _time hostname
``` find lowest for minimum for each day ```
| eventstats min(min_free) as lowest by _time
``` find host which has that minimum for each day ```
| eval min_host=if(min_free=lowest,hostname,null())
``` find the latest host which has the daily minumum ```
| eventstats latest(min_host) as latest_lowest
``` just keep that host ```
| where hostname==latest_lowest
``` switch to "chart" format ```
| xyseries _time hostname min_free
0 Karma

MCW
Explorer

Thanks very much ITWhisper, it does work for what I need. Cheers!

0 Karma
Get Updates on the Splunk Community!

Explore the Latest Educational Offerings from Splunk [January 2025 Updates]

At Splunk Education, we are committed to providing a robust learning experience for all users, regardless of ...

Developer Spotlight with Paul Stout

Welcome to our very first developer spotlight release series where we'll feature some awesome Splunk ...

State of Splunk Careers 2024: Maximizing Career Outcomes and the Continued Value of ...

For the past four years, Splunk has partnered with Enterprise Strategy Group to conduct a survey that gauges ...