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:

  1. Right-click on Dashboards in the object tree (or on a dashboard group)

  2. Select Create > Dashboard…​

  3. Enter a name

  4. 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:

  1. Select Create > Dashboard template…​ in the object tree

  2. Configure elements the same way as for a regular dashboard

  3. Configure the auto-bind filter script

  4. 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 attribute name

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:

  1. Add a Dashboard element to a new dashboard

  2. Add the dashboards to cycle through to the element’s dashboard list

  3. 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.