Generic Widget

The [widget] section contains the configuration settings for each widget displayed in the portal.

[widget] Settings

Inherited settings from the [configuration] level: start-time, end-time, timespan, update-interval, timezone, batch-update, batch-size, dialog-maximize, url, path, url-parameters. These settings can be overwritten at the [widget] level.

SettingExampleDescriptionChart Lab
typetype = chart
type = bar
type = treemap
Type of widget.
Possible settings: chart, gauge, bar, histogram, box, calendar, treemap, pie, table, console, property, text, page, graph.
tooltiptooltip = Widget TooltipDescription of widget, displayed on mouse-over on the widget title.View
left-unitsleft-units = 1Absolute offset from the left, in units.View
top-unitstop-units = 1Absolute offset from the top, in units.View
time-spantimespan = 6 hourInterval of initial data loading (1 hour by default).View
ahead-time-spanahead-time-span = 80%Amount of time shown ahead of the last series value, proportion of the set time-span.
Set in percent.
colorscolors = greenRedefinition of the palette.
Table, console, property, text, and page widgets don’t support this setting.
In chart, bar, box, and pie widgets the palette by default is determined by the following array:
legend-positionlegend-position = leftPosition of the legend, for widgets that support it.
Possible values: hidden, top, right, bottom, left
By default legend-position is hidden in the time chart.
legend-position is set to top by default on dialog chart.
It is possible to combine values:
for example: legend-position = bottomright
scale, scale-x, scale-yscale = 1.5
scale-x = 0.7
Scale of the widget (1 by default) – not supported in all browsers.View
max-range = 40
min-range = 10
Minimum and maximum range of values displayed on the left axis.
The actual range may differ from the specified limits if the loaded data contains values outside of the range.
min-range-right = 250000
max-range-right = 150000
Minimum and maximum range of values displayed on the right axis.
The actual range may differ from the specified limits if the loaded data contains values outside of the range.
min-range-force = 0
max-range-force = 50
Range applied to left-axis series for hiding loaded data outside of the specified limits.View
min-range-right-force = 0
max-range-right-force = 50
Range applied to right-axis series for hiding loaded data outside of the specified limits.View
rotate-ticksrotate-ticks = 45
rotate-ticks = 90
rotate-ticks = true
Rotate x-axis labels.
Set in degrees.
Can also be set to true to rotate ticks by 90 degrees.
Default value: 90
centralize-tickscentralize-ticks = truePosition the time/date markers between ticks instead of under ticks.
Possible values: true, false
Default value: false
centralize-columnscentralize columns = truePosition the columns between ticks instead of directly above them.
Possible values: true, false
Default value: false
axis-title - CPU Utilization in %
axis-title-right - Free Memory in KB
Left and right axis labels.View
stylestyle = padding: 50pxStye applied to the widget container.View
header-styleheader-style = background-color: steelblue
header-style = background: red
header-style = return 'background: white;';
header-style = display: none
Customize widget header style.
This can be useful when the portal contains many charts and they need to be visually grouped.
Possible settings:
background-color: – replace color, retain pattern
background: – replace both color and pattern with a solid color
display: none – hide header
header-style = return 'background: white;'; – remove all styles
classClass, setup for the widget container.
markersmarkers = falseCan be enabled for all widgets.
Display of series value markers (false by default).
Markers can also be enabled from the mouse-over menu on the axis of widgets.
formatformat = kilobytesThis setting is used to display the statistics in the appropriate unit of measure.
For several series tied to a single axis it is sufficient to indicate this a single time.
Possible values: $ value, value + “%”, d3.format (pattern), bytes, kilobytes, megabytes, etc.
Can also be used to round numbers up or down for visual clarity.
For example: format = Math.round
Learn more about format settings
label-formatlabel-format = tagName=tagValue
label-format = statistics - period
Series label pattern containing text and placeholders.
Any combination of the following can be used:
entity, metric, tagName, tagValue,
statistics, period
Default value: entity: metric: tagName=tagValue: statistics - period

Additional details

day-formatday-format = %m/%d
day-format = %y/%m/%d
day-format = %Y/%m/%d
day-format = %Y %m/%d
Timestamp format of the x-axis.
Set using a combination of: %Y, %y, %m, %d
Learn more about format settings.
cachecache = truePossible value: true, false. Default: false.
The fastest way to retrieve one last detailed value for the specified series from the Last Insert table.
Useful for gauge, bar, text, treemap, and graph widgets which display only one value, and in case statistical functions are not used on the client.
limitlimit = 1000Return the last-N samples for each series.
In case of console and property widgets, the limit is applied to record count. The limit is not applied to alert queries in the console widget.


