DCI Reference

This page is a reference for DCI properties, data origins, data types, and configuration options in NetXMS.

For an overview of data collection concepts, see Data Collection Concepts. For tasks like creating and configuring DCIs, see Managing DCIs.

Core DCI Properties

Every DCI has these core properties:

Property Description

Display name

Human-readable name displayed in the management client

Origin

Data source type (see DCI Data Origins)

Metric

The specific metric name, OID, or script to collect

Data Type

Expected value type (see Data Types)

Polling Interval

How often to collect the value (in seconds, default 60)

Retention Time

How long to keep collected data: server default (30 days), custom period in days, or no database storage

Status

Active, Disabled, or Not supported

DCI States

A DCI can be in one of these states:

State Description

Active

Collecting data at the configured polling interval

Disabled

Not collecting data; retains configuration and historical data

Not supported

The metric is not available on the target node (e.g., agent doesn’t support the metric)

A DCI transitions to Not supported when the server cannot collect its value. This typically happens when:

  • The agent metric doesn’t exist on the target platform

  • The SNMP OID is not implemented by the device

  • Required permissions are missing

While in the Not supported state, the DCI is re-polled at 10 times the configured polling interval. When the metric becomes available again (e.g., after an agent upgrade), the DCI automatically returns to Active state.

DCI Data Origins

NetXMS supports multiple data origins, each suited for different monitoring scenarios:

Origin Description

NetXMS Agent

Native agent (nxagentd) metrics — CPU, memory, disk, network, processes, and more

SNMP

SNMP v1/v2c/v3 polling by OID

Internal

Server-computed metrics (status, response times, server statistics)

Push

Values sent by external scripts via nxpush or API

Script

NXSL script executed on the server

Web Service

HTTP/HTTPS endpoints with jq, XPath, or regex extraction

Network Device Driver

Vendor-specific network device drivers

Windows Performance Counters

Windows performance counter objects and instances

SM-CLP

Server Management Command Line Protocol for hardware management

SSH

Values collected by running commands over SSH

MQTT

Values received from MQTT broker topic subscriptions

Modbus

Modbus TCP registers from industrial equipment

EtherNet/IP

EtherNet/IP (CIP) attributes from industrial automation devices

Cloud Connector

Metrics for cloud resource objects, collected through a cloud connector

OTLP

Values received via the OpenTelemetry protocol (OTLP)

Traffic Observer

Network traffic metrics for traffic observer and observation point objects

NETCONF

Values retrieved from network devices via the NETCONF protocol

NetXMS Agent

The native agent (nxagentd) runs on monitored hosts and provides access to hundreds of built-in metrics covering CPU, memory, disk, network, processes, and more. Agent metrics are identified by metric names (e.g., System.CPU.Usage, FileSystem.FreePerc(*)).

See Agent Data Collection for details.

SNMP

SNMP polling retrieves values from network devices and systems supporting SNMP v1, v2c, or v3. Metrics are identified by Object Identifiers (OIDs).

See SNMP Data Collection for details.

Internal

Internal metrics are computed by the NetXMS server itself. They provide information about node status, response times, server statistics, and object properties.

Common internal metrics:

Metric Description

Status

Current object status (0=Normal through 4=Critical)

ICMP.ResponseTime.Average

Average ICMP ping response time

ICMP.PacketLoss

ICMP packet loss percentage

ICMP.ResponseTime.Last

Last ICMP ping response time

AgentStatus

Agent connectivity status

ChildStatus(*)

Status of child objects

PollTime.Configuration.Average

Average duration of configuration polls (.Last, .Max, and .Min suffixes are also available)

PollTime.Status.Average

Average duration of status polls (.Last, .Max, and .Min suffixes are also available)

Push

Push DCIs accept values sent by external scripts or applications via the nxpush command-line utility or the NetXMS API. This is useful for metrics that cannot be polled (batch job results, external test outcomes, business metrics).

