Dashboards & Visualizations

generating a graphic in dashboard xml code

riley_lewis
Loves-to-Learn Lots


Hi,

I am trying to do a chart overlay using a normal distribution graphic based upon the mean and standard deviation acquired from the fieldsummary command. I can generate the values in perl (below) for a bell curve. Can you tell me how to do this in the Splunk Dashboard xml? Thanks.

#!/usr/bin/perl

# min, max, count, mean, stdev all come from the fieldsummary command.

$min = 0.442;
$max = 0.507;
$mean = 0.4835625;
$stdev = 0.014440074377630105;
$count = 128;
$pi = 3.141592653589793238462;

# The numbers above do not indicate a Gaussian distribution.
# Create an artificial normal distribution (for the plot overlay)
# based on 6-sigma.

$min = sprintf("%.3f", $mean - 3.0*$stdev);       # use sprintf as a rounding function
$max = sprintf("%.3f", $mean + 3.0*$stdev);

$interval = ($max - $min)/($count - 1);
$x = $min;
for ($i=0; $i<$count; $i++)
  {
   $y = (1.0/($stdev*sqrt(2.0*$pi))) * exp(-0.5*((($x-$mean)/$stdev)**2));
   $myFIELD[$i] = sprintf(%.3f",$y);
   printf("myFIELD[$i]\n");
   $x = $x + $interval;
  }

exit;
Labels (1)
0 Karma

bowesmana
SplunkTrust
SplunkTrust

Quite literally

| makeresults 
| fields - _time
| eval min = 0.442
| eval max = 0.507
| eval mean = 0.4835625
| eval stdev = 0.014440074377630105
| eval count = 128
| eval pi = 3.141592653589793238462
| eval min = printf("%.3f", mean - 3.0 *stdev)```;       # use sprintf as a rounding function```
| eval max = printf("%.3f", mean + 3.0 * stdev)
| eval x=min
| eval interval = (max - min)/(count - 1)
| eval c=mvrange(0, count, 1)
| foreach c mode=multivalue [ | eval y= (1.0/(stdev * sqrt(2.0 * pi))) * exp(-0.5*(pow(((x - mean) / stdev), 2))), myFIELD=mvappend(myFIELD, printf("%.3d", y)), x = x + interval ]
| fields - c

 

0 Karma

bowesmana
SplunkTrust
SplunkTrust

And if you then want to make that a bar chart, replace the fields - c at the end with

| fields myFIELD
| mvexpand myFIELD
| eval count=tonumber(myFIELD)

bowesmana_0-1713925545827.png

 

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!

Introducing the 2026 - 2027 SplunkTrust cohort!

The goal of the SplunkTrust™ membership has historically been to acknowledge and recognize those who go above ...

(re)Introducing the Splunk Community Champions + 2026 – 2027 Splunk MVPs ...

This program exists as a channel to empower and recognize Splunk advocates and help supercharge initiatives to ...

Pro Tips for .conf26: How to Prep Like a Splunk Veteran

There’s no shortage of incredible content lined up for .conf26 in Denver, from deep-dive technical sessions ...