audio-onloadaudio-onloadThe audio alert is played on the initial widget load if audio-alert expression returns path to audio file and audio-onload is set to true.
Default values: false
Learn more about audio alert settings
display-panelsdisplay-panels = trueDisplay control panels in the top left and right corners in the time-series and bar charts.
Possible values: false, true, hover. Default: hover.
expand-panelsexpand-panels = allDisplay control panel options.
Possible values: all, compact, none.

Description of Series

The [widget] section can include one or multiple [series] sections.

Review the following guide on how to associate the [series] section with data stored in the database.

[series] Settings

NameExampleDescriptionChart Lab
metricmetric = cpu_busyMetric name.View
table and attributetable=klz_disk
Alternative to metric name.
if both are set, then metric = table,attribute
entityentity = nurswgvml007
entity = nurswgvml00*
Entity name. Supports ? and * wildcards.View
entitiesentities = nurswgvml006, nurswgvml007List of comma separated entity names.

If both entity and entities are specified, entity takes precedence.

Supports ? and * wildcards.

entity-groupentity-group = nmon-sub-groupEntity group.View
entity-expressionentity-expression = tags.location = 'SVL'Applies server-side filter to entities using entity name, tags, and fields.View
tag-expressiontag-expresion = tags.file_system NOT LIKE '/m*'Applies server-side filter to series based on series tags.View
statisticstatistic = percentile_95Aggregation statistic function.
Default value: detail.
Supported functions:
periodperiod = 15 minuteAveraging period for statistic setting (1 minute by default). For example, period = 1 day.View
alignalign = END_TIMEAlignment option for period aggregation determines the start time of the periods. Possible values: START_TIME, END_TIME, CALENDAR (default), FIRST_VALUE_TIME.
Refer to Data API for details.
interpolateinterpolate = LINEARAdd missing aggregation periods.View
interpolate-extendinterpolate-extend = trueFill the missing leading and trailing periods with NEXT and PREVIOUS values.View
raterate = 15 secondsComputes difference between consecutive samples per unit of time (rate interval).
Used to compute rate of change when the underlying metric measures a continuously incrementing counter.
Rate formula:
rateInterval = rate.count * rate.unit (in milliseconds)

