icon/x Created with Sketch.

Splunk Cookie Policy

We use our own and third-party cookies to provide you with a great online experience. We also use these cookies to improve our products and services, support our marketing campaigns, and advertise to you on our website and other websites. Some cookies may continue to collect information after you have left our website. Learn more (including how to update your settings) here.
Accept Cookie Policy

Accept License Agreements

This app is provided by a third party and your right to use the app is in accordance with the license provided by that third-party licensor. Splunk is not responsible for any third-party apps and does not provide any warranty or support. If you have any questions, complaints or claims with respect to this app, please contact the licensor directly.

Thank You

Downloading Region Chart Viz
SHA256 checksum (region-chart-viz_103.tgz) 6c429cb2ad42d8cb1773a0f8c1308197b039a74971ead2283eb33436a61684fc
To install your download
For instructions specific to your download, click the Details tab after closing this window.

Flag As Inappropriate

Region Chart Viz

Splunk AppInspect Passed
Admins: Please read about Splunk Enterprise 8.0 and the Python 2.7 end-of-life changes and impact on apps and upgradeshere.
A line chart visualization that supports data-driven, colored regions.

Can be used to show:
- configured thresholds
- the spread of data (for example using standard deviation/interquartile range)
- where data might be incomplete (because it is still arriving)
- maintenance periods
- business hours

Provide valuable context to your line charts. Built with D3.

See also "Get ITSI Thresholds" ( https://splunkbase.splunk.com/app/4910/ ) - a custom command to retrieve ITSI time-based thresholds.

Copyright (C) 2019 Chris Younger. I am a Splunk Professional Services consultant working for JDS Australia, in Brisbane Australia.

Source code | Questions, Bugs or Suggestions | My Splunk apps


This visualisation should work with any data that works with the Splunk built-in line chart. The first column (which is often "_time") will be the X-axis and subsequent columns will be rendered as lines (so they should be numeric values). A column with the specific name "regions" should be supplied which defines the regions to draw behind the chart.

This is how the data should look:

Regions are drawn per-column vertically, from bottom to top. Horizontal regions can be drawn by setting the same region value on multiple columns. See the examples below.

The format for the region field is comma-seperated key-value pairs and best explained with examples:

"regions" field Result
red The most basic example that creates a region. A red column of data will be drawn from the bottom of the chart to the top of chart. Region colors can be specificed as valid HTML colours (RBG, Hex, named colours, etc..).
Out of hours=#ccccc Create a named region in a grey color for the chart column. This name will be seen on the tooltip when hovering the chart.
green,1000,orange,1500,red Create a green region from the bottom of the chart to 1000, an orange region from 1000 to 1500 and a red region from 1500 to the top of the chart.
,1000,Warning=orange,1500,Critical=red Create a orange region from 1000 to 1500 and a red region from 1500 to the top of the chart.


Charting ITSI Time-Based Policies

Especially useful for visualizing the adaptive thresholds that were set by ITSI (also works with ITSI static thresholds). Requires add-on Get ITSI Thresholds - custom command

index="itsi_summary" itsi_service_id=c2d8f443-fd65-4872-b3b8-1ac7757b57f6 kpiid=a672f70631ce28a0be31e1f2 indexed_is_service_max_severity_event=0 
| timechart span=1h avg(alert_value) as alert_value 
| getitsithresholds service=c2d8f443-fd65-4872-b3b8-1ac7757b57f6 kpi=a672f70631ce28a0be31e1f2

Show business hours

Over a 24 hour chart, show the hours that are important.

... search ...
| timechart span=1h avg(series1) as avg
| eval hour = strftime(_time, "%H")
| eval regions = if(hour > 17 OR hour < 9,"Out of hours=#009DD9","") 
| fields - hour

Show static thresholds

Hardcoded simple static thresholds.

... search ... 
| timechart span=1m avg(series1) as avg
| eval regions = "normal=#99D18B,5000,Warning=#FCB64E,7000,Error=#B50101"

Show that data might be incomplete

Add a gray region to highlight the area of the chart that is less than 15 minutes old. Can easily be adapted to show a maintinance window.

... search ... 
| timechart span=1h avg(series1) as avg
| eval regions = if(_time > (now() - 900),"Data still arriving=#aaaaaa","")

Show 2/3 standard deviations above/below the average, for same time last week

Calculate the historical average and standard deviation of the data. Then mark regions based on the standard deviations.

... search over 2 weeks of data ... 
| timechart span=1h avg(FIELD) as avg stdev(FIELD) as stddev 
| timewrap w series=short align=now 
| where _time > now() - 86400 
| eval regions = "3 standard deviations below=#B50101," + tostring(avg_s1 - stddev_s1 * 3) + ",2 standard deviations below=#FCB64E," + tostring(avg_s1 - stddev_s1 * 2) + ",normal=#99D18B," + tostring(avg_s1 + stddev_s1 * 2) + ",2 standard deviations above=#FCB64E," + tostring(avg_s1 + stddev_s1 * 3) + ",3 standard deviations above=#B50101" 
| table _time avg_s0 avg_s1 regions

Formatting options

There are two modes of rendering the lines when there are multiple series of data. "Lighter/Dashed" is best suited when the data series are historical trend lines. E.g. Comparing CPU performance this week against last week and the week before. "Coloured" is best suited when the data series are peers. E.g. The average CPU of three servers in a cluster.

There are some text overlays that can be enabled. Note that these overlays are only for the primary data series.

Third party software

The following third-party libraries are used by this app. Thank you!
jQuery - MIT - https://jquery.com/
D3 - BSD 3-Clause - https://d3js.org/
TinyColor - MIT - https://github.com/bgrins/TinyColor
Font Awesome - Creative Commons Attribution-ShareAlike 4.0 License - https://fontawesome.com/

Release Notes

Version 1.0.3
March 11, 2020


Subscribe Share

AppInspect Tooling

Splunk AppInspect evaluates Splunk apps against a set of Splunk-defined criteria to assess the validity and security of an app package and components.

Are you a developer?

As a Splunkbase app developer, you will have access to all Splunk development resources and receive a 10GB license to build an app that will help solve use cases for customers all over the world. Splunkbase has 1000+ apps and add-ons from Splunk, our partners and our community. Find an app or add-on for most any data source and user need, or simply create your own with help from our developer portal.

Follow Us:
© 2005-2020 Splunk Inc. All rights reserved.
Splunk®, Splunk>®, Listen to Your Data®, The Engine for Machine Data®, Hunk®, Splunk Cloud™, Splunk Light™, SPL™ and Splunk MINT™ are trademarks and registered trademarks of Splunk Inc. in the United States and other countries. All other brand names, product names, or trademarks belong to their respective owners.