Didactum Monitoring-Geräte und Sensoren – Integration in NetXMS
Diese Anleitung beschreibt die vollständige Integration von Didactum Monitoring-Geräten in NetXMS. Ziel ist die zentrale Überwachung aller angeschlossenen Sensoren – Temperatur, Luftfeuchtigkeit, Leckage, Spannung, Türkontakte und weitere – über SNMP, inklusive automatischer Objekterkennung, Schwellwertüberwachung, Alarmierung, Trendgrafiken und SNMP-Trap-Verarbeitung.
1. Grundlagen und Architektur
NetXMS ist eine Open-Source-Monitoring-Plattform mit umfangreichen Möglichkeiten zur Netzwerktopologie-Visualisierung, automatischen Geräteerkennnung und flexiblen Datensammlungs-Konzepten. SNMP-fähige Geräte wie die Didactum Monitoring-Einheiten werden als Nodes verwaltet und über Data Collection Items (DCIs) überwacht.
NetXMS-Architektur im Überblick
| Komponente | Funktion | Protokoll / Port |
|---|---|---|
| NetXMS Server | Zentraler Monitoring-Server, Datenbankanbindung, Alarmverarbeitung | TCP 4701 (Clients) |
| NetXMS Management Console | Java/Eclipse-basierte Desktop-Anwendung zur Konfiguration | TCP 4701 |
| NetXMS Web Console | Browser-basierte Oberfläche (nxmc-web) | HTTP/HTTPS 8080 |
| SNMP-Poller | Fragt OID-Werte vom Didactum-Gerät ab | UDP 161 |
| SNMP Trap Receiver | Empfängt proaktive Alarme vom Didactum-Gerät | UDP 162 |
| NetXMS Agent | Optionaler Agent für erweiterte Überwachung (nicht für Didactum benötigt) | TCP 4700 |
Verarbeitungsablauf für SNMP-Geräte
- Node Discovery: NetXMS erkennt das Didactum-Gerät automatisch via Network Discovery oder manuell angelegtem Node.
- SNMP-Walk: NetXMS führt beim Node-Anlegen einen SNMP-Walk durch und erkennt Geräteeigenschaften.
- DCI-Konfiguration: Data Collection Items werden für die gewünschten OIDs angelegt.
- Polling: Der SNMP-Poller fragt in konfigurierten Intervallen die DCIs ab und speichert Werte in der Datenbank.
- Threshold-Prüfung: NetXMS vergleicht Messwerte gegen konfigurierte Schwellwerte und erzeugt bei Überschreitung Alarme.
- Alarmierung: Alarme lösen Benachrichtigungen per E-Mail, SMS oder Ticket aus.
2. Voraussetzungen
- NetXMS Server 4.x oder neuer (aktuelle stabile Version)
- Linux-Server (Debian/Ubuntu oder RHEL/CentOS) oder Windows Server als NetXMS-Server
- PostgreSQL 12+, MySQL/MariaDB oder Microsoft SQL Server als Datenbank
- NetXMS Management Console oder Web Console mit Administrator-Zugriff
- SNMP-Tools (snmpwalk, snmpget) auf dem NetXMS-Server
- Didactum Monitoring-Gerät im Netzwerk erreichbar, SNMP aktiviert
- UDP Port 161 vom NetXMS-Server zum Didactum-Gerät freigegeben
- UDP Port 162 auf dem NetXMS-Server für SNMP-Traps freigegeben
- SNMP-Community-String bekannt (Standard: public)
Beispiel-Netzwerkkonfiguration
| Gerät | IP-Adresse | Rolle |
|---|---|---|
| NetXMS-Server | 192.168.1.70 | Monitoring-Server |
| Didactum Monitoring Unit | 192.168.1.100 | Überwachtes Gerät (SNMP-Agent) |
3. SNMP-Vorbereitung am Didactum-Gerät
3.1 SNMP aktivieren
- Didactum Web-Interface aufrufen: 192.168.1.100, Login mit Admin-Konto.
- Navigation: Einstellungen → Netzwerk → SNMP (oder: Settings → Network → SNMP).
- Folgende Parameter setzen:
- SNMP aktiviert: Ja
- SNMP-Version: v2c (empfohlen) oder v3
- Community-String: public (in Produktion ändern)
- SNMP-Port: 161
- Allowed Managers: IP des NetXMS-Servers (192.168.1.70) eintragen
- SNMP Trap Receiver: IP des NetXMS-Servers, Port 162
- Einstellungen speichern.
Achtung: Den Standard-Community-String public in Produktivumgebungen ändern. Den gleichen String in der NetXMS-SNMP-Konfiguration verwenden.
3.2 Erreichbarkeit vom NetXMS-Server testen
# SNMP Walk – alle Didactum-OIDs auflisten: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Temperatur Sensor 1 direkt abfragen: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # System-Beschreibung (Grundtest): snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.1.1.0
Hinweis: Didactum gibt Temperatur- und Spannungswerte mit Faktor 10 zurück (235 = 23,5 °C). Dies muss bei der Schwellwertkonfiguration in NetXMS berücksichtigt werden.
4. NetXMS vorbereiten
4.1 NetXMS auf Debian/Ubuntu installieren
# Repository hinzufügen: 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 # Pakete installieren: sudo apt update sudo apt install netxms-server netxms-webui netxms-dbdrv-pgsql -y # NetXMS-Server-Konfiguration: sudo nano /etc/netxmsd.conf
4.2 NetXMS auf RHEL/CentOS/Rocky Linux installieren
# Repository hinzufügen: sudo rpm -ivh packages.netxms.org/rhel/netxms-release-latest.rpm # Pakete installieren: sudo dnf install netxms-server netxms-webui -y # NetXMS-Dienst aktivieren: sudo systemctl enable --now netxmsd
4.3 Grundkonfiguration des NetXMS-Servers
sudo nano /etc/netxmsd.conf
# Datenbankverbindung: DBDriver = pgsql.ddr DBServer = 127.0.0.1 DBName = netxms DBLogin = netxms DBPassword = sicheresPasswort # SNMP-Trap-Empfang aktivieren: EnableSNMPTraps = yes SNMPTrapPort = 162 # Discovery-Einstellungen: EnableAutoDiscovery = yes # Logging: LogFile = /var/log/netxms/netxmsd.log LogLevel = info
# Datenbank initialisieren: sudo -u netxms nxdbmgr init # NetXMS-Server starten: sudo systemctl start netxmsd sudo systemctl status netxmsd
4.4 Didactum MIB-Datei in NetXMS einbinden
# MIB-Datei ins NetXMS-MIB-Verzeichnis kopieren: sudo cp DIDACTUM-RACKMONI2-MIB.mib /usr/share/netxms/mibs/ # NetXMS-Server neu starten, damit die MIB geladen wird: sudo systemctl restart netxmsd
Über die Management Console: Tools → MIB Explorer → Upload MIB. Nach dem Import können OID-Nummern als Klarnamen angezeigt werden.
5. Didactum-Gerät als Node anlegen
5.1 Node manuell anlegen (Management Console)
- NetXMS Management Console öffnen, mit Administrator-Konto anmelden.
- Im Object Browser: Rechtsklick auf Infrastructure Services → Create → Node.
- Folgende Felder ausfüllen:
- Name: didactum-rack01
- Primary hostname / IP: 192.168.1.100
- Alias: Didactum Rack Monitoring – Serverraum A
- Unter Communications:
- SNMP version: v2c
- SNMP community: public
- SNMP port: 161
- SNMP timeout: 1500 ms
- SNMP retries: 3
- Unter Agent:
- Monitoring via: SNMP only (kein NetXMS-Agent auf dem Gerät)
- OK klicken. NetXMS führt automatisch einen SNMP-Walk durch.
5.2 Node über die Web Console anlegen
- Web Console aufrufen: 192.168.1.70/nxmc.
- Navigation: Configuration → Nodes → Create node.
- IP-Adresse, Name und SNMP-Parameter eintragen (wie oben).
- Save klicken.
5.3 Node über die REST-API anlegen
# API-Token generieren (einmalig):
curl -s -u admin:netxms \
"http://192.168.1.70:8080/api/v1/sessions" \
-H "Content-Type: application/json" \
-d '{"login":"admin","password":"netxms"}'
# Node anlegen:
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 – Serverraum A",
"snmpVersion": "v2c",
"snmpCommunity": "public",
"parentId": 2
}'5.4 Container für Didactum-Geräte anlegen
- Im Object Browser: Rechtsklick auf Infrastructure Services → Create → Container.
- Name: Didactum Monitoring Geräte
- Alle Didactum-Nodes in diesen Container verschieben (Drag & Drop).
- Container-Properties → Automatic binding: Regel anlegen, die alle Nodes mit SNMP-Community public und sysDescr enthält didactum automatisch zuordnet.
6. SNMP-Konfiguration in NetXMS
6.1 SNMP-Communities global konfigurieren
In der Management Console: Configuration → Network Discovery → SNMP Communities.
# Alternativ über nxdbmgr oder Konfigurationsdatei: sudo nano /etc/netxmsd.conf # Community-Liste für Network Discovery: DefaultCommunity = public # Weitere Communities: # Community = monitoring_ro # Community = didactum_snmp
6.2 SNMP für SNMP v3 konfigurieren
- Im Node-Properties: Communications → SNMP version: v3.
- Zusätzliche Felder:
- Security name: SNMP-v3-Benutzername vom Didactum-Gerät
- Authentication method: SHA
- Authentication password: Authentifizierungspasswort
- Encryption method: AES
- Encryption password: Verschlüsselungspasswort
6.3 SNMP-Walk manuell auslösen
In der Management Console: Rechtsklick auf den Didactum-Node → Poll → SNMP Walk. Das Ergebnis zeigt alle verfügbaren OIDs des Geräts.
# Auf der Kommandozeile (NetXMS-eigenes Tool): nxsnmpwalk -v 2c -c public 192.168.1.100 1.3.6.1.4.1.3854
6.4 Automatische Network Discovery konfigurieren
- Navigation: Configuration → Network Discovery.
- Discovery-Bereich hinzufügen: 192.168.1.0/24
- Discovery-Protokolle: ICMP + SNMP aktivieren
- SNMP-Community: public
- Filter: Nur Geräte mit sysDescr enthält didactum automatisch importieren
7. DCI-Konfiguration (Data Collection Items)
Data Collection Items (DCIs) sind das zentrale Konzept in NetXMS für die Datenerfassung. Jede zu überwachende OID wird als eigenes DCI konfiguriert. DCIs speichern Werte in der Datenbank und dienen als Basis für Grafiken, Schwellwerte und Dashboards.
7.1 DCI manuell anlegen (Management Console)
- Rechtsklick auf den Didactum-Node → Properties → Data Collection.
- Klick auf Add → DCI for single parameter.
- Folgende Parameter für Temperatur Sensor 1 eintragen:
- Description: Temperatur 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 Sekunden (5 Minuten)
- Retention time: 90 Tage
- Unter Thresholds: Schwellwerte eintragen (siehe Abschnitt 9).
- Apply → OK klicken.
7.2 DCI-Transformation für Temperatur (Faktor ÷ 10)
Da Didactum Temperaturwerte × 10 liefert, muss eine Transformation konfiguriert werden:
- Im DCI-Editor: Registerkarte Transformation.
- Transformation script: NXSL-Skript eintragen:
/* NXSL-Transformationsskript: Rohwert durch 10 dividieren */ return $1 / 10.0;
- Unit name: °C
- Multiplier: None
- Speichern. Der angezeigte Wert ist nun korrekt in °C (z. B. 23,5 °C statt 235).
7.3 DCIs per DCI Template für alle Sensoren anlegen
Statt jeden DCI einzeln anzulegen, empfiehlt sich ein DCI-Template, das auf alle Didactum-Nodes angewendet wird:
- Navigation: Configuration → DCI Templates → New template.
- Name: Didactum Rack Monitoring
- Alle nachfolgenden DCIs (Temperatur, Leckage, Feuchte, Spannung usw.) im Template anlegen.
- Template dem Node zuweisen: Node-Properties → Data Collection → Apply template → Didactum Rack Monitoring.
7.4 Alle DCIs für Didactum im Überblick
| DCI-Name | OID | Datentyp | Transformation | Einheit |
|---|---|---|---|---|
| Temperatur S1 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 | Integer | ÷ 10 | °C |
| Temperatur S2 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.3.2 | Integer | ÷ 10 | °C |
| Temperatur Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.16.1.4.1 | Integer | – | Enum |
| Leckage Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1 | Integer | – | 0/1 |
| Leckage Status S2 | .1.3.6.1.4.1.3854.1.2.2.1.18.1.4.2 | Integer | – | 0/1 |
| Luftfeuchtigkeit S1 | .1.3.6.1.4.1.3854.1.2.2.1.17.1.3.1 | Integer | – | % rF |
| Luftfeuchtigkeit Status S1 | .1.3.6.1.4.1.3854.1.2.2.1.17.1.4.1 | Integer | – | Enum |
| Spannung S1 | .1.3.6.1.4.1.3854.1.2.2.1.15.1.3.1 | Integer | ÷ 10 | V |
| Türkontakt S1 | .1.3.6.1.4.1.3854.1.2.2.1.10.1.3.1 | Integer | – | 0/1 |
| Rauchmelder S1 | .1.3.6.1.4.1.3854.1.2.2.1.14.1.3.1 | Integer | – | 0/1 |
| Bewegungssensor 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 | Sekunden |
7.5 Polling-Intervalle je Sensor-Typ
| Sensor-Typ | Empfohlenes Intervall | Begründung |
|---|---|---|
| Temperatur | 300 Sekunden (5 min) | Langsame physikalische Änderungen |
| Luftfeuchtigkeit | 300 Sekunden (5 min) | Langsame physikalische Änderungen |
| Leckage | 60 Sekunden (1 min) | Zeitkritisch – sofortiger Alarm |
| Spannung | 300 Sekunden (5 min) | Spannungsschwankungen |
| Türkontakt | 60 Sekunden (1 min) | Sicherheitskritisch |
| Rauchmelder | 60 Sekunden (1 min) | Sicherheitskritisch |
| Bewegungssensor | 60 Sekunden (1 min) | Sicherheitskritisch |
8. OID-Referenz für NetXMS
Alle OIDs basieren auf der Didactum Enterprise OID-Basis 1.3.6.1.4.1.3854. Der Platzhalter {n} steht für den Sensorindex (1 = erster Sensor usw.).
8.1 Temperatursensoren
| OID | Beschreibung | Einheit | NetXMS-Transformation | Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.{n} | Temperaturwert Sensor n | °C × 10 | return $1 / 10.0; | Rohwert ÷ 10 für °C |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.4.{n} | Temperatur-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} | Oberer Grenzwert Sensor n | °C × 10 | return $1 / 10.0; | Informativ |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.8.{n} | Unterer Grenzwert Sensor n | °C × 10 | return $1 / 10.0; | Informativ |
| 1.3.6.1.4.1.3854.1.2.2.1.16.1.2.{n} | Sensor-Name n | Text | – | Für DCI-Beschriftung |
8.2 Leckagesensoren
| OID | Beschreibung | Einheit | NetXMS-Schwellwert | Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.4.{n} | Leckage-Status Sensor n | 0=OK, 1=Leckage | ≥ 1 → CRITICAL | Sofortalarm |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.3.{n} | Leckage-Wert Sensor n | 0=trocken | ≥ 1 → CRITICAL | Alternativ zum Status-OID |
| 1.3.6.1.4.1.3854.1.2.2.1.18.1.2.{n} | Sensor-Name n | Text | – | Für Beschriftung |
8.3 Luftfeuchtigkeitssensoren
| OID | Beschreibung | Einheit | NetXMS-Schwellwert | Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.3.{n} | Luftfeuchtigkeitswert Sensor n | % rF | > 70 → WARN, > 80 → CRIT | Kein Transformationsfaktor |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.4.{n} | Luftfeuchtigkeits-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} | Oberer Grenzwert Sensor n | % rF | – | Informativ |
| 1.3.6.1.4.1.3854.1.2.2.1.17.1.8.{n} | Unterer Grenzwert Sensor n | % rF | – | Informativ |
8.4 Weitere Sensoren
| OID | Beschreibung | Einheit | NetXMS-Schwellwert | Hinweis |
|---|---|---|---|---|
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.3.{n} | Spannungswert Sensor n | V × 10 | < 2070 oder > 2530 → WARN | Rohwert ÷ 10 für V |
| 1.3.6.1.4.1.3854.1.2.2.1.15.1.4.{n} | Spannungs-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} | Türkontakt-Status n | 0=zu, 1=offen | ≥ 1 → CRIT | Policy-abhängig |
| 1.3.6.1.4.1.3854.1.2.2.1.11.1.3.{n} | Erschütterung / Bewegung n | 0=keine, 1=Alarm | ≥ 1 → WARN | Sicherheitsalarm |
| 1.3.6.1.4.1.3854.1.2.2.1.14.1.3.{n} | Rauchmelder-Status n | 0=OK, 1=Alarm | ≥ 1 → CRIT | Sofortalarm |
| 1.3.6.1.2.1.1.3.0 | System Uptime (sysUpTime) | Hundertstelsekunden | – | Standard-MIB |
| 1.3.6.1.2.1.1.1.0 | Gerätebeschreibung (sysDescr) | Text | – | Für Node-Identifikation |
9. Schwellwerte und Alarme konfigurieren
9.1 Threshold für Temperatur-DCI anlegen
- DCI öffnen: Rechtsklick auf Node → Properties → Data Collection → Temperatur S1 → Edit → Thresholds.
- Klick auf Add threshold.
- Warnschwelle konfigurieren:
- Condition: Greater than
- Value: 30 (nach Transformation, in °C)
- Event: SYS_THRESHOLD_REACHED mit Severity WARNING
- Rearm event: SYS_THRESHOLD_REARMED
- Repeat interval: 600 Sekunden
- Kritischen Schwellwert hinzufügen:
- Condition: Greater than
- Value: 35 (in °C)
- Event: SYS_THRESHOLD_REACHED mit Severity CRITICAL
- Zusätzlich untere Warnschwelle:
- Condition: Less than
- Value: 5 (in °C)
- Event: Severity WARNING
9.2 Threshold für Leckage-DCI (Sofortalarm)
- DCI Leckage Status S1 öffnen → Thresholds → Add.
- Einstellungen:
- Condition: Greater than or equal
- Value: 1
- Event: Eigenes Event DIDACTUM_LEAK_DETECTED mit Severity CRITICAL
- Repeat interval: 300 Sekunden (alle 5 Minuten wiederholen, solange aktiv)
- Polling-Intervall des DCI auf 60 Sekunden setzen.
9.3 Benutzerdefinierte Ereignisse für Didactum anlegen
- Navigation: Configuration → Event Configuration → New event.
- Event für Leckage anlegen:
- Name: DIDACTUM_LEAK_DETECTED
- Severity: Critical
- Message: LECKAGE ERKANNT auf %n (%a) – Sensor %4! Sofortiger Handlungsbedarf!
- Event für Temperatur-Alarm:
- Name: DIDACTUM_TEMP_ALARM
- Severity: Major
- Message: Temperatur-Alarm auf %n (%a) – Aktueller Wert: %4 °C
9.4 Empfohlene Schwellwerte für alle Sensor-Typen
| Sensortyp | Warning (nach Transformation) | Critical (nach Transformation) | Norm |
|---|---|---|---|
| Temperatur IT-Rack | > 30,0 °C oder < 5 °C | > 35,0 °C | ASHRAE A1: 15–32 °C |
| Temperatur USV-Raum | > 25,0 °C | > 30,0 °C | Herstellervorgabe |
| Luftfeuchtigkeit hoch | > 70 % rF | > 80 % rF | ASHRAE: 20–80 % rF |
| Luftfeuchtigkeit niedrig | < 20 % rF | < 10 % rF | ASHRAE: 20–80 % rF |
| Leckage | – | ≥ 1 (sofort) | Sofortalarm |
| Spannung 230 V AC | < 207 V oder > 253 V | < 196 V oder > 260 V | EN 50160 ±10 % |
| Türkontakt / Rauch / Bewegung | – | ≥ 1 | Policy-abhängig |
9.5 Alarm-Benachrichtigung konfigurieren
- Navigation: Configuration → Actions → New action.
- Aktion für E-Mail-Benachrichtigung:
- Type: Send e-mail
- To: admin@example.com
- Subject: NetXMS Alarm: %n – %m
- Message: Alarm auf %n (%a)\nSchwere: %S\nNachricht: %m\nZeit: %T
- Event Processing Policy verknüpfen: Configuration → Event Processing Policy → Add rule:
- Event: DIDACTUM_LEAK_DETECTED
- Action: E-Mail-Benachrichtigung
- Alarm erstellen: Severity Critical, Alarm-Text: LECKAGE auf %n
10. SNMP-Trap-Integration
NetXMS empfängt SNMP-Traps nativ über den integrierten Trap-Receiver (UDP Port 162). Traps werden als Events verarbeitet und können Alarme und Benachrichtigungen auslösen – ohne aktives Polling.
10.1 SNMP-Trap-Receiver aktivieren
# In /etc/netxmsd.conf prüfen/setzen: EnableSNMPTraps = yes SNMPTrapPort = 162 # Firewall-Port freigeben: sudo ufw allow 162/udp # NetXMS neu starten: sudo systemctl restart netxmsd
10.2 Trap-to-Event-Mapping konfigurieren
- Navigation: Configuration → SNMP Trap Mapping → Add.
- Mapping für Leckage-Trap anlegen:
- Trap OID: .1.3.6.1.4.1.3854.1.7.2
- Event: DIDACTUM_LEAK_DETECTED
- Trap description: Didactum Leckage-Alarm
- Mapping für Temperatur-Alarm:
- Trap OID: .1.3.6.1.4.1.3854.1.7.1
- Event: DIDACTUM_TEMP_ALARM
- Analog für alle weiteren Trap-OIDs (siehe Tabelle unten).
10.3 Trap-Mapping per Konfigurationsdatei
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:Temperatur-Alarm von %SOURCEIP% .1.3.6.1.4.1.3854.1.7.2:DIDACTUM_LEAK_DETECTED:CRITICAL:Leckage erkannt auf %SOURCEIP% .1.3.6.1.4.1.3854.1.7.3:DIDACTUM_HUMIDITY_ALARM:MAJOR:Luftfeuchtigkeits-Alarm von %SOURCEIP% .1.3.6.1.4.1.3854.1.7.4:DIDACTUM_VOLTAGE_ALARM:MAJOR:Spannungs-Alarm von %SOURCEIP% .1.3.6.1.4.1.3854.1.7.10:DIDACTUM_DOOR_OPEN:WARNING:Türkontakt geöffnet auf %SOURCEIP% .1.3.6.1.4.1.3854.1.7.14:DIDACTUM_SMOKE_ALARM:CRITICAL:Rauchmelder-Alarm von %SOURCEIP% .1.3.6.1.4.1.3854.1.7.99:DIDACTUM_REBOOT:WARNING:Gerät neugestartet %SOURCEIP%
10.4 Trap-Test senden
# Test-Trap für Leckage von einem anderen System senden: 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 # Trap-Empfang im NetXMS-Log prüfen: sudo tail -f /var/log/netxms/netxmsd.log | grep -i trap
10.5 Wichtige Didactum Trap-OIDs
| Trap-OID | Ereignis | NetXMS-Severity | Empfohlene Reaktion |
|---|---|---|---|
| 1.3.6.1.4.1.3854.1.7.1 | Temperatur-Alarm | Major | Alarm + E-Mail |
| 1.3.6.1.4.1.3854.1.7.2 | Leckage-Alarm | Critical | Alarm + E-Mail + SMS |
| 1.3.6.1.4.1.3854.1.7.3 | Luftfeuchtigkeits-Alarm | Major | Alarm + E-Mail |
| 1.3.6.1.4.1.3854.1.7.4 | Spannungs-Alarm | Major | Alarm + E-Mail |
| 1.3.6.1.4.1.3854.1.7.10 | Türkontakt geöffnet | Warning | Alarm (Policy-abhängig) |
| 1.3.6.1.4.1.3854.1.7.14 | Rauchmelder-Alarm | Critical | Alarm + E-Mail + SMS |
| 1.3.6.1.4.1.3854.1.7.99 | Gerät-Neustart | Warning | Alarm + Logging |
11. Dashboards und Visualisierung
11.1 Dashboard für Didactum-Sensoren anlegen
- Navigation: Dashboards → New dashboard.
- Name: Didactum Rack Monitoring
- Dashboard-Elemente hinzufügen:
- Line chart: Temperaturverlauf Sensor 1 und 2 (letzte 24 Stunden)
- Line chart: Luftfeuchtigkeit Sensor 1 (letzte 24 Stunden)
- Gauge: Aktuelle Temperatur Sensor 1 (mit Farbskala: grün/gelb/rot)
- Status indicator: Leckage Sensor 1 (grün = OK, rot = Alarm)
- Status indicator: Leckage Sensor 2
- Status indicator: Türkontakt (grün = geschlossen, rot = offen)
- Alarm viewer: Aktuelle Alarme des Containers Didactum Monitoring Geräte
- Dashboard speichern und als Startseite festlegen.
11.2 Netzwerktopologie-Map mit Didactum-Geräten
- Navigation: Network Maps → New map.
- Name: Serverraum A – Monitoring-Übersicht
- Objekte hinzufügen: Didactum-Node als Icon einfügen.
- Hintergrund: Grundriss des Serverraums als Bild hinterlegen.
- Icon-Farbe: Automatisch basierend auf Node-Status (grün/gelb/rot).
- DCI-Werte direkt auf der Map anzeigen: Rechtsklick auf Icon → Add DCI value → Temperatur S1 auswählen.
11.3 Historische Daten und Grafiken
- Rechtsklick auf einen DCI im Data Collection-Editor → Show graph.
- Zeitraum wählen: Letzte 24 Stunden, 7 Tage, 30 Tage.
- Mehrere DCIs in einem Graphen kombinieren: Graph → Add data source → zweiten DCI hinzufügen.
- Graph als Vorlage speichern: Graph → Save as template → Didactum Temperaturverlauf.
11.4 Reporting
- Navigation: Reporting → New report.
- Report-Typ: DCI summary report
- Knoten: Container Didactum Monitoring Geräte
- DCIs: Temperatur Min/Max/Avg, Luftfeuchtigkeit Min/Max/Avg
- Zeitraum: Monatlich
- Report-Format: PDF oder HTML
- Automatischer Versand per E-Mail: Monatlich am 1. des Monats
12. Fehlerbehebung (Troubleshooting)
| Problem | Mögliche Ursache / Lösung |
|---|---|
| Node zeigt „SNMP unreachable" | Firewall: UDP Port 161 freigegeben? Community-String im Node-Properties korrekt? IP-Adresse stimmt? Test: snmpwalk -v2c -c public 192.168.1.100 vom NetXMS-Server aus. |
| DCI-Werte werden nicht gesammelt | SNMP-Polling aktiv? OID korrekt eingetragen (mit führendem Punkt: .1.3.6.1.4.1.3854...)? Datentyp stimmt? NetXMS-Log prüfen: tail -f /var/log/netxms/netxmsd.log. |
| Temperatur zeigt 235 statt 23,5 °C | Transformationsskript fehlt oder ist falsch. Im DCI → Transformation: return $1 / 10.0; eintragen. NXSL-Syntax prüfen. |
| Traps kommen nicht an | UDP Port 162 auf dem NetXMS-Server in der Firewall öffnen. EnableSNMPTraps = yes in netxmsd.conf? Korrekte Trap-Receiver-IP im Didactum-Gerät? NetXMS neu starten. |
| Schwellwert löst keinen Alarm aus | Threshold korrekt konfiguriert? Event Processing Policy verknüpft die Event-ID mit einer Aktion? Alarm-Severity korrekt gesetzt? Event-Log prüfen. |
| Keine E-Mail-Benachrichtigungen | SMTP-Server in NetXMS konfiguriert? Configuration → Server Configuration → SMTP Server. Aktion mit Event Processing Policy verknüpft? |
| DCI-Template wird auf Node nicht angewendet | Template explizit dem Node zuweisen: Node-Properties → Data Collection → Apply template. Automatisches Binding prüfen. |
| SNMP-Walk findet keine Didactum-OIDs | Allowed Managers am Didactum-Gerät: IP des NetXMS-Servers eingetragen? SNMP am Gerät aktiv? Gerät per Ping erreichbar? |
| Management Console kann nicht verbinden | NetXMS-Server-Dienst läuft? TCP Port 4701 freigegeben? systemctl status netxmsd. Verbindungseinstellungen in der Console prüfen. |
Diagnose-Befehle Übersicht
# NetXMS-Server-Status prüfen: sudo systemctl status netxmsd # NetXMS-Server neu starten: sudo systemctl restart netxmsd # NetXMS-Hauptlog in Echtzeit verfolgen: sudo tail -f /var/log/netxms/netxmsd.log # SNMP-Erreichbarkeit testen: snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854 # Einzelne OID abfragen: snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 # NetXMS-eigenes 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 # Datenbank-Verbindung prüfen: sudo -u netxms nxdbmgr check # Datenbankschema aktualisieren (nach Update): sudo -u netxms nxdbmgr upgrade # Test-Trap senden: 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 # Trap-Empfang im Log prüfen: sudo grep -i "trap" /var/log/netxms/netxmsd.log | tail -20 # Firewall-Ports prüfen (ufw): sudo ufw status verbose # Ports 161 und 162 freigeben: sudo ufw allow 161/udp sudo ufw allow 162/udp # NetXMS-Datenbankstatus: sudo -u netxms nxdbmgr info
Anhang: NetXMS-Konfiguration Schnell-Referenz
| Aufgabe | Navigationspfad (Management Console) |
|---|---|
| Node anlegen | Object Browser → Rechtsklick → Create → Node |
| DCI konfigurieren | Rechtsklick auf Node → Properties → Data Collection → Add |
| DCI-Transformation | DCI → Edit → Transformation → NXSL-Skript |
| Schwellwert anlegen | DCI → Edit → Thresholds → Add threshold |
| DCI-Template | Configuration → DCI Templates → New template |
| Event anlegen | Configuration → Event Configuration → New event |
| Event Processing Policy | Configuration → Event Processing Policy → Add rule |
| Aktion anlegen (E-Mail/SMS) | Configuration → Actions → New action |
| SNMP-Trap-Mapping | Configuration → SNMP Trap Mapping → Add |
| Network Discovery | Configuration → Network Discovery |
| Dashboard anlegen | Dashboards → New dashboard |
| Netzwerk-Map | Network Maps → New map |
| MIB-Browser | Tools → MIB Explorer |
| Alarm-Übersicht | Alarms → Active alarms |
| SMTP konfigurieren | Configuration → Server Configuration → SMTP Server |
Für firmware-spezifische OIDs und unterstützte Sensortypen immer die aktuelle Didactum-Gerätedokumentation konsultieren.