Push data flow:

  1. External script or application sends data using nxpush or the API

  2. The server receives the value and stores it in the corresponding DCI

  3. Thresholds are evaluated on the received value

Example using nxpush:

nxpush -H server_address node_name:dci_name=42

Script

Script DCIs execute an NXSL script on the server to compute the collected value. The metric name field specifies which script and function to call using one of four calling conventions:

Format Description

script_name

Calls main() function in the named script library script

script_name(arg1, arg2)

Calls main() function passing the specified arguments

script_name.function_name

Calls the specified function in the named script

script_name.function_name(arg1, arg2)

Calls the specified function with arguments

A / can be used instead of . as the separator between script name and function name.

The script has access to predefined variables:

  • $node — reference to the current node object (null if the object is not a node)

  • $object — reference to the current object

  • $dci — reference to the current DCI object

  • $isCluster — true if the current object is a cluster

  • $targetObject — reference to the object owning the DCI (differs from $node when a source node override is configured)

Example NXSL script DCI:

cpuCount = $node.getCustomAttribute("cpuCount");
if (cpuCount == null || cpuCount == 0)
  return 0;
return GetDCIValueByName($node, "System.CPU.Usage") / cpuCount;

See NXSL Reference for scripting documentation.

Web Service

Web service DCIs retrieve data from HTTP/HTTPS endpoints and extract values using jq expressions, XPath, or regular expressions.

See Web Service Data Collection for details.

Network Device Driver

Network device driver DCIs collect data through device-specific drivers. NetXMS includes drivers for various network equipment vendors that can provide metrics not available through standard SNMP.

Windows Performance Counters

On Windows systems with the NetXMS agent, performance counter metrics can be collected using the Windows performance counter subsystem. Metrics use the standard Windows performance counter path format (e.g., \Processor(_Total)\% Processor Time).

SM-CLP

SM-CLP (Server Management Command Line Protocol) is used for hardware management. It allows collecting metrics from server management controllers that support the SMASH/CLP specification.

SSH

SSH origin collects data by executing commands on remote hosts over SSH. The command output is used as the collected value. SSH credentials and keys are configured on the node properties.

MQTT

MQTT origin subscribes to topics on an MQTT broker and uses received messages as collected values. The broker connection is configured through the MQTT subagent on the agent side.

Modbus

Modbus origin reads registers from industrial equipment using Modbus TCP protocol. Register addresses use the format [unitId:]source:address[|conversion], where source is one of hold, input, coil, or discrete.

See Modbus Monitoring for details.

EtherNet/IP

EtherNet/IP origin reads CIP (Common Industrial Protocol) attributes from industrial automation devices. This is commonly used for PLCs, drives, and other devices supporting the EtherNet/IP protocol.

Cloud Connector

Cloud Connector origin collects metrics for cloud resource objects through a cloud connector.

OTLP

OTLP origin uses values received via the OpenTelemetry protocol (OTLP).

Traffic Observer

Traffic Observer origin collects network traffic metrics on traffic observer and observation point objects.

NETCONF

NETCONF origin retrieves values from network devices using the NETCONF protocol.

Data Types

Each DCI stores values in a specific data type:

Type Description

Integer

32-bit signed integer

Unsigned Integer

32-bit unsigned integer

Integer 64-bit

64-bit signed integer

Unsigned Integer 64-bit

64-bit unsigned integer

Counter 32-bit

32-bit monotonically increasing counter

Counter 64-bit

64-bit monotonically increasing counter

Float

Double-precision floating point

String

Text value (up to 255 characters)

Counter types do not compute rates by themselves. When a delta calculation method is configured (see Delta Calculation Methods), the counter data types additionally handle counter wraps and resets, so a wrapped counter does not produce a spurious negative delta. With delta calculation set to None (keep original value), the raw counter value is stored.

Units

Each DCI can have a unit assigned to control how values are displayed. Units affect the display formatting in the management client but do not change the stored value.

