Didactum Monitoring Devices and Sensors – Integration into NetXMS
This guide describes the complete integration of Didactum monitoring devices into NetXMS. The goal is centralized monitoring of all connected sensors – temperature, humidity, leakage, voltage, door contacts, and others – via SNMP, including automatic object detection, threshold monitoring, alerting, trend graphs, and SNMP trap processing.
1. Fundamentals and architecture
NetXMS is an open-source monitoring platform with extensive capabilities for network topology visualization, automatic device detection, and flexible data collection concepts. SNMP-capable devices such as Didactum monitoring units are managed as nodes and monitored via Data Collection Items (DCIs).
NetXMS architecture overview
| Component | Function | Protocol / Port |
|---|---|---|
| NetXMS Server | Central monitoring server, database connection, alarm processing | TCP 4701 (clients) |
| NetXMS Management Console | Java/Eclipse-based desktop application for configuration | TCP 4701 |
| NetXMS Web Console | Browser-based interface (nxmc-web) | HTTP/HTTPS 8080 |
| SNMP poller | Queries OID values from the Didactum device | UDP 161 |
| SNMP trap receiver | Receives proactive alarms from the Didactum device | UDP 162 |
| NetXMS Agent | Optional agent for advanced monitoring (not required for Didactum) | TCP 4700 |
Processing flow for SNMP devices
- Node Discovery: NetXMS detects the Didactum device automatically via Network Discovery or a manually created node.
- SNMP Walk: NetXMS performs an SNMP walk when the node is created and recognizes device properties.
- DCI configuration: Data Collection Items are created for the desired OIDs.
- Polling: The SNMP poller queries the DCIs at configured intervals and stores values in the database.
- Threshold check: NetXMS compares measurements against configured thresholds and generates alarms when limits are exceeded.
- Alerting: Alarms trigger notifications by email, SMS, or ticket.
2. Prerequisites
- NetXMS Server 4.x or newer (current stable version)
- Linux server (Debian/Ubuntu or RHEL/CentOS) or Windows Server as the NetXMS server
- PostgreSQL 12+, MySQL/MariaDB, or Microsoft SQL Server as the database
- NetXMS Management Console or Web Console with administrator access
- SNMP tools (snmpwalk, snmpget) on the NetXMS server
- Didactum monitoring device reachable on the network, SNMP enabled
- UDP port 161 from the NetXMS server to the Didactum device allowed
- UDP port 162 on the NetXMS server allowed for SNMP traps
- SNMP community string known (default: public)
Example network configuration
| Device | IP address | Role |
|---|---|---|
| NetXMS server | 192.168.1.70 | Monitoring server |
| Didactum Monitoring Unit | 192.168.1.100 | Monitored device (SNMP agent) |
3. SNMP preparation on the Didactum device
3.1 Enable SNMP
- Open the Didactum web interface: 192.168.1.100, log in with an admin account.
- Navigation: Settings → Network → SNMP (or: Settings → Network → SNMP).
- Set the following parameters:
- SNMP enabled: Yes
- SNMP version: v2c (recommended) or v3
- Community string: public (change in production)
- SNMP port: 161
- Allowed Managers: enter the IP of the NetXMS server (192.168.1.70)
- SNMP Trap Receiver: IP of the NetXMS server, port 162
- Save the settings.
Warning: Change the default community string public in production environments. Use the same string in the NetXMS SNMP configuration.
3.2 Test reachability from the NetXMS server
# SNMP Walk – list all Didactum OIDs: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Query temperature sensor 1 directly: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # System description (basic test): snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.1.1.0
Note: Didactum returns temperature and voltage values with a factor of 10 (235 = 23.5 °C). This must be taken into account when configuring thresholds in NetXMS.
4. Prepare NetXMS
4.1 Install NetXMS on Debian/Ubuntu
# Add repository: curl -s packages.netxms.org/netxms.gpg | sudo apt-key add - echo "deb packages.netxms.org/debian/ stable main" \ | sudo tee /etc/apt/sources.list.d/netxms.list # Install packages: sudo apt update sudo apt install netxms-server netxms-webui netxms-dbdrv-pgsql -y # NetXMS server configuration: sudo nano /etc/netxmsd.conf
4.2 Install NetXMS on RHEL/CentOS/Rocky Linux
# Add repository: sudo rpm -ivh packages.netxms.org/rhel/netxms-release-latest.rpm # Install packages: sudo dnf install netxms-server netxms-webui -y # Enable NetXMS service: sudo systemctl enable --now netxmsd
4.3 Basic NetXMS server configuration
sudo nano /etc/netxmsd.conf
# Database connection: DBDriver = pgsql.ddr DBServer = 127.0.0.1 DBName = netxms DBLogin = netxms DBPassword = securePassword # Enable SNMP trap reception: EnableSNMPTraps = yes SNMPTrapPort = 162 # Discovery settings: EnableAutoDiscovery = yes # Logging: LogFile = /var/log/netxms/netxmsd.log LogLevel = info
# Initialize database: sudo -u netxms nxdbmgr init # Start NetXMS server: sudo systemctl start netxmsd sudo systemctl status netxmsd
4.4 Integrate the Didactum MIB file into NetXMS
# Copy MIB file to the NetXMS MIB directory: sudo cp DIDACTUM-RACKMONI2-MIB.mib /usr/share/netxms/mibs/ # Restart NetXMS server so the MIB is loaded: sudo systemctl restart netxmsd
In the Management Console: Tools → MIB Explorer → Upload MIB. After import, OID numbers can be displayed as readable names.
5. Create Didactum device as a node
5.1 Create node manually (Management Console)
- Open NetXMS Management Console and log in with an administrator account.
- In the Object Browser: right-click Infrastructure Services → Create → Node.
- Fill in the following fields:
- Name: didactum-rack01
- Primary hostname / IP: 192.168.1.100
- Alias: Didactum Rack Monitoring – Server Room A
- Under Communications:
- SNMP version: v2c
- SNMP community: public
- SNMP port: 161
- SNMP timeout: 1500 ms
- SNMP retries: 3
- Under Agent:
- Monitoring via: SNMP only (no NetXMS agent on the device)
- Click OK. NetXMS performs an SNMP walk automatically.
5.2 Create node via Web Console
- Open Web Console: 192.168.1.70/nxmc.
- Navigation: Configuration → Nodes → Create node.
- Enter IP address, name, and SNMP parameters (as above).
- Click Save.
5.3 Create node via REST API
# Generate API token (one-time):
curl -s -u admin:netxms \
"http://192.168.1.70:8080/api/v1/sessions" \
-H "Content-Type: application/json" \
-d '{"login":"admin","password":"netxms"}'
# Create node:
curl -s -X POST \
"http://192.168.1.70:8080/api/v1/objects" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <TOKEN>" \
-d '{
"objectType": "node",
"name": "didactum-rack01",
"primaryName": "192.168.1.100",
"alias": "Didactum Rack Monitoring – Server Room A",
"snmpVersion": "v2c",
"snmpCommunity": "public",
"parentId": 2
}'5.4 Create container for Didactum devices
- In the Object Browser: right-click Infrastructure Services → Create → Container.
- Name: Didactum Monitoring Devices
- Move all Didactum nodes into this container (drag & drop).
- Container properties → Automatic binding: create a rule that automatically assigns all nodes with SNMP community public and sysDescr containing didactum.
6. SNMP configuration in NetXMS
6.1 Configure SNMP communities globally
In the Management Console: Configuration → Network Discovery → SNMP Communities.
# Alternatively via nxdbmgr or configuration file: sudo nano /etc/netxmsd.conf # Community list for Network Discovery: DefaultCommunity = public # Additional communities: # Community = monitoring_ro # Community = didactum_snmp
6.2 Configure SNMP v3
- In node properties: Communications → SNMP version: v3.
- Additional fields:
- Security name: SNMP v3 username from the Didactum device
- Authentication method: SHA
- Authentication password: authentication password
- Encryption method: AES
- Encryption password: encryption password
6.3 Trigger SNMP walk manually
In the Management Console: right-click the Didactum node → Poll → SNMP Walk. The result shows all available OIDs of the device.
# On the command line (NetXMS tool): nxsnmpwalk -v 2c -c public 192.168.1.100 1.3.6.1.4.1.3854
6.4 Configure automatic network discovery
- Navigation: Configuration → Network Discovery.
- Add discovery range: 192.168.1.0/24
- Enable discovery protocols: ICMP + SNMP
- SNMP community: public
- Filter: only automatically import devices with sysDescr containing didactum
7. DCI configuration (Data Collection Items)
Data Collection Items (DCIs) are the central concept in NetXMS for data collection. Each OID to be monitored is configured as a separate DCI. DCIs store values in the database and form the basis for graphs, thresholds, and dashboards.
7.1 Create DCI manually (Management Console)
- Right-click the Didactum node → Properties → Data Collection.
- Click Add → DCI for single parameter.
- Enter the following parameters for temperature sensor 1:
- Description: Temperature Sensor 1 – Rack Front
- Origin: SNMP agent
- Data type: Integer (32-bit)
- SNMP OID: .1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1
- Polling interval: 300 seconds (5 minutes)
- Retention time: 90 days
- Under Thresholds: enter thresholds (see section 9).
- Click Apply → OK.
7.2 DCI transformation for temperature (factor ÷ 10)
Since Didactum returns temperature values × 10, a transformation must be configured:
- In the DCI editor: tab Transformation.
- Transformation script: enter NXSL script:
/* NXSL transformation script: divide raw value by 10 */ return $1 / 10.0;
- Unit name: °C
- Multiplier: None
- Save. The displayed value is now correct in °C (e.g. 23.5 °C instead of 235).
7.3 Create DCIs for all sensors using a DCI template
Instead of creating each DCI individually, it is recommended to create a DCI template that is applied to all Didactum nodes:
- Navigation: Configuration → DCI Templates → New template.
- Name: Didactum Rack Monitoring
- Create all subsequent DCIs (temperature, leakage, humidity, voltage, etc.) in the template.
- Assign the template to the node: Node properties → Data Collection → Apply template → Didactum Rack Monitoring.
7.4 All DCIs for Didactum at a glance
| DCI name | OID | Data type | Transformation | Unit |
|---|---|---|---|---|
| Temperature S1 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 | Integer | ÷ 10 | °C |
| Temperature S2 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.3.2 | Integer | ÷ 10 | °C |
| Temperature Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.4.1 | Integer | – | Enum |
| Leakage Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1 | Integer | – | 0/1 |
| Leakage Status S2 | .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.2 | Integer | – | 0/1 |
| Humidity S1 | .1.3.6.1.4.1.3854.1.2.2.1.17.1.3.1 | Integer | – | % RH |
| Humidity Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.17.1.4.1 | Integer | – | Enum |
| Voltage S1 | .1.3.6.1.4.1.3854.1.2.2.1.15.1.3.1 | Integer | ÷ 10 | V |
| Door contact S1 | .1.3.6.1.4.1.3854.1.2.2.1.10.1.3.1 | Integer | – | 0/1 |
| Smoke detector S1 | .1.3.6.1.4.1.3854.1.2.2.1.14.1.3.1 | Integer | – | 0/1 |
| Motion sensor S1 | .1.3.6.1.4.1.3854.1.2.2.1.11.1.3.1 | Integer | – | 0/1 |
| System Uptime | .1.3.6.1.2.1.1.3.0 | Integer | ÷ 100 | Seconds |
7.5 Polling intervals by sensor type
| Sensor type | Recommended interval | Reason |
|---|---|---|
| Temperature | 300 seconds (5 min) | Slow physical changes |
| Humidity | 300 seconds (5 min) | Slow physical changes |
| Leakage | 60 seconds (1 min) | Time critical – immediate alarm |
| Voltage | 300 seconds (5 min) | Voltage fluctuations |
| Door contact | 60 seconds (1 min) | Security critical |
| Smoke detector | 60 seconds (1 min) | Security critical |
| Motion sensor | 60 seconds (1 min) | Security critical |
8. OID reference for NetXMS
All OIDs are based on the Didactum enterprise OID base 1.3.6.1.4.1.3854. The placeholder {n} stands for the sensor index (1 = first sensor, etc.).
8.1 Temperature sensors
| OID | Description | Unit | NetXMS transformation | Note |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.{n} | Temperature value sensor n | °C × 10 | return $1 / 10.0; | Raw value ÷ 10 for °C |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.4.{n} | Temperature status sensor n | Enum 0/1/2 | – | 0=OK, 1=Warn, 2=Alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.7.{n} | Upper limit sensor n | °C × 10 | return $1 / 10.0; | Informational |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.8.{n} | Lower limit sensor n | °C × 10 | return $1 / 10.0; | Informational |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.2.{n} | Sensor name n | Text | – | For DCI labeling |
8.2 Leakage sensors
| OID | Description | Unit | NetXMS threshold | Note |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.4.{n} | Leakage status sensor n | 0=OK, 1=Leakage | ≥ 1 → CRITICAL | Immediate alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.3.{n} | Leakage value sensor n | 0=dry | ≥ 1 → CRITICAL | Alternative to the status OID |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.2.{n} | Sensor name n | Text | – | For labeling |
8.3 Humidity sensors
| OID | Description | Unit | NetXMS threshold | Note |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.3.{n} | Humidity value sensor n | % RH | > 70 → WARN, > 80 → CRIT | No transformation factor |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.4.{n} | Humidity status n | Enum 0/1/2 | ≥ 1 → WARN | 0=OK, 1=Warn, 2=Alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.7.{n} | Upper limit sensor n | % RH | – | Informational |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.8.{n} | Lower limit sensor n | % RH | – | Informational |
8.4 Other sensors
| OID | Description | Unit | NetXMS threshold | Note |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.3.{n} | Voltage value sensor n | V × 10 | < 2070 or > 2530 → WARN | Raw value ÷ 10 for V |
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.4.{n} | Voltage status sensor n | Enum 0/1/2 | ≥ 1 → WARN | 0=OK, 1=Warn, 2=Alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.10.1.3.{n} | Door contact status n | 0=closed, 1=open | ≥ 1 → CRIT | Policy-dependent |
| 1.3.6.1.4.1.3854.1.2.2.1.11.1.3.{n} | Shock / motion n | 0=none, 1=alarm | ≥ 1 → WARN | Security alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.14.1.3.{n} | Smoke detector status n | 0=OK, 1=alarm | ≥ 1 → CRIT | Immediate alarm |
| 1.3.6.1.2.1.1.3.0 | System Uptime (sysUpTime) | Hundredths of seconds | – | Standard MIB |
| 1.3.6.1.2.1.1.1.0 | Device description (sysDescr) | Text | – | For node identification |
9. Configure thresholds and alarms
9.1 Create threshold for temperature DCI
- Open DCI: right-click node → Properties → Data Collection → Temperature S1 → Edit → Thresholds.
- Click Add threshold.
- Configure warning threshold:
- Condition: Greater than
- Value: 30 (after transformation, in °C)
- Event: SYS_THRESHOLD_REACHED with severity WARNING
- Rearm event: SYS_THRESHOLD_REARMED
- Repeat interval: 600 seconds
- Add critical threshold:
- Condition: Greater than
- Value: 35 (in °C)
- Event: SYS_THRESHOLD_REACHED with severity CRITICAL
- Add lower warning threshold:
- Condition: Less than
- Value: 5 (in °C)
- Event: severity WARNING
9.2 Threshold for leakage DCI (immediate alarm)
- Open DCI Leakage Status S1 → Thresholds → Add.
- Settings:
- Condition: Greater than or equal
- Value: 1
- Event: Custom event DIDACTUM_LEAK_DETECTED with severity CRITICAL
- Repeat interval: 300 seconds (repeat every 5 minutes while active)
- Set the DCI polling interval to 60 seconds.
9.3 Create custom events for Didactum
- Navigation: Configuration → Event Configuration → New event.
- Create event for leakage:
- Name: DIDACTUM_LEAK_DETECTED
- Severity: Critical
- Message: LEAKAGE DETECTED on %n (%a) – Sensor %4! Immediate action required!
- Create event for temperature alarm:
- Name: DIDACTUM_TEMP_ALARM
- Severity: Major
- Message: Temperature alarm on %n (%a) – Current value: %4 °C
9.4 Recommended thresholds for all sensor types
| Sensor type | Warning (after transformation) | Critical (after transformation) | Standard |
|---|---|---|---|
| IT rack temperature | > 30.0 °C or < 5 °C | > 35.0 °C | ASHRAE A1: 15–32 °C |
| UPS room temperature | > 25.0 °C | > 30.0 °C | Manufacturer specification |
| High humidity | > 70 % RH | > 80 % RH | ASHRAE: 20–80 % RH |
| Low humidity | < 20 % RH | < 10 % RH | ASHRAE: 20–80 % RH |
| Leakage | – | ≥ 1 (immediate) | Immediate alarm |
| 230 V AC voltage | < 207 V or > 253 V | < 196 V or > 260 V | EN 50160 ±10 % |
| Door contact / smoke / motion | – | ≥ 1 | Policy-dependent |
9.5 Configure alarm notification
- Navigation: Configuration → Actions → New action.
- Email notification action:
- Type: Send e-mail
- To: admin@example.com
- Subject: NetXMS Alarm: %n – %m
- Message: Alarm on %n (%a)\nSeverity: %S\nMessage: %m\nTime: %T
- Link Event Processing Policy:
- Event: DIDACTUM_LEAK_DETECTED
- Action: email notification
- Create alarm: severity Critical, alarm text: LEAKAGE on %n
10. SNMP trap integration
NetXMS natively receives SNMP traps through the integrated trap receiver (UDP port 162). Traps are processed as events and can trigger alarms and notifications – without active polling.
10.1 Enable SNMP trap receiver
# Check/set in /etc/netxmsd.conf: EnableSNMPTraps = yes SNMPTrapPort = 162 # Open firewall port: sudo ufw allow 162/udp # Restart NetXMS: sudo systemctl restart netxmsd
10.2 Configure trap-to-event mapping
- Navigation: Configuration → SNMP Trap Mapping → Add.
- Create mapping for leakage trap:
- Trap OID: .1.3.6.1.4.1.3854.1.7.2
- Event: DIDACTUM_LEAK_DETECTED
- Trap description: Didactum leakage alarm
- Mapping for temperature alarm:
- Trap OID: .1.3.6.1.4.1.3854.1.7.1
- Event: DIDACTUM_TEMP_ALARM
- Similarly for all other trap OIDs (see table below).
10.3 Trap mapping via configuration file
sudo nano /etc/netxms/trap-map.conf
# Didactum SNMP trap mappings # Format: OID:EventName:Severity:Message .1.3.6.1.4.1.3854.1.7.1:DIDACTUM_TEMP_ALARM:MAJOR:Temperature alarm from %SOURCEIP% .1.3.6.1.4.1.3854.1.7.2:DIDACTUM_LEAK_DETECTED:CRITICAL:Leakage detected on %SOURCEIP% .1.3.6.1.4.1.3854.1.7.3:DIDACTUM_HUMIDITY_ALARM:MAJOR:Humidity alarm from %SOURCEIP% .1.3.6.1.4.1.3854.1.7.4:DIDACTUM_VOLTAGE_ALARM:MAJOR:Voltage alarm from %SOURCEIP% .1.3.6.1.4.1.3854.1.7.10:DIDACTUM_DOOR_OPEN:WARNING:Door contact opened on %SOURCEIP% .1.3.6.1.4.1.3854.1.7.14:DIDACTUM_SMOKE_ALARM:CRITICAL:Smoke detector alarm from %SOURCEIP% .1.3.6.1.4.1.3854.1.7.99:DIDACTUM_REBOOT:WARNING:Device rebooted %SOURCEIP%
10.4 Send trap test
# Send test trap for leakage from another system: snmptrap -v2c -c public 192.168.1.70 '' \ .1.3.6.1.4.1.3854.1.7.2 \ .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1 i 1 # Check trap reception in the NetXMS log: sudo tail -f /var/log/netxms/netxmsd.log | grep -i trap
10.5 Important Didactum trap OIDs
| Trap OID | Event | NetXMS severity | Recommended response |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.7.1 | Temperature alarm | Major | Alarm + email |
| 1.3.6.1.4.1.3854.1.7.2 | Leakage alarm | Critical | Alarm + email + SMS |
| 1.3.6.1.4.1.3854.1.7.3 | Humidity alarm | Major | Alarm + email |
| 1.3.6.1.4.1.3854.1.7.4 | Voltage alarm | Major | Alarm + email |
| 1.3.6.1.4.1.3854.1.7.10 | Door contact opened | Warning | Alarm (policy-dependent) |
| 1.3.6.1.4.1.3854.1.7.14 | Smoke detector alarm | Critical | Alarm + email + SMS |
| 1.3.6.1.4.1.3854.1.7.99 | Device reboot | Warning | Alarm + logging |
11. Dashboards and visualization
11.1 Create dashboard for Didactum sensors
- Navigation: Dashboards → New dashboard.
- Name: Didactum Rack Monitoring
- Add dashboard elements:
- Line chart: Temperature trend for sensors 1 and 2 (last 24 hours)
- Line chart: Humidity sensor 1 (last 24 hours)
- Gauge: Current temperature sensor 1 (with color scale: green/yellow/red)
- Status indicator: Leakage sensor 1 (green = OK, red = alarm)
- Status indicator: Leakage sensor 2
- Status indicator: Door contact (green = closed, red = open)
- Alarm viewer: Current alarms of the container Didactum Monitoring Devices
- Save dashboard and set it as the start page.
11.2 Network topology map with Didactum devices
- Navigation: Network Maps → New map.
- Name: Server Room A – Monitoring Overview
- Add objects: insert the Didactum node as an icon.
- Background: use a server room floor plan as the background image.
- Icon color: automatic based on node status (green/yellow/red).
- Show DCI values directly on the map: right-click icon → Add DCI value → select Temperature S1.
11.3 Historical data and graphs
- Right-click a DCI in the Data Collection editor → Show graph.
- Select time range: last 24 hours, 7 days, 30 days.
- Combine multiple DCIs in one graph: Graph → Add data source → add second DCI.
- Save graph as a template: Graph → Save as template → Didactum Temperature Trend.
11.4 Reporting
- Navigation: Reporting → New report.
- Report type: DCI summary report
- Nodes: container Didactum Monitoring Devices
- DCIs: temperature min/max/avg, humidity min/max/avg
- Time range: monthly
- Report format: PDF or HTML
- Automatic email delivery: monthly on the 1st day of the month
12. Troubleshooting
| Problem | Possible cause / solution |
|---|---|
| Node shows “SNMP unreachable” | Firewall: UDP port 161 allowed? Community string correct in node properties? IP address correct? Test: snmpwalk -v2c -c public 192.168.1.100 from the NetXMS server. |
| DCI values are not collected | SNMP polling enabled? OID entered correctly (with leading dot: .1.3.6.1.4.1.3854...)? Data type correct? Check NetXMS log: tail -f /var/log/netxms/netxmsd.log. |
| Temperature shows 235 instead of 23.5 °C | Transformation script is missing or incorrect. In the DCI → Transformation field: enter return $1 / 10.0;. Check NXSL syntax. |
| Traps are not received | Open UDP port 162 on the NetXMS server in the firewall. EnableSNMPTraps = yes in netxmsd.conf? Correct trap receiver IP on the Didactum device? Restart NetXMS. |
| Threshold does not trigger an alarm | Threshold configured correctly? Event Processing Policy links the event ID to an action? Alarm severity set correctly? Check event log. |
| No email notifications | SMTP server configured in NetXMS? Configuration → Server Configuration → SMTP Server. Is the action linked with the Event Processing Policy? |
| DCI template is not applied to the node | Assign the template explicitly to the node: Node properties → Data Collection → Apply template. Check automatic binding. |
| SNMP walk does not find any Didactum OIDs | Allowed Managers entered on the Didactum device: IP of the NetXMS server? SNMP enabled on the device? Device reachable by ping? |
| Management Console cannot connect | NetXMS server service running? TCP port 4701 allowed? systemctl status netxmsd. Check connection settings in the console. |
Diagnostic commands overview
# Check NetXMS server status: sudo systemctl status netxmsd # Restart NetXMS server: sudo systemctl restart netxmsd # Follow the main NetXMS log in real time: sudo tail -f /var/log/netxms/netxmsd.log # Test SNMP reachability: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Query a single OID: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # NetXMS SNMP tool: nxsnmpwalk -v 2c -c public 192.168.1.100 1.3.6.1.4.1.3854 nxsnmpget -v 2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # Check database connection: sudo -u netxms nxdbmgr check # Update database schema (after update): sudo -u netxms nxdbmgr upgrade # Send test trap: snmptrap -v2c -c public 192.168.1.70 '' \ .1.3.6.1.4.1.3854.1.7.2 \ .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1 i 1 # Check trap reception in the log: sudo grep -i "trap" /var/log/netxms/netxmsd.log | tail -20 # Check firewall ports (ufw): sudo ufw status verbose # Open ports 161 and 162: sudo ufw allow 161/udp sudo ufw allow 162/udp # NetXMS database status: sudo -u netxms nxdbmgr info
Appendix: NetXMS configuration quick reference
| Task | Navigation path in Management Console |
|---|---|
| Create node | Object Browser → right-click → Create → Node |
| Configure DCI | Right-click node → Properties → Data Collection → Add |
| DCI transformation | DCI → Edit → Transformation → NXSL script |
| Create threshold | DCI → Edit → Thresholds → Add threshold |
| DCI template | Configuration → DCI Templates → New template |
| Create event | Configuration → Event Configuration → New event |
| Event Processing Policy | Configuration → Event Processing Policy → Add rule |
| Create action (email/SMS) | Configuration → Actions → New action |
| SNMP trap mapping | Configuration → SNMP Trap Mapping → Add |
| Network Discovery | Configuration → Network Discovery |
| Create dashboard | Dashboards → New dashboard |
| Network map | Network Maps → New map |
| MIB Browser | Tools → MIB Explorer |
| Alarm overview | Alarms → Active alarms |
| Configure SMTP | Configuration → Server Configuration → SMTP Server |
For firmware-specific OIDs and supported sensor types, always consult the current Didactum device documentation.