Dashboard Elements

Dashboard elements are the building blocks of dashboards in NetXMS. Each element displays data in a specific format — charts, tables, maps, status indicators, or embedded content.

Element Categories

NetXMS provides 32 element types organized into the following categories:

Labels and Text

Label

Displays static text on the dashboard. The text is plain — no markup is interpreted — but the font and the text and background colors are configurable. Labels are useful for titles, section headers, and explanatory notes.

Charts

Line Chart

Displays DCI values over time as line graphs. Multiple DCIs can be overlaid on the same chart for comparison. Supports configurable time ranges, auto-refresh, and legend display.

Bar Chart

Displays current or historical DCI values as vertical bars. Useful for comparing values across multiple DCIs or time periods.

Pie Chart

Displays DCI values as proportional slices of a circle. Best suited for showing distribution or composition of related metrics.

Scripted Charts

Scripted charts use NXSL scripts to generate chart data, providing maximum flexibility.

Scripted Bar Chart

A bar chart where data is provided by an NXSL script instead of direct DCI references.

The script must return a hash map where keys are segment labels and values are numeric values.

Simple Hash Map Format

return %{ "Web Servers" => 42, "DB Servers" => 87, "App Servers" => 55 };

Hash Map with Metadata

For additional control over colors and display names, return a hash map where values are JSON strings:

return %{
   "web" => '{"name": "Web Servers", "color": "#4CAF50", "value": 42}',
   "db"  => '{"name": "DB Servers",  "color": "#2196F3", "value": 87}',
   "app" => '{"name": "App Servers", "color": "#FF9800", "value": 55}'
};

JSON value fields:

Field Description

name

Display name in legend and tooltip (falls back to hash map key if omitted)

color

Color as hex string (e.g., "#FF0000") or CSS color name

value

Numeric value for the segment

Dynamic Data Collection Example

data = %{};
container = FindObject("Web Servers");
if (container != null) {
    for (node : container.children) {
        cpuUsage = GetDCIValueByName(node, "System.CPU.Usage");
        if (cpuUsage != null)
            data[node.name] = cpuUsage;
    }
}
return data;

When the element is configured with a Dashboard context object (see Dashboard Context), the context object becomes the script’s context object — for a node it is accessible as $node. The $context variable is available only in the Object Query element.

Scripted Pie Chart

A pie chart where data is provided by an NXSL script. Uses the same data format as the scripted bar chart (hash map or hash map with JSON metadata).

Scripted Gauge

A gauge where the displayed value is produced by an NXSL script instead of a direct DCI reference.

Table DCI Charts

These chart types visualize data from table DCIs (DCIs that return tabular data with multiple rows and columns).

Bar Chart for Table DCI

Displays values from a table DCI column as bars, with each row becoming a separate bar.

Pie Chart for Table DCI

Displays values from a table DCI column as pie slices, with each row becoming a slice.

Gauge Charts

Gauge charts display a single DCI value in a gauge-style visualization, ideal for showing current values relative to defined ranges.

Gauge Types

Type Description

Dial

Traditional circular gauge with a needle pointer

Bar

Horizontal or vertical bar gauge

Text

Numeric value display with color zones

Circular

Full or partial circle gauge

Color Zones

Gauges support color zones that visually indicate value ranges using a symmetrical left/right zone model.

Zone Layout

 min         leftRed    leftYellow              rightYellow  rightRed     max
  |    RED     |  YELLOW  |        NORMAL         |  YELLOW   |   RED    |
  0           0.0        0.0                     70.0        90.0       100

Zone boundary configuration:

Property Default Description

Minimum value

0

Leftmost value on the gauge scale

Maximum value

100

Rightmost value on the gauge scale

Left red zone end

0

Values below this threshold are in the left red zone

Left yellow zone end

0

Values between left red and this threshold are in the left yellow zone

Right yellow zone start

70

Values above this threshold are in the right yellow zone

Right red zone start

90

Values above this threshold are in the right red zone

Values between the left yellow zone end and the right yellow zone start are displayed in the normal (green) zone.

The minimum, maximum, and zone fields accept multiplier suffixes K, M, G, T (decimal) and Ki, Mi, Gi, Ti (binary), with live input validation.

Set both left zone thresholds to 0 (default) to use only right-side zones, which is the most common configuration for metrics like CPU usage where only high values are concerning.

Color Mode

Mode Description

Zone color

Use zone thresholds defined above (default)

Fixed custom color

Use a single custom color for the entire gauge

Active threshold color

Color determined by the active DCI threshold status

Data source color

Color determined by the data source configuration

Additional Gauge Options

Option Description

Vertical orientation

Vertical orientation for Bar type gauges

Place legend inside dial

Display the legend inside the gauge area

Show border around each element

Draw a border around each gauge element

Font name (leave empty to use default)

Override the default font for value display

Font size (0 for autoscale)

Fixed font size for value display

Expected text width (0 for autoscale)

Expected width of the displayed text, used for scaling

Drill-down object

