What Nexalis Agent does
- Nexalis Agent extracts raw data from on-premise or remote industrial assets and loads it to Nexalis Cloud in real time. Industrial connectors (e.g., OPC UA, Modbus, etc.) extract data from assets, and gRPC_kafka loads this raw data securely into Nexalis Cloud. This is what we describe as mirroring data.
- We define raw data as:
- the actual values of data points as read from the source. No value transformations are applied (for example, no multipliers or adders), ensuring the collected data remains exactly as generated by the source.
- the original naming conventions and tag names from the source system (no need to configure new industrial tags in the Nexalis Agent).
- the communication parameters required to access those data points.
- the vendor-provided context information (when available).
- In addition to forwarding raw data streams, gRPC_kafka computes averaged data (e.g., 5-minute averages) before loading.
- The Agent also provides local buffering: if the connection to the cloud is interrupted, data is stored on disk. Once connectivity is restored, the Agent automatically backfills buffered data, ensuring no information is lost.
Example of a Nexalis Agent setup
1 DNP3 connector and 2 Modbus connectors (TCP and RTU) and a cloud data source.
Connection status messages - Heartbeat
The Nexalis Agent industrial connectors publish connection status messages every 10 seconds; gRPC_kafka forwards it to the cloud. Interpretation:| Local (to data source) | Link with Nexalis Cloud | Result in Nexalis Cloud |
|---|---|---|
| TRUE | TRUE | Status messages received; value = 1 (healthy). |
| TRUE | FALSE | No status messages received; value = 1; data is buffered by Agent. |
| FALSE | TRUE | Status messages received; value = 0; data needs to be backfilled if possible. |
| FALSE | FALSE | No status messages received; value = 0; data needs to be backfilled if possible. |
Triggers
The Nexalis Agent connectors are configured to decide when to send data to Nexalis Cloud using triggers.Each data point can be configured with a trigger type.
Trigger Types
-
Cyclic
Sends data at fixed intervals.
Example:"triggerType": "cyclic-1"→ every 1 second. -
Changed
Sends data whenever a value changes (regardless of amount or time).
Example:"triggerType": "changed"
Notes
- First value is always sent (even if no change).
- Prevents sending duplicate/unnecessary data.
- Triggers can be set per data point.
Changelog
- September 15, 2025 – First publication of the online documentation.
Compatible with Nexalis Agent v1.1.5.