Predefined Units

Unit Name Description

%

Percent

Percentage value

°C

Celsius

Temperature in degrees Celsius

°F

Fahrenheit

Temperature in degrees Fahrenheit

A

Ampere

Electric current

B (IEC)

Bytes (IEC)

Data size with binary multipliers (KiB, MiB, GiB, TiB)

b (IEC)

Bits (IEC)

Data size with binary multipliers (Kib, Mib, Gib, Tib)

B (Metric)

Bytes (Metric)

Data size with SI multipliers (KB, MB, GB, TB)

b (Metric)

Bits (Metric)

Data size with SI multipliers (Kb, Mb, Gb, Tb)

B/s

Bytes per second

Data transfer rate in bytes

b/s

Bits per second

Data transfer rate in bits

dBm

Decibel-milliwatts

Power level in dBm

Epoch time

Unix timestamp

Displayed as human-readable date/time

Hz

Hertz

Frequency

J

Joule

Energy

lm

Lumen

Luminous flux

lx

Lux

Illuminance

N

Newton

Force

Pa

Pascal

Pressure

rpm

Revolutions per minute

Rotational speed

s

Second

Time duration

T

Tesla

Magnetic flux density

Uptime

Uptime

Displayed as human-readable duration (days, hours, minutes)

W

Watt

Power

V

Volt

Electric potential

Ω

Ohm

Electrical resistance

You can also specify a custom unit string if the predefined units do not match your needs.

Use Multipliers

The Use multipliers setting controls whether values are displayed in human-readable form with SI or IEC prefix multipliers.

When enabled, large values are automatically scaled. For example, 1230000 is displayed as 1.23 M.

Multiplier behavior depends on the unit type:

  • IEC units (B (IEC), b (IEC)): use binary multipliers — Ki (1024), Mi (10242), Gi (10243), Ti (10244), Pi (10245)

  • Metric units and other units: use decimal multipliers — k (1000), M (106), G (109), T (1012), P (1015)

Multipliers are not applied to these units: %, °C, °F, dBm, rpm.

The multiplier setting affects display only. Values are stored in the database in their original form.

You can set a fixed multiplier degree on the Other Options page of the DCI properties to override automatic scaling.

Delta Calculation Methods

Before the transformation script runs, NetXMS can apply a delta calculation to convert raw values into rates of change. This is configured on the Transformation page of the DCI properties.

Method Description

None (keep original value)

No delta calculation; use the raw collected value (default)

Simple delta

Current value minus previous value

Average delta per second

(Current value - Previous value) / elapsed seconds

Average delta per minute

(Current value - Previous value) / elapsed minutes

Delta calculation is applied before the custom transformation script. The transformation script receives the delta-processed value as $1.

For monotonically increasing counters (e.g., SNMP interface traffic), use the Counter 32-bit or Counter 64-bit data type together with a delta calculation method, so counter wraps and resets are handled correctly.

Instance Discovery Methods

Method Description

Agent List

Uses an agent list metric to enumerate instances

Agent Table

Uses an agent table metric to enumerate instances

SNMP Walk - Values

Walks an SNMP OID subtree; retrieved values become instances

SNMP Walk - OIDs

Walks an SNMP OID subtree; OID suffixes become instances

Script

Runs an NXSL script that returns an array of instances

Windows Performance Counters

Enumerates Windows performance counter instances

Web Service

Enumerates instances from a web service response

Internal Table

Uses a built-in server table

SM-CLP Targets

Enumerates SM-CLP targets

SM-CLP Properties

Enumerates SM-CLP properties

Push

Creates instances from pushed values

OTLP

Creates instances from received OpenTelemetry data

DCI Property Pages

The DCI properties dialog contains several pages for configuring different aspects of a DCI. In addition to the pages described below, some pages appear only when applicable: Custom Schedule (when an advanced collection schedule is selected), Aggregation (retention settings for hourly and daily aggregated data), SNMP and Windows Performance Counters (origin-specific options), and Table Columns (column definitions for table DCIs).

