Didactum Monitoring Devices and Sensors – Integration into Plixer Scrutinizer
This guide describes the integration of Didactum Monitoring Devices into Plixer Scrutinizer (Version 19.x). It explains the realistic possibilities and limitations of this combination, the recommended integration architecture, and the specific configuration steps for SNMP device registration, trap processing, and supplementary sensor monitoring.
Important Note on the Platform: Plixer Scrutinizer is primarily a NetFlow and IPFIX analyzer for network traffic analysis, bandwidth monitoring, and Security Incident Response. SNMP is used in Scrutinizer to identify network devices (routers, switches) and to supplement interface information – not for monitoring environmental sensors such as temperature or leakage. Didactum Monitoring Devices do not send NetFlow/IPFIX traffic, as they do not monitor network interfaces in the classic sense. Complete sensor monitoring therefore requires a supplementary monitoring tool.
1. Basics: Scrutinizer and Didactum – Possibilities and Limitations
1.1 What Scrutinizer can do – and what it cannot
| Function | Scrutinizer | Suitable for Didactum? |
|---|---|---|
| NetFlow / IPFIX Analysis | Yes, core function | No – Didactum does not export NetFlow |
| SNMP Device Information (sysDescr, Interfaces) | Yes – for exporter devices | Yes – Register Didactum as SNMP device |
| Manage SNMP Credentials | Yes | Yes – Store community string |
| SNMP Trap Reception | Yes – Integrated Trap Receiver | Yes – Receive and display Didactum traps |
| Temperature / Leakage Sensor Monitoring | No – No SNMP OID polling for custom OIDs | No – External tool required |
| Threshold Alarms for Environmental Sensors | No – Only for flow anomalies | No – External tool required |
| Trend Graphs for Sensor Readings | No (native) | No – External tool required |
| Security Incident Response | Yes, core function | Conditional – Didactum security events via trap |
1.2 Realistic Benefit of the Scrutinizer Integration
The integration of Didactum devices into Scrutinizer offers the following concrete added value:
- Device Visibility: The Didactum device appears in the Scrutinizer device inventory with the correct name, location, and SNMP information.
- SNMP Trap Reception: Scrutinizer can receive Didactum SNMP traps (leakage, temperature alarm, door contact) and display them in the event log.
- Network Context: In environments where Scrutinizer is the central dashboard, Didactum alarms can be displayed there.
- REST API Integration: External monitoring scripts can feed Didactum sensor values into Scrutinizer as events via the REST API.
1.3 Scrutinizer Components
| Component | Function |
|---|---|
| Flow Collector | Reception of NetFlow, IPFIX, sFlow, JFlow, SNMP data |
| SNMP Poller | Nightly SNMP queries for interface names and device data |
| Trap Receiver | Reception and display of incoming SNMP traps |
| Web Interface | Dashboards, reports, device management |
| REST API | Programmatic control and data ingestion |
| Alarm System | Notifications for flow anomalies and trap events |
2. Prerequisites
- Plixer Scrutinizer 19.x (or current version) on Windows or Linux
- Administrator access to the Scrutinizer web interface
- Didactum Monitoring Device reachable in the network, SNMP enabled
- UDP Port 161 open from the Scrutinizer server to the Didactum device
- UDP Port 162 open on the Scrutinizer server for SNMP traps
- SNMP community string known (default: public)
- For complete sensor monitoring: Nagios, Icinga 2, PRTG, Checkmk or NetXMS as a supplementary tool
Example Network Configuration
| Device | IP Address | Role |
|---|---|---|
| Scrutinizer Server | 192.168.1.97 | NetFlow analysis, SNMP Trap Receiver, Web Interface |
| Didactum Monitoring Unit | 192.168.1.100 | Monitored device (SNMP agent, trap sender) |
3. SNMP Preparation on the Didactum Device
3.1 Enable SNMP
- Access the Didactum web interface: 192.168.1.100, login with admin account.
- Navigation: Settings → Network → SNMP.
- Set the following parameters:
- SNMP enabled: Yes
- SNMP version: v2c
- Community string: public (change in production)
- SNMP port: 161
- Allowed Managers: IP of the Scrutinizer server (192.168.1.97)
- SNMP Trap Receiver: IP of the Scrutinizer server, port 162
- Save settings.
3.2 Test Reachability
# SNMP Walk – all Didactum OIDs (from Scrutinizer server): snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # System description: snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.1.1.0 # Temperature Sensor 1 (raw value × 10): snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1
Note:
Didactum returns temperature and voltage values with a factor of 10 (235 = 23.5 °C). In Scrutinizer itself, these values are only displayed as trap text; conversion is performed in external monitoring scripts.
4. Prepare Scrutinizer
4.1 Access Scrutinizer Web Interface
- Open browser: 192.168.1.97 (or HTTPS, depending on configuration).
- Login with administrator account (default: admin / admin).
- The dashboard overview appears with flow statistics and device list.
4.2 Open Firewall Port for SNMP Traps
# Linux (firewalld): sudo firewall-cmd --permanent --add-port=162/udp sudo firewall-cmd --reload # Linux (iptables): sudo iptables -A INPUT -p udp --dport 162 -j ACCEPT # Linux (ufw): sudo ufw allow 162/udp # Windows (as Administrator): netsh advfirewall firewall add rule name="Scrutinizer SNMP Trap" ^ protocol=UDP dir=in localport=162 action=allow
4.3 Check Scrutinizer Service
# Linux – Check Scrutinizer service: sudo systemctl status scrutinizer sudo systemctl status scrutinizer-collector # Trap Receiver status: sudo netstat -ulnp | grep 162
5. Configure SNMP Credentials in Scrutinizer
5.1 Create SNMP Community
- Scrutinizer Web Interface: Navigation Admin → Definitions → SNMP Credentials.
- Click on New.
- Fill in the following fields:
- Profile Name: Didactum-SNMPv2c
- SNMP Version: v2c
- Community String: public
- Port: 161
- Timeout: 2000 ms
- Retries: 3
- Click on Save.
5.2 Configure SNMP v3 (optional)
- New SNMP Credential: Didactum-SNMPv3
- SNMP Version: v3
- Additional fields:
- Security Name: SNMP v3 username from Didactum device
- Auth Protocol: SHA
- Auth Password: Authentication password
- Privacy Protocol: AES128
- Privacy Password: Encryption password
- Save.
6. Register Didactum Device in Scrutinizer
Since Didactum devices do not export NetFlow, they do not appear automatically in Scrutinizer. The device can be added manually as an Exporter/Device.
6.1 Manually Add Device
- Navigation: Admin → Definitions → Manage Exporters (or Admin → Manage Devices).
- Click on Add Exporter or Add Device.
- Fill in the following fields:
- IP Address: 192.168.1.100
- Device Name: didactum-rack01
- Description: Didactum Rack Monitoring Unit – Server Room A
- Device Type: Other or Environmental Monitor
- SNMP Credentials: Select Didactum-SNMPv2c
- Location: Server Room A, Rack 03
- Save.
6.2 Retrieve SNMP Information of the Device
- In the device list: Click on IP 192.168.1.100.
- Open the SNMP tab.
- Click on Update SNMP (or in the dropdown arrow next to the IP: Update SNMP).
- Scrutinizer queries the device data via SNMP:
- sysDescr: Device description
- sysName: Device name
- sysLocation: Location
- sysUpTime: Uptime
- The device now appears with a readable name in the Scrutinizer dashboard.
6.3 Create Device Group for Didactum Devices
- Navigation: Admin → Definitions → Device Groups (or Admin → Exporter Groups).
- New group: Didactum-Rack-Monitoring
- Members: Add IP 192.168.1.100.
- This group can be used as a filter in reports and dashboards.
7. OID Reference for Didactum
Although Scrutinizer does not offer custom OID monitoring for environmental sensors, the OIDs are relevant for supplementary scripts, trap analysis, and documentation.
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.
7.1 Temperature Sensors
| OID | Description | Raw Value | Note |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.{n} | Temperature value Sensor n | °C × 10 | 235 = 23.5 °C; Script: Value ÷ 10 |
| 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=Warning, 2=Alarm |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.2.{n} | Sensor name n | Text | For trap messages |
7.2 Leakage and Binary Sensors
| OID | Description | Raw Value | Scrutinizer Relevance |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.4.{n} | Leakage status Sensor n | 0=OK, 1=Leakage | Visible via trap event |
| 1.3.6.1.4.1.3854.1.2.2.1.10.1.3.{n} | Door contact status n | 0=closed, 1=open | Visible via trap event |
| 1.3.6.1.4.1.3854.1.2.2.1.14.1.3.{n} | Smoke detector status n | 0=OK, 1=Alarm | Visible via trap event |
| 1.3.6.1.4.1.3854.1.2.2.1.11.1.3.{n} | Vibration / Motion n | 0=none, 1=Alarm | Visible via trap event |
7.3 Further Sensors
| OID | Description | Raw Value | Note |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.3.{n} | Humidity value Sensor n | % rF | Direct value |
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.3.{n} | Voltage value Sensor n | V × 10 | 2298 = 229.8 V |
| 1.3.6.1.2.1.1.1.0 | Device description (sysDescr) | Text | Read by Scrutinizer via SNMP |
| 1.3.6.1.2.1.1.3.0 | System Uptime | Hundredths of a second | Read by Scrutinizer via SNMP |
| 1.3.6.1.2.1.1.5.0 | sysName (device name) | Text | Used by Scrutinizer as display name |
8. SNMP Trap Integration in Scrutinizer
Scrutinizer includes an integrated SNMP Trap Receiver. Incoming Didactum traps are displayed in the Scrutinizer event log and can trigger alarms.
8.1 Check SNMP Trap Receiver Status
- Navigation: Admin → System Settings → SNMP Trap Receiver.
- Check status: Enabled, Port: 162.
- Accepted Community Strings: Add public.
- Save.
8.2 Configure Didactum SNMP Trap Receiver on the Device
- Didactum Web Interface: Settings → Network → SNMP → Trap Receiver.
- Trap Receiver IP: 192.168.1.97 (Scrutinizer server), Port: 162.
- Community string: public.
- Save.
8.3 Configure Trap Filter for Didactum
- Navigation: Admin → Alarms → SNMP Trap Alarms → Add.
- Alarm rule for leakage trap:
- Trap OID: 1.3.6.1.4.1.3854.1.7.2
- Alarm Name: Didactum Leakage Alarm
- Severity: Critical
- Notification: Email to administrators
- Source: 192.168.1.100 (only Didactum device)
- Create additional trap rules for temperature, smoke detector, door contact (see table below).
8.4 Important Didactum Trap OIDs for Scrutinizer
| Trap OID | Event | Scrutinizer Severity | Recommended Reaction |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.7.1 | Temperature Alarm | High | 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 | Medium | Alarm + Email |
| 1.3.6.1.4.1.3854.1.7.4 | Voltage Alarm | High | Alarm + Email |
| 1.3.6.1.4.1.3854.1.7.10 | Door contact opened | Medium | 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 restart | Low | Logging |
8.5 Perform Trap Test
# Send test trap for leakage to Scrutinizer: snmptrap -v2c -c public 192.168.1.97 '' \ .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 log in Scrutinizer: # Admin → Alarms → SNMP Trap Log
9. Supplementary Sensor Monitoring via Script
Since Scrutinizer does not offer native environmental sensor checks, external scripts can query Didactum sensor values and feed them into Scrutinizer as events via the REST API or send notifications independently.
9.1 Use Scrutinizer REST API for Custom Events
# Generate API token in Scrutinizer:
# Admin → Security → Authentication Tokens → New Token
# Send custom event via API:
curl -s -X POST \
"http://192.168.1.97/api/v1/events" \
-H "Authorization: Bearer YOUR-API-TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_ip": "192.168.1.100",
"device_name": "didactum-rack01",
"event_type": "environmental",
"severity": "critical",
"message": "Didactum LEAKAGE detected – Sensor 1",
"timestamp": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"
}'9.2 Sensor Monitoring Script with Scrutinizer Integration
sudo nano /opt/scrutinizer-didactum/didactum_monitor.sh
#!/bin/bash
# ============================================================
# Didactum Sensor Monitor with Scrutinizer REST API Integration
# Checks temperature, leakage, humidity via SNMP
# Sends events to Scrutinizer and email alerts
# ============================================================
DIDACTUM_IP="192.168.1.100"
COMMUNITY="public"
SCRUTINIZER_URL="http://192.168.1.97"
API_TOKEN="YOUR-API-TOKEN"
ALERT_EMAIL="admin@example.com"
TIMESTAMP=$(date -u +%Y-%m-%dT%H:%M:%SZ)
LOG="/var/log/scrutinizer/didactum.log"
snmp_get() {
snmpget -v2c -c "${COMMUNITY}" -Oqv "${DIDACTUM_IP}" "$1" 2>/dev/null
}
send_event() {
local severity="$1" message="$2"
curl -s -X POST "${SCRUTINIZER_URL}/api/v1/events" \
-H "Authorization: Bearer ${API_TOKEN}" \
-H "Content-Type: application/json" \
-d "{\"source_ip\":\"${DIDACTUM_IP}\",\"severity\":\"${severity}\",\"message\":\"${message}\",\"timestamp\":\"${TIMESTAMP}\"}" \
>> "${LOG}" 2>&1
echo -e "Subject: [Scrutinizer/${severity^^}] Didactum: ${message}\n\n${message}\nDevice: ${DIDACTUM_IP}\nTime: ${TIMESTAMP}" \
| sendmail "${ALERT_EMAIL}" 2>/dev/null
}
# Temperature Sensor 1
TEMP_RAW=$(snmp_get ".1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1")
if [ -n "${TEMP_RAW}" ] && [[ "${TEMP_RAW}" =~ ^[0-9]+$ ]]; then
TEMP=$(echo "scale=1; ${TEMP_RAW} / 10" | bc)
echo "${TIMESTAMP} Temperature S1: ${TEMP} °C" >> "${LOG}"
[ "${TEMP_RAW}" -ge 350 ] && send_event "critical" "Temperature S1 CRITICAL: ${TEMP} °C"
[ "${TEMP_RAW}" -ge 300 ] && [ "${TEMP_RAW}" -lt 350 ] && \
send_event "high" "Temperature S1 Warning: ${TEMP} °C"
fi
# Leakage Sensor 1
LEAK=$(snmp_get ".1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1")
[ "${LEAK}" = "1" ] && send_event "critical" "LEAKAGE DETECTED – Sensor 1!"
# Leakage Sensor 2
LEAK2=$(snmp_get ".1.3.6.1.4.1.3854.1.2.2.1.18.1.4.2")
[ "${LEAK2}" = "1" ] && send_event "critical" "LEAKAGE DETECTED – Sensor 2!"
# Humidity Sensor 1
HUM=$(snmp_get ".1.3.6.1.4.1.3854.1.2.2.1.17.1.3.1")
if [ -n "${HUM}" ]; then
[ "${HUM}" -gt 80 ] && send_event "high" "Humidity too high: ${HUM} % rF"
[ "${HUM}" -lt 20 ] && send_event "medium" "Humidity too low: ${HUM} % rF"
fi
# Smoke Detector Sensor 1
SMOKE=$(snmp_get ".1.3.6.1.4.1.3854.1.2.2.1.14.1.3.1")
[ "${SMOKE}" = "1" ] && send_event "critical" "SMOKE DETECTOR triggered – Sensor 1!"
exit 0sudo chmod +x /opt/scrutinizer-didactum/didactum_monitor.sh
sudo mkdir -p /opt/scrutinizer-didactum /var/log/scrutinizer
# Cron job: every 5 minutes:
echo "*/5 * * * * root /opt/scrutinizer-didactum/didactum_monitor.sh" \
| sudo tee /etc/cron.d/didactum-scrutinizer
# Leakage quick check: every minute:
echo "* * * * * root /opt/scrutinizer-didactum/didactum_leakcheck.sh" \
| sudo tee /etc/cron.d/didactum-leakcheck9.3 Recommended Thresholds for the Script
| Sensor | Warning (script check) | Critical | Norm |
|---|---|---|---|
| Temperature IT Rack (raw value × 10) | ≥ 300 (30 °C) | ≥ 350 (35 °C) | ASHRAE A1: 15–32 °C |
| Humidity high (% rF) | > 70 | > 80 | ASHRAE: 20–80 % rF |
| Humidity low (% rF) | < 20 | < 10 | ASHRAE: 20–80 % rF |
| Leakage (0/1) | – | = 1 | Immediate alarm |
| Voltage (raw value × 10) | < 2070 or > 2530 | < 1960 or > 2600 | EN 50160 ±10 % |
| Door contact / Smoke | – | = 1 | Policy dependent |
10. Dashboards and Reports in Scrutinizer
10.1 Available Scrutinizer Views for Didactum
- Admin → Manage Exporters / Devices: Didactum device with name, location and SNMP status
- Admin → Alarms → SNMP Trap Log: Incoming Didactum traps chronologically
- Admin → Alarms → Active Alarms: Active trap alarms of the Didactum device
- Status → Network Traffic: Network traffic in the environment of the Didactum device (if routers in the same network export NetFlow)
10.2 Dashboard Widget for Trap Events
- Navigation: Dashboard → Add Widget.
- Widget type: SNMP Trap Events.
- Filter: Source IP = 192.168.1.100.
- Time range: Last 24 hours.
- The widget displays all incoming Didactum traps chronologically.
10.3 Automatic Alarm Report
- Navigation: Reports → Scheduled Reports → Add.
- Report type: SNMP Trap Report
- Filter: Device Group = Didactum-Rack-Monitoring
- Time period: Daily / Weekly
- Delivery: Email to administrators
10.4 Configure Email Notification in Scrutinizer
- Navigation: Admin → System Settings → Email Settings.
- Enter SMTP server, port, sender address.
- Send test email.
- Alarm recipients: Admin → Alarms → Notification Groups → Add:
- Group: Didactum Admins
- Email: admin@example.com
- Link trap alarm rules (section 8.3) with this notification group.
11. Recommended Hybrid Architecture
Since Scrutinizer is not sufficient for complete Didactum sensor monitoring, the following hybrid architecture is recommended:
11.1 Task Division
| Task | Scrutinizer | Nagios / PRTG / Checkmk / NetXMS |
|---|---|---|
| NetFlow / Bandwidth Analysis | Yes (core function) | No |
| SNMP Trap Reception and Display | Yes | Yes |
| Temperature/Leakage Checks (OID Polling) | No | Yes (native) |
| Threshold Alerting for Sensors | Only via trap | Yes (native) |
| Trend Graphs for Sensor Values | No | Yes |
| Network Security Analysis | Yes | Limited |
11.2 Send SNMP Traps to Both Systems
The Didactum device can send traps to multiple receivers. In the Didactum web interface under Settings → Network → SNMP → Trap Receiver enter both IPs:
- Trap Receiver 1: 192.168.1.97 – Scrutinizer (for overall overview and security context)
- Trap Receiver 2: 192.168.1.50 – Nagios/PRTG server (for threshold alerting)
11.3 References to Complete Monitoring Guides
Separate guides are available for complete sensor monitoring of Didactum devices:
- Didactum Integration in PRTG Network Monitor – SNMP Custom Value Sensors, MIB Import
- Didactum Integration in Nagios – check_snmp definitions, trap reception
- Didactum Integration in Icinga 2 – DSL configuration, apply rules
- Didactum Integration in Checkmk – Automatic service discovery, Python plugin
- Didactum Integration in NetXMS – DCI templates, dashboard visualization
12. Troubleshooting
| Problem | Possible Cause / Solution |
|---|---|
| Device does not appear in Scrutinizer | Device does not export NetFlow. Add manually: Admin → Manage Exporters → Add. Trigger SNMP update manually. |
| SNMP update fails | Community string correct? UDP 161 open? Allowed Managers on Didactum device: Scrutinizer IP entered? Test: snmpwalk -v2c -c public 192.168.1.100 sysDescr.0 |
| Traps do not arrive | UDP port 162 open on Scrutinizer server? Trap receiver enabled? Correct Scrutinizer IP in Didactum device? Community string matches? Send test trap and check trap log. |
| Trap alarm rule does not trigger email | Email settings correct? Notification group linked to trap alarm rule? Send test email in Admin → System Settings → Email. |
| REST API call fails | API token valid? (Admin → Security → Authentication Tokens). URL correct: 192.168.1.97/api/v1/events? Scrutinizer API enabled? |
| Script does not generate events | Script executable (chmod +x)? sendmail installed? curl present? Test script manually: bash /opt/scrutinizer-didactum/didactum_monitor.sh. Check log: cat /var/log/scrutinizer/didactum.log |
Diagnostic Commands Overview
# Test SNMP reachability: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Query 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 # Send test trap for leakage: snmptrap -v2c -c public 192.168.1.97 '' \ .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 Scrutinizer service: sudo systemctl status scrutinizer # Check trap log (Linux): sudo tail -f /var/log/scrutinizer/trap.log # Check Scrutinizer log: sudo tail -f /var/log/scrutinizer/scrutinizer.log # Check firewall ports: sudo firewall-cmd --list-ports | grep 162 sudo ufw status | grep 162 # REST API test: curl -s -H "Authorization: Bearer YOUR-API-TOKEN" \ "http://192.168.1.97/api/v1/devices" | python3 -m json.tool # Run monitoring script manually: bash /opt/scrutinizer-didactum/didactum_monitor.sh # Check script log: tail -f /var/log/scrutinizer/didactum.log
Appendix: Scrutinizer Configuration Quick Reference
| Task | Navigation Path in Scrutinizer |
|---|---|
| Create SNMP Credentials | Admin → Definitions → SNMP Credentials → New |
| Add device manually | Admin → Definitions → Manage Exporters → Add Exporter |
| Perform SNMP update on device | Manage Exporters → Click IP → SNMP Tab → Update SNMP |
| Create device group | Admin → Definitions → Device Groups → New |
| Create trap alarm rule | Admin → Alarms → SNMP Trap Alarms → Add |
| Display trap log | Admin → Alarms → SNMP Trap Log |
| Create notification group | Admin → Alarms → Notification Groups → Add |
| Email settings | Admin → System Settings → Email Settings |
| Generate API token | Admin → Security → Authentication Tokens → New Token |
| Add dashboard widget | Dashboard → Add Widget |
| Schedule report | Reports → Scheduled Reports → Add |
| Trap receiver settings | Admin → System Settings → SNMP Trap Receiver |
For firmware-specific OIDs and supported sensor types, always consult the current Didactum device documentation. Scrutinizer documentation: docs.plixer.com.