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 — static text and labels
-
Charts — line, bar, and pie charts for DCI data
-
Scripted Charts — charts with NXSL-driven data
-
Table DCI Charts — charts based on table DCIs
-
Gauge Charts — dial, bar, and circular gauges
-
Status Elements — status visualization and indicators
-
Monitors — alarm, syslog, SNMP trap, event, file, and AI observation monitors
-
Data Display — tables, availability charts, and object queries
-
Embedded Content — embedded dashboards, maps, and web pages
-
Layout Elements — separators and spacing
-
Interactive Elements — object tools, port views, and rack diagrams
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.
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.
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 |
|---|---|
|
Display name in legend and tooltip (falls back to hash map key if omitted) |
|
Color as hex string (e.g., |
|
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.
Table DCI Charts
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 |
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.
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.
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.