General Page

The General page configures core DCI properties: display name, origin, metric name, data type, units, display value mapping table, collection schedule, and history retention. See Core DCI Properties and DCI Data Origins for details on these properties.

Source Node Override

By default, a DCI collects data from the node it belongs to. The Source node override field allows overriding this behavior — the DCI will collect data from the specified node instead. This is useful for monitoring one node’s metrics from another node’s context, or for collecting data through a proxy.

Collection Schedule

The collection schedule can be set to:

  • Server default — uses the server-wide default interval (configured via DataCollection.DefaultDCIPollingInterval, default 60 seconds)

  • Custom interval — a fixed number of seconds

  • Advanced schedule — one or more cron-style schedule entries for precise timing control (see Cron Format)

History Retention

History retention can be set to:

  • Server default — uses the server-wide default retention time (configured via DataCollection.DefaultDCIRetentionTime, default 30 days)

  • Custom — a fixed number of days

  • Do not save to the database — the value is processed normally (last value, thresholds) but not stored

Two additional options reduce storage volume: Save only changed values stores a new value only when it differs from the previous one, and Save every N sample stores only every Nth collected value.

Transformation Page

The Transformation page configures delta calculation, the custom transformation script, and the Data type after transformation setting (overrides the DCI data type for values produced by the script). See Delta Calculation Methods and Configuring Transformation Scripts.

Thresholds Page

See Thresholds for details.

Performance View Page

The Performance View page controls how the DCI is displayed on the Performance tab of the node overview.

  • Show in performance view — when enabled, the DCI value is plotted on the Performance tab; the chart type can be Line or Area

  • Group — groups multiple DCIs into a single chart. DCIs with the same group name appear on the same chart

The Performance View page is not available for table DCIs.

Other Options Page

The Other Options page provides additional DCI configuration:

Option Description

Show last value in object tooltips and large labels on maps

Display this DCI’s last value in object tooltips and large labels on network maps

Show last value in object overview

Display this DCI’s last value in the Last Values section on the object’s Overview tab

Use this DCI for node status calculation

Use the DCI value for node status calculation; the value must return 0 (Normal) through 4 (Critical)

Hide in view mode

Do not display this DCI in the Data Collection tab when in view mode

Interpret unsupported state as data collection error

Treat the "Not supported" state as a data collection error for threshold purposes

Agent cache mode

Override the node-level agent cache setting for this DCI (Default, On, Off)

Multiplier degree

Set a fixed multiplier degree for display instead of automatic scaling

Related object

Associate this DCI with a related object (e.g., a network interface)

Interpretation

Specify whether this DCI collects network traffic data (affects visualization)

Tag

Free-form text string for filtering and matching in scripts

AI Hint

Free-form text giving the AI assistant additional context about this DCI

Comments Page

The Comments page allows adding free-text comments to a DCI. Comments serve as documentation for the DCI’s purpose and can provide context for operators.

DCI comments are automatically included in alarms created from threshold violations on this DCI. This lets you document problem-solving approaches that will be visible when operators review the alarm.

Access Control Page

The Access Control page manages per-DCI user access restrictions.

By default, DCI access is inherited from the parent object (node or template). When users or groups are explicitly added to the DCI access list, only they can view this DCI’s data. An empty access list means the DCI inherits access rights from the parent object.

Cluster Options

On DCIs belonging to cluster objects, the Cluster Options property page controls how the value is obtained from cluster members:

  • Associate with cluster resource — collect the value from the node currently owning the selected cluster resource

  • Aggregate values from cluster nodes — collect from every member node and aggregate; functions: Total, Average, Min, Max

  • Use last known value for aggregation in case of data collection error — substitute a member node’s last known value in the aggregation when its current collection fails

  • Run transformation script on aggregated data — apply the transformation script to the aggregated value instead of per-node values