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 ( |
SNMP |
SNMP v1/v2c/v3 polling by OID |
Internal |
Server-computed metrics (status, response times, server statistics) |
Push |
Values sent by external scripts via |
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 |
|---|---|
|
Current object status (0=Normal through 4=Critical) |
|
Average ICMP ping response time |
|
ICMP packet loss percentage |
|
Last ICMP ping response time |
|
Agent connectivity status |
|
Status of child objects |
|
Average duration of configuration polls ( |
|
Average duration of status polls ( |
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:
-
External script or application sends data using
nxpushor the API -
The server receives the value and stores it in the corresponding DCI
-
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 |
|---|---|
|
Calls |
|
Calls |
|
Calls the specified function in the named script |
|
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$nodewhen 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.
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