Splunk Search

How to display a gauge chart when null values are received?

qygoh
Engager

Hi guys i have a gauge chart which normally will display values. however i encounter issues when there is no value, how should i resolve it? i try with "noop" it seem like no working. Mind to share? Below is my search:

Customer="abc" Location="xyz"  ID2="EFF"  | eval Value=0.5 |stats avg(Value) as avgvalues | eval avgvalues=round(avgvalues,2)
| gauge avgvalues 0 0.6 1|noop

Thank you very much

0 Karma
1 Solution

niketn
Legend

You can run a base search and using preview (or finalized) search event handler, you can set calculated value for your Gauge Chart as a token. You can use $job.resultCount$ to identify "No Results Found" scenario and default the token to zero. See the example below, you may need to correct the base search as per what you have.

  <!--Base search for Gauge Chart with default 0 if null -->
  <search>
    <query>Customer="abc" Location="xyz"  ID2="EFF"  
  | eval Value=0.5 
  |stats avg(Value) as avgvalues 
  | eval avgvalues=round(avgvalues,2)
  </query>
    <earliest>@d</earliest>
    <latest>now</latest>
    <sampleRatio>1</sampleRatio>
    <preview>
      <!--No results, default $gaugeValue$ to zero -->
      <condition match="$job.resultCount$==0">
        <set token="gaugeValue">0</set>
      </condition>
      <!--No results, default $gaugeValue$ from query -->
      <condition>
        <set token="gaugeValue">$result.avgvalues$</set>
      </condition>
    </preview>
  </search>
  <row>
    <panel>
      <chart>
        <search>
          <query>| makeresults 
| eval avgvalues =$gaugeValue$
| table avgvalues
| gauge avgvalues 0 0.6 1           
          </query>
          <earliest>-1m</earliest>
          <latest>now</latest>
        </search>
        ....
        ....
        ....

For reference, you can check out Null Search Swapper example in Splunk 6.x Dashboard Examples app.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"

View solution in original post

0 Karma

niketn
Legend

You can run a base search and using preview (or finalized) search event handler, you can set calculated value for your Gauge Chart as a token. You can use $job.resultCount$ to identify "No Results Found" scenario and default the token to zero. See the example below, you may need to correct the base search as per what you have.

  <!--Base search for Gauge Chart with default 0 if null -->
  <search>
    <query>Customer="abc" Location="xyz"  ID2="EFF"  
  | eval Value=0.5 
  |stats avg(Value) as avgvalues 
  | eval avgvalues=round(avgvalues,2)
  </query>
    <earliest>@d</earliest>
    <latest>now</latest>
    <sampleRatio>1</sampleRatio>
    <preview>
      <!--No results, default $gaugeValue$ to zero -->
      <condition match="$job.resultCount$==0">
        <set token="gaugeValue">0</set>
      </condition>
      <!--No results, default $gaugeValue$ from query -->
      <condition>
        <set token="gaugeValue">$result.avgvalues$</set>
      </condition>
    </preview>
  </search>
  <row>
    <panel>
      <chart>
        <search>
          <query>| makeresults 
| eval avgvalues =$gaugeValue$
| table avgvalues
| gauge avgvalues 0 0.6 1           
          </query>
          <earliest>-1m</earliest>
          <latest>now</latest>
        </search>
        ....
        ....
        ....

For reference, you can check out Null Search Swapper example in Splunk 6.x Dashboard Examples app.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
0 Karma

qygoh
Engager

it working perfectly if i wish to change the chart to table i just have to use am i right?

0 Karma

niketn
Legend

@qygoh... table with single row... yes you can but with result.<fieldname> you can not only have single value even if the search returns multiple results. In other words you can replace the chart with either Single Value, Status Indicator(Custom Visualization), Other Gauges or HTML panel.

____________________________________________
| makeresults | eval message= "Happy Splunking!!!"
0 Karma

qygoh
Engager

@niketnilay thank you very much for your help and suggestion

0 Karma
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!

Announcing Modern Navigation: A New Era of Splunk User Experience

We are excited to introduce the Modern Navigation feature in the Splunk Platform, available to both cloud and ...

Modernize your Splunk Apps – Introducing Python 3.13 in Splunk

We are excited to announce that the upcoming releases of Splunk Enterprise 10.2.x and Splunk Cloud Platform ...

Step into “Hunt the Insider: An Splunk ES Premier Mystery” to catch a cybercriminal ...

After a whole week of being on call, you fell asleep on your keyboard, and you hit a sequence of buttons that ...