if (value > previousValue) {

resultValue = (value - previousValue) / (time - previousTime) * rateInterval;

aggregator.addValue(timestamp, resultValue);


rate-counterrate-counter = trueComputes difference between consecutive samples per unit of time.
Used to compute rate of change when the underlying metric measures a continuously incrementing counter.
Possible values: true, false
replace-valuereplace-value = value < 50 ? null : valueExpression to modify or filter series values.
For example: replace-value = value < 50 ? null : value
This expression will filter out all values less than 50 from the series.
Only supports time and values arguments.
Aggregators are not supported.
Setting only applies to current series, other series cannot be referenced, for example using alias.
data-typedata-type = forecastData type for the current series.
Possible values: historical, forecast, forecast_deviation, lower_confidence, upper_confidence
forecast-nameforecast-name = hw5Unique identifier of the forecast.
Useful when creating multiple forecasts for the same series.
If no forecast name is set, the default forecast will be loaded.
style = stroke-dasharray: none;style = stroke-dasharray: none;Remove dashes from forecast line on the chart.View
aliasalias = total
alias = free
Unique series designation, used to receive its data in other series.View
alert-expressionalert-expression = value > 5Expression evaluated when the series is updated with new values. If the alert-expression evaluates to true, styles specified in alert-style setting are applied to modify the widget appearance.View
alert-stylealert-style = stroke: redCSS styles applied to the series when alert-expression returns true (not equal to false, 0, "", null, undefined and NaN).
Conditional styles using JavaScript code are supported, for example: alert-style = alert == 1 ? 'color: green' : 'color: red'.
audio-alertaudio-alert = (alert > 0.5) ? '/portal/resource/alarm.ogg' : '/portal/resource/klaxon.ogg'When alert-expression evaluates to true, an audio file is played in browser.
You can either set the full url path to the audio file or store the file locally on your ATSD installation.
Store your audio files in the /opt/atsd/atsd/conf/portal directory on your ATSD installation.
The following path to audio file must be set in the audio-alert setting:
NOTE that files located in the specified directory must always be referenced with the addition of /resource/ before the audio file name.
Audio is played only on alert-expression change, false->true or true->false.
Audio is played only once, on initial alert occurrence.
Audio is not played when the widget is loaded (undefined->true).
Different audio tracks can be played based on expression, e.g. one track on alert-ON, another track on alert OFF.
Supported formats: mp3, ogg, wav
NOTE: Internet Explorer 11 doesn't support ogg format.
Learn more about audio alert settings
group-keysgroup-keys = type
group-keys = entity, type
Comma separated list of keys including entity, type, source, and custom tags to count messages by period. Supported in server aggregation mode only: server-aggregate = true.View
group-statisticgroup-statistic = sumGroup statistic function applied to matching series.
Default value: same as statistic.
Supported functions:
group-periodgroup-period = 1 hourGroup period used by group-statistic. By default equals to aggregation period.
group-firstgroup-first = falseControls the sequence of aggregation and grouping. Default value = false. If group is set to true, group is performed before aggregation.
group-interpolategroup-interpolate= LINEARInterpolates grouped values.View
group-interpolate-extendgroup-interpolate-extend = trueFill the missing leading and trailing periods with NEXT and PREVIOUS values.View
series-limitseries-limit = 10Maximum number of series retrieved from the database, to prevent the client/server from processing too many series.View
exact-matchexact-match = trueIgnore series with additional tags, other than tags specified in series configuration.View
merge-fieldsmerge-fields = mount_point
merge-fields = entity
Combine series into grouped series based on a field. Applies only in multiple-series mode (series which use wildcards, entities, entityGroup settings or comma-separated tag values are treated as multiple by default).

Possible values:
- entity : all series with the same entity will be combined.
- {tag-name} : all series with the same value of tag {tag-name} will be combined.

value Settings

Computed series derived from raw series need to specify the 'value' setting containing an arithmetic expression in JavaScript syntax. The expression should return a number or null.

NameExampleDescriptionChart Lab
valuevalue = max('s1')
value = min('s1', '10 minute')
value = (1 - value('free') / value('total')) * 100
value = Math.max(0, value('alias'))
Value of the series.
Retrieves the value of the underlying series identified by alias.
avg, max, min, sum, cntvalue = (1 - avg('free','15 minute') / avg('total','15 minute')) * 100Applies an aggregate statistic to an underlying series grouped by period. View
percentilevalue = (1 - percentile(99,'free','5 minute') / percentile(99,'total','5 minute')) * 100Applies percentile statistics for an underlying series.
Arguments: rank 0 to 100, alias and period.
forecastvalue = (1 - forecast('free') / forecast('total')) * 100Returns forecast for the underlying series. View
lower_confidence, upper_confidencevalue = (1 - lower_confidence(90, 'free') / forecast('total')) * 100
value = (1 - upper_confidence(90, 'free') / forecast('total')) * 100
Retrieves lower and upper limits of the confidence interval for the underlying series.
Arguments: level specified integer from 0 to 100, and alias.
Additional [series] Settings
NameExampleDescriptionChart Lab
stylestyle = stroke: green; stroke-width: 3Styles assigned to this series.View
colorcolor = orangeThe color of the series (determined randomly by default). View
labellabel = CPU Busy - nurswgvml007Displayed in the widget series title.View
tooltiptooltip = NURSWGVML007The description of the series.
Displayed on mouse-over the series icon located under the title bar.
axisaxis = rightThe axis to which the series is tied; possible values: left, right. View
formatformat = kilobytesThe setting is used to display the information in the unit of measure.
For several series tied to a single axis it is sufficient to indicate a time.
Possible values: $ value, value + "%", d3.format (pattern), bytes, kilobytes, megabytes, etc.
Can also be used to round up or down the numbers for visual clarity.
For example: format = Math.round
Learn more about format settings
displaydisplay = false
display = tags.mount_point = '/'
Display series in the widget (true by default).
Display series based on expression.

Expression Examples

enabledenabled = falseHide (uncheck) series in the widget legend (false by default).
Hide (uncheck) series in the widget legend based on expression.

Expression Examples

refresh-intervalrefresh-interval = 120The time interval, during which there is no update (0 by default) from the time of receiving the last values of the series.
Refresh-interval is set in seconds.
retry-refresh-intervalretry-refresh-interval = 5 minuteThe time interval during which the receipt of empty data for this series is not going to update (0 by default).
Retry-refresh-interval is set in seconds.
error-refresh-intervalerror-refresh-interval = 30 minuteThe time interval during which there is no update (0 by default) because of an error in the server processing of this series.
Error-refresh-interval is set in seconds.
[tags] Settings

[tags] syntax examples:

  mount_point = /tmp
  fstype = tmpfs

In case there are several values for the same tag name, they can be specified on one line separated by comma:

  tag_name = tag_value1, tag_value2

If the tag name contains an equals sign (=) or the tag value contains a comma (,), escape them with a backslash (\):

  tag\=name = tag\,value

This means the name and the value are equal to tag=name and tag=value, respectively.

If the tag name contains reserved names (setting names), surround the tag name with quotes to avoid collisions:

  "type" = sensor
[series] Example
  entity = nurswgvml006
  metric = disk_used_percent
  statistic = avg
  period = 15 minute
    file_system = none
    mount_point = /run/shm