Object (dashboard, map, or other object) opened when the gauge is clicked

Status Elements

Status Chart

Displays the status distribution of objects under a root object as a bar chart (a Transposed option swaps the axes). Shows counts of Normal, Warning, Minor, Major, Critical, and Unknown statuses for all descendants of the root object, not only its direct children.

Status Indicator

Displays status information for objects, DCIs, or calculated values. Multiple display shapes are available:

Shape Description

Circle

Colored circle

Rectangle

Colored rectangle

Rounded Rectangle

Rectangle with rounded corners

Status indicators support four element types:

Type Description

Object

Shows the status of a specific object

DCI

Shows the status based on a DCI threshold state

DCI Template

Shows status for a DCI matching a template pattern across objects

Script

Status determined by an NXSL script

For the Script type, the NXSL script must return an integer representing the status: 0 = Normal, 1 = Warning, 2 = Minor, 3 = Major, 4 = Critical.

Additional options:

  • Label — label placement: None, Inside, or Outside

  • Columns — number of columns for laying out multiple indicators (1-64)

  • Use full status color range — use the full set of status colors instead of only green/yellow/red

Status Map

Displays a grid of status indicators for all child objects of a selected container. Each cell represents one object, colored according to its current status.

Useful for at-a-glance status overview of large numbers of objects (server farms, branch offices, device pools).

View Modes

The Status Map supports three view modes:

Mode Description

Flat

All child objects displayed as equal-sized colored rectangles in a flat grid

Group

Objects grouped by their parent container, with each group shown under a header

Radial

Hierarchical radial (sunburst) layout showing the object tree as concentric rings

Configuration Options

Option Description

Root object

Container whose children are displayed

Severity filter

Bitmask to show only objects with specific severity levels

Group objects by containers

Enable Group view mode (default: flat)

Show in radial form

Enable Radial view mode

Show filter

Display a search bar to filter objects by name

Hide objects in maintenance

Exclude objects currently in maintenance mode

Fit to screen

Scale the display to fit the available screen area

Monitors

Alarm Viewer

Displays active alarms filtered by a root object. Only alarms generated by the selected object and its children are shown.

Configuration options:

  • Root object — the object tree root for alarm filtering

  • Severity filter — show only alarms of specific severity levels

  • State filter — show outstanding, acknowledged, or resolved alarms

Syslog Monitor

Displays a live feed of syslog messages received by NetXMS. Messages can be filtered by source object.

SNMP Trap Monitor

Displays a live feed of SNMP traps received by NetXMS. Traps can be filtered by source object.

Event Monitor

Displays a live feed of events generated within NetXMS. Events can be filtered by source object and event type.

Configuration options:

  • Root object — filter events by source object and children

  • Events — show only the selected event types

  • Text filter — show only events matching a text filter

  • Maximum events to load (0 to disable) — limit on the number of historical events loaded into the view

  • Time range (minutes, 0 for no limit) — load only events from the given time range

AI Observation Monitor

Displays observations produced by the server’s AI assistant for the selected object.

File Monitor

Displays real-time content from a monitored file (via agent file monitoring). Useful for watching application logs, system logs, or other text files.

Configuration options:

  • Node — the node where the file resides

  • File name — path to the monitored file

  • Line filter (regular expression) — only lines matching the expression are displayed

  • Highlighter — syntax highlighting mode for the displayed content

Data Display

Table Value

Displays the current value of a table DCI in tabular format. Shows all rows and selected columns from the table DCI.

Availability Chart

Displays availability statistics for a business service as a pie chart with two slices: uptime and downtime. Only business service objects can be selected as the data source.

Configuration options:

  • Period — the reporting period: Today, Yesterday, This week, Last week, This month, Last month, This year, Last year, or Custom

  • Period length (days) — length of the period in days when Period is set to Custom

DCI Summary Table

Displays a table where each row represents a different node and columns show DCI values. This provides a cross-node comparison view for the same metric across multiple devices.

Configuration:

  • Base object — the container whose child nodes populate the rows

  • Summary table — the DCI summary table to display, selected from the tables configured on the server

  • Refresh interval — how often the table is refreshed

  • Display limit — maximum number of rows (0 = unlimited)

  • Ordering — row sort order

Column definitions and the multiple-instances option belong to the summary table configuration itself, not to the dashboard element — see DCI Summary Tables.

Object Query

Displays results from an NXSL object query as a table. The element evaluates an NXSL expression for each object under the configured root, collecting those that match and computing additional properties for display columns.

Configuration

Property Description

Root object

Container to search under (0 = entire infrastructure, or use Dashboard context)

Query

NXSL expression or script (see syntax variants below)

Properties

Column definitions with name, display name, and data type (String, Integer, Float)

Order by

Comma-separated property names for sorting (prefix - for descending, + for ascending)

Record limit

Maximum number of results (0 = unlimited)

Refresh rate

Auto-refresh interval in seconds

Query Syntax Variants

Three syntax variants are supported for the query expression.

