Dashboards
Dashboards in NetXMS provide customizable views that combine multiple data visualization elements into a single display. They are the primary tool for building monitoring screens, summary views, and operational displays.
Accessing Dashboards
Dashboards appear in the object tree under the Dashboards root object. Double-click a dashboard to open it, or right-click and select Open.
Dashboards can also appear as context dashboards within object views (see Context Dashboards).
Creating Dashboards
To create a new dashboard:
-
Right-click on Dashboards in the object tree (or on a dashboard group)
-
Select Create > Dashboard…
-
Enter a name
-
Click OK
Dashboard template… in the same create menu creates a dashboard template — a separate object class described in Dashboard Templates.
Dashboard Properties
The dashboard layout is configured on the Dashboard Elements property page:
| Property | Description |
|---|---|
Number of columns |
Grid column count for element placement (default: 1) |
Scrollable content |
Enable vertical scrolling for dashboards with many elements |
Dashboard Templates
A dashboard template is a separate object class that automatically creates a dashboard instance for every object matching its auto-bind filter. This is useful for creating per-device or per-site dashboards without manual effort.
To create a dashboard template:
-
Select Create > Dashboard template… in the object tree
-
Configure elements the same way as for a regular dashboard
-
Configure the auto-bind filter script
-
On the Template property page, set the Name template used to name created instances
During the automatic binding poll, the template creates a dashboard instance for each matching object, renames existing instances when the name template result changes, and deletes instances for objects that no longer match.
The name template supports the following macros:
-
%n— object name -
%a— primary IP address -
%i— object ID in hexadecimal -
%I— object ID in decimal -
%g— GUID -
%{name}— value of the custom attributename
Example: a template with name template Server Overview - %n and an auto-bind filter matching all Linux servers will create dashboards like "Server Overview - web01", "Server Overview - db01", etc.
Dashboard Auto-Bind
Regular dashboards also support auto-bind: an NXSL script that automatically binds the dashboard to matching objects, making it available as a context dashboard on them.
Unlike a dashboard template, no new dashboards are created — the same dashboard is bound to every object for which the script returns true.
The script receives the candidate object as $object (or $node for nodes).
Example — bind to all nodes with "linux" in the platform name:
return $node.platformName ~= "linux";
Example — bind to objects in a specific container:
container = FindObject("Production");
return (container != null) ? container.isDirectChild($object) : false;
Context Dashboards
Context dashboards appear when viewing a specific object, providing object-specific data displays. They are shown in tabs alongside the standard object views.
Context dashboards are either:
-
Manually bound to specific objects — add the dashboard on the object’s Dashboards and Maps property page
-
Automatically bound via auto-bind scripts
When multiple context dashboards are bound to an object, they appear as separate tabs. The Display priority property controls tab ordering: lower numbers are placed further left, and 0 means automatic ordering.
Dashboard Rotation
To rotate several dashboards automatically on monitoring screens (NOC displays, wall monitors), create a dashboard with a single embedded Dashboard element:
-
Add a Dashboard element to a new dashboard
-
Add the dashboards to cycle through to the element’s dashboard list
-
Set Display time (seconds) (default: 60)
The element switches to the next dashboard in the list after each display time interval, cycling indefinitely. See Dashboard Elements for element configuration details.
Delegated Access
Similar to network maps, dashboards support delegated access. When a user views a dashboard containing elements that reference objects they don’t have direct access to, the data can still be displayed if the user is granted the Delegated read access right on those objects' access control lists.
This allows creating shared operational dashboards visible to a wide audience without granting everyone full access to all underlying objects.
Dashboard Layout
Grid Layout
Dashboard elements are arranged in a grid defined by the dashboard’s column count. Each element occupies one or more cells in the grid.
Element layout properties:
| Property | Description |
|---|---|
Horizontal span |
Number of columns the element occupies (1-128, default: 1) |
Vertical span |
Number of rows the element occupies (1-128, default: 1) |
Height hint |
Preferred height in pixels (-1 = ignore) |
Grab excessive vertical space |
Stretch the element to fill unused vertical space |
Elements fill the grid left-to-right, top-to-bottom. Use span values to create multi-column or multi-row elements.
Example with a 3-column layout:
+-------------------+-------------------+-------------------+ | Line Chart | Line Chart | Status Map | | (span 1x1) | (span 1x1) | (span 1x2) | +-------------------+-------------------+ | | Alarm Viewer (horizontal span 2) | | +---------------------------------------+-------------------+
Narrow Screen Mode
Narrow screen mode is an alternative single-column layout intended for narrow screens (mobile devices, small windows). It is switched manually per user: select Narrow screen mode in the dashboard’s view menu (Ctrl+Alt+N); there is no automatic viewport detection.
Each element has narrow screen layout properties:
| Property | Description |
|---|---|
Visible in narrow screen mode |
Whether the element is visible in narrow screen mode (default: true) |
Display order in narrow screen mode |
Sort order when elements are stacked in the single-column narrow layout (0-255, lower values appear first; default: 255) |
Height hint for narrow screen mode (-1 to ignore) |
Override height for narrow screen display (-1 = use normal height hint) |
Elements with Visible in narrow screen mode disabled are hidden entirely in narrow screen mode. Remaining elements are sorted by their narrow screen display order and placed in a single column. This allows you to create a different element order and hide less important elements on mobile devices without maintaining a separate dashboard.
Dashboard Context
When a dashboard is used as a context dashboard (displayed while viewing a specific object), it receives a context object — the node, container, or other object being viewed.
Dashboard elements can reference the context object instead of a fixed object by selecting the special Dashboard context option in the object selector. This way, the same dashboard layout adapts to whichever object the user is viewing.
Context behavior is controlled by the following dashboard flags:
| Flag | Description |
|---|---|
Automatically show this dashboard in object context |
Automatically show this dashboard as a tab in the object view for bound objects |
Show context selector in dashboard perspective |
Display an object selector widget at the top, allowing users to switch the context object manually |
For scripted dashboard elements, the context object becomes the script’s context object — for example, it is accessible as $node when the context object is a node.
The $context global variable is set only for the Object Query element.
See Dashboard Elements for details on configuring individual elements.