"with" Syntax

The with keyword defines named computed values that become table columns:

with
  criticalCount = {
    return GetDCIValue($object, FindDCIByDescription($object, "Critical Alarms"));
  },
  warningCount = {
    return GetDCIValue($object, FindDCIByDescription($object, "Warning Alarms"));
  }
$object.alarmCount > 0 && !$object.isInMaintenanceMode

Each with variable name corresponds to a column in the Properties list. The final expression is the filter — objects where it evaluates to true are included.

Global Variables Syntax

Use global declarations to expose computed values as table columns:

if ($object.alarmCount == 0 || $object.isInMaintenanceMode)
  return false;
global criticalCount = GetDCIValue($object, FindDCIByDescription($object, "Critical Alarms"));
global warningCount = GetDCIValue($object, FindDCIByDescription($object, "Warning Alarms"));
return true;
Map Return Syntax

Return a hash map of computed column values (returning false excludes the object):

if ($object.alarmCount == 0)
  return false;
return %{
  "criticalCount" => GetDCIValue($object, FindDCIByDescription($object, "Critical Alarms")),
  "warningCount" => GetDCIValue($object, FindDCIByDescription($object, "Warning Alarms"))
};

Sorting

The Order by field accepts a comma-separated list of property names with sort direction prefixes:

  • -criticalCount,+name — sort by criticalCount descending, then by name ascending

  • +status,-alarmCount — sort by status ascending, then by alarm count descending

When using a context dashboard, the $context global variable is set to the dashboard’s context object.

Embedded Content

Dashboard

Embeds one or more other dashboards within the current dashboard. Useful for creating modular dashboard designs where common elements are defined once and reused.

The configuration holds a list of dashboards and a Display time (seconds) setting (default: 60). With a single dashboard in the list, it is displayed permanently; with multiple dashboards, the element cycles through them, switching after each display time interval. This is the mechanism for dashboard rotation on NOC screens and wall monitors.

Network Map

Embeds a network map view within the dashboard. The map is interactive — objects can be clicked to navigate to their details.

Geo Map

Embeds a geographical map showing object locations. Objects with configured geolocation data appear as markers on the map.

See Geographical Maps for details on geographic visualization.

Web Page

Embeds an external web page within the dashboard using an iframe. Useful for integrating external monitoring tools, documentation, or web applications.

Configuration:

  • URL — the web page address to embed

A caption above the embedded page can be added with the generic element title.

Layout Elements

Separator

A visual divider between dashboard elements. Use separators to create clear visual boundaries between groups of elements.

Interactive Elements

Object Tools

Embeds object tool buttons in the dashboard, allowing quick execution of predefined tools for the context object.

Object tools are configured via the server management console.

Port View

Displays a visual representation of physical ports on a network device (switch, router). Ports are colored according to their operational status.

Rack Diagram

Displays a visual representation of a rack with mounted equipment. Equipment items are colored according to their operational status.

Service Components

Displays the child object hierarchy of a container-type object (service root, collector, or container) as a map, showing each component and its current status.

Element Configuration

All dashboard elements share common configuration options.

Title Configuration

Each element can have a title displayed above it. An empty title hides the header entirely.

Chart Configuration

Chart-type elements share these options (availability varies by chart type):

Property Description

Show legend

Display the chart legend

Legend position

Left, Right, Top, or Bottom

Extended legend

Show additional statistics in the legend

Show percent in legend

Show percentage values in the legend

Use multipliers

Scale displayed values with multiplier suffixes

Logarithmic scale

Logarithmic Y-axis scaling

Stacked

Stack multiple data series

Area chart

Fill the area under lines

Line width

Line thickness on line charts

Show 95th percentile

Display the 95th percentile line

Show grid

Display grid lines

Transposed

Swap chart axes

Inverted axis

Invert the value axis

Doughnut rendering

Render pie charts as doughnuts

Show total

Display the total of all values on pie charts

Interactive

Enable interactive selection zoom on line charts

Y-axis range

Automatic, or manual From/To values. Multiplier suffixes K, M, G, T (decimal) and Ki, Mi, Gi, Ti (binary) are supported, with live input validation

Y-axis label

Label displayed along the Y-axis

Set Y base to min value

Start the Y-axis at the minimum data value instead of zero

Refresh rate

How often the chart updates (in seconds)

Time interval / Time units

Time period displayed on line charts: interval from 1 to 10000, units Minutes, Hours, or Days

Translucent

Semi-transparent rendering

Drill-Down Navigation

Elements can be configured with drill-down targets. Clicking on the element navigates to the specified object (dashboard, map, or node).

Drill-down objects are selected from the object tree and can be:

  • Another dashboard (for hierarchical navigation)

  • A network map

  • Any other object (opens the object view)

Data Sources

Elements that display DCI data require data source configuration:

Property Description

Node

The object providing the data

DCI

The specific DCI to display

Label

Display label for the data series

Color

Line or bar color for chart elements

Multiple data sources can be added to a single element for comparison views.