Didactum Monitoring und Zabbix 6 Integration
Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten und Sensoren in Zabbix 6.x LTS via SNMP – inklusive Template-Import, Item-Konfiguration, Trigger und OID-Referenz.
- Zabbix-Version: 6.x LTS
- Protokoll: SNMP v1/v2c/v3
- Geräte: Didactum Monitoring System 100 / 300T / 500T / 550T
- Sensoren: Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch
1. Voraussetzungen und Systemüberblick
Zabbix-Server
- Zabbix 6.x LTS installiert und erreichbar
- Pakete snmp und snmp-mibs-downloader installiert
- UDP-Port 161 (SNMP-Polling) und UDP-Port 162 (SNMP-Traps) in der Firewall geöffnet
- Zabbix-Prozess SNMPTrapper aktiviert (für Trap-Empfang)
Didactum-Gerät
- Monitoring System 100T / 300T /500T oder 550T
- Netzwerkzugang zum Zabbix-Server
- SNMP aktiviert (v1/v2c oder v3)
- MIB-Datei im Web-Interface verfügbar
Architektur
[Didactum Monitoring System]
IP: 192.168.1.50
|
| SNMP Polling (UDP 161) --Zabbix fragt ab-->
| SNMP Traps (UDP 162) <--Didactum sendet--
v
[Zabbix Server]
IP: 192.168.1.10
Web-Frontend: 192.168.1.10/zabbix
2. SNMP auf dem Didactum-Gerät aktivieren
Schritt 1 – Web-Interface öffnen
Im Browser aufrufen: 192.168.1.50 (IP des Didactum-Geräts anpassen)
Schritt 2 – SNMP-Einstellungen aufrufen
Systemeinstellungen → SNMP
Schritt 3 – Folgende Werte eintragen
| Feld im Didactum Web-Interface | Wert |
|---|---|
| SNMP aktivieren | Aktiviert |
| SNMP-Version | v2c (empfohlen) oder v3 für Produktionsumgebungen |
| Community String (v1/v2c) | didactum_mon (nicht „public" verwenden!) |
| SNMP-Port | 161 |
| Trap-Empfänger IP | 192.168.1.10 (IP des Zabbix-Servers) |
| Trap-Port | 162 |
| Trap-Version | v2c |
SNMPv3-Einstellungen (optional, erhöhte Sicherheit)
| Feld | Wert / Beispiel |
|---|---|
| Security Name | zabbix_user |
| Auth-Protokoll | SHA |
| Auth-Passwort | mind. 8 Zeichen |
| Priv-Protokoll | AES |
| Priv-Passwort | mind. 8 Zeichen |
| Security Level | authPriv |
Schritt 4 – Einstellungen speichern
Auf das Speichern-Symbol klicken. Danach SNMP vom Zabbix-Server aus testen:
snmpwalk -v 2c -c didactum_mon 192.168.1.50 .1.3.6.1.4.1.46501
Erscheinen Zeilen mit OID-Werten, ist SNMP korrekt konfiguriert.
3. MIB-Datei herunterladen und auf dem Zabbix-Server installieren
Schritt 1 – MIB aus dem Didactum Web-Interface laden
Systemeinstellungen → SNMP → "MIB-Datei herunterladen" → didactum.mib
Schritt 2 – MIB auf dem Zabbix-Server installieren
# SNMP-Tools installieren (falls noch nicht vorhanden) sudo apt install snmp snmp-mibs-downloader -y # MIB-Datei kopieren sudo cp didactum.mib /usr/share/snmp/mibs/ # SNMP-Konfiguration anpassen echo "mibdirs /usr/share/snmp/mibs" >> /etc/snmp/snmp.conf echo "mibs ALL" >> /etc/snmp/snmp.conf # Test mit MIB-Namen snmpwalk -v 2c -c didactum_mon -m ALL 192.168.1.50 DIDACTUM-MIB::sensorValue
4. Didactum-Host in Zabbix anlegen
Schritt 1 – Navigation
Configuration → Hosts → Create Host
Schritt 2 – Reiter „Host" ausfüllen
| Feld | Wert |
|---|---|
| Host name | Didactum-Monitor-01 |
| Visible name | Didactum Monitoring System 01 |
| Groups | Didactum master modules (neu anlegen oder vorhandene wählen) |
| Interfaces → Add | Typ: SNMP auswählen |
| IP address | 192.168.1.50 |
| Port | 161 |
Schritt 3 – Reiter „Macros" ausfüllen
Hier den SNMP Community String als Makro hinterlegen:
| Macro | Value |
|---|---|
| {$SNMP_COMMUNITY} | didactum_mon |
Bei SNMPv3 zusätzlich:
| Macro | Value |
|---|---|
| {$SNMPV3_USER} | zabbix_user |
| {$SNMPV3_AUTHPASSPHRASE} | Ihr Auth-Passwort |
| {$SNMPV3_PRIVPASSPHRASE} | Ihr Priv-Passwort |
Schritt 4 – Host speichern
Auf Add klicken.
Der Host erscheint nun in der Host-Liste. Das Symbol neben „SNMP" zeigt grün, sobald die Verbindung funktioniert (kann einige Minuten dauern).
5. Didactum Zabbix-Template importieren und zuweisen
Schritt 1 – Offizielles Didactum-Template herunterladen
Didactum stellt ein kostenloses Template bereit. Download-Quellen:
- Direkt von Didactum: https://www.didactum-security.com → Downloads → Zabbix Template
- Dateiname: zbx_didactum_template.xml
Schritt 2 – Template in Zabbix importieren
Configuration → Templates → Import (oben rechts)
Datei zbx_didactum_template.xml auswählen, alle Optionen aktiviert lassen, auf Import klicken.
Schritt 3 – Template dem Host zuweisen
Configuration → Hosts → Didactum-Monitor-01 → Reiter "Templates" → "Link new templates" → "Didactum" suchen → Template auswählen → Add → Update
Schritt 4 – Daten prüfen
Monitoring → Latest data → Host: Didactum-Monitor-01
Nach wenigen Minuten erscheinen die ersten Messwerte aller angeschlossenen Sensoren.
6. SNMP-Items manuell anlegen (ohne Template)
Falls das Didactum-Template nicht verwendet wird oder zusätzliche Sensoren eingebunden werden sollen, können Items manuell angelegt werden.
Navigation
Configuration → Hosts → Didactum-Monitor-01 → Items → Create Item
Item: Temperaturwert
| Feld | Wert |
|---|---|
| Name | Temperatur Sensor 01 |
| Type | SNMP agent |
| Key | didactum.temp[101001] |
| SNMP OID | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| SNMP community | {$SNMP_COMMUNITY} |
| Type of information | Numeric (float) |
| Units | °C |
| Multiplier | 0.1 (Rohwert ÷ 10 = Grad Celsius) |
| Update interval | 60s |
| History storage period | 90d |
| Trend storage period | 365d |
| Applications | Didactum Sensors |
Item: Temperatursensor-Status
| Feld | Wert |
|---|---|
| Name | Temperatur Sensor 01 – Status |
| Type | SNMP agent |
| SNMP OID | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| Type of information | Numeric (unsigned) |
| Units | leer lassen |
Item: Wassersensor / Leckage
| Feld | Wert |
|---|---|
| Name | Leckagesensor 01 |
| Type | SNMP agent |
| SNMP OID | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Type of information | Numeric (unsigned) |
| Value mapping | Didactum Leak Status (siehe unten) |
| Update interval | 30s |
Value Mapping anlegen (für Leckage- und Status-Sensoren)
Administration → General → Value mapping → Create value map Name: Didactum Sensor Status 0 → OK / Trocken 1 → ALARM / Wasser erkannt 2 → Keine Verbindung Name: Didactum Leak Status 0 → Trocken 1 → Wasser erkannt
7. Trigger konfigurieren
Trigger definieren, wann Zabbix einen Alarm auslöst.
Navigation:
Configuration → Hosts → Didactum-Monitor-01 → Triggers → Create Trigger
Trigger: Temperatur zu hoch
| Feld | Wert |
|---|---|
| Name | Temperatur zu hoch: {HOST.NAME} |
| Severity | High |
| Expression | last(/Didactum-Monitor-01/didactum.temp[101001])>28 |
| Recovery expression | last(/Didactum-Monitor-01/didactum.temp[101001])<26 |
| Description | Temperatur überschreitet 28°C – Kühlsystem prüfen! |
Trigger: Temperatur kritisch
| Feld | Wert |
|---|---|
| Name | Temperatur KRITISCH: {HOST.NAME} |
| Severity | Disaster |
| Expression | last(/Didactum-Monitor-01/didactum.temp[101001])>35 |
| Description | Kritische Temperatur – sofortige Maßnahmen erforderlich! |
Trigger: Leckage erkannt
| Feld | Wert |
|---|---|
| Name | LECKAGE erkannt: {HOST.NAME} |
| Severity | Disaster |
| Expression | last(/Didactum-Monitor-01/didactum.leak[107001])=1 |
| Recovery expression | last(/Didactum-Monitor-01/didactum.leak[107001])=0 |
| Description | Wasserleckage erkannt – sofortige Maßnahmen erforderlich! |
Trigger: Sensor nicht erreichbar
| Feld | Wert |
|---|---|
| Name | Sensor Verbindungsfehler: {HOST.NAME} |
| Severity | Average |
| Expression | last(/Didactum-Monitor-01/didactum.temp.status[101001])=2 |
Hinweis Schwellwerte:
- Die Werte 28°C und 35°C sind Beispiele.
- Anpassen an die tatsächlichen Anforderungen Ihrer Infrastruktur (z.B. Serverraum: Warnung ab 25°C, Kritisch ab 30°C).
8. SNMP OID-Referenz
Alle Didactum-OIDs beginnen mit .1.3.6.1.4.1.46501 (ältere Firmware) bzw. .1.3.6.1.4.1.39052 (neuere Modelle). Die Sensor-ID wird am Ende angehängt.
OID-Felder je Sensor
| Feld | Bedeutung | Beispiel |
|---|---|---|
| .1.x.SENSOR_ID | Sensor-ID | .1.3.6.1.4.1.46501.5.1.1.1.101001 |
| .5.x.SENSOR_ID | Sensor-Name | .1.3.6.1.4.1.46501.5.1.1.5.101001 |
| .6.x.SENSOR_ID | Status (0=OK, 1=Alarm, 2=Kein Signal) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| .7.x.SENSOR_ID | Messwert (aktueller Wert) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensortypen und zugehörige OIDs
| Sensortyp | Sensor-ID | OID Messwert | OID Status | Einheit / Hinweis |
|---|---|---|---|---|
| Temperatursensor (digital) | 101001 | .1.3.6.1.4.1.46501.5.1.1.7.101001 | .1.3.6.1.4.1.46501.5.1.1.6.101001 | Rohwert ÷ 10 = °C (z.B. 235 = 23,5 °C) |
| Temperatursensor (analog) | 201001 | .1.3.6.1.4.1.39052.5.2.1.7.201001 | .1.3.6.1.4.1.39052.5.2.1.6.201001 | Rohwert ÷ 10 = °C |
| Wassersensor / Leckage | 107001 | .1.3.6.1.4.1.46501.5.1.1.7.107001 | .1.3.6.1.4.1.46501.5.1.1.6.107001 | 0 = trocken, 1 = Wasser erkannt |
| Luftfeuchtigkeit | 102001 | .1.3.6.1.4.1.46501.5.1.1.7.102001 | .1.3.6.1.4.1.46501.5.1.1.6.102001 | Wert in % (z.B. 65 = 65 %) |
| Potentialfreier Kontakt | 101003 | .1.3.6.1.4.1.39052.5.1.1.7.101003 | .1.3.6.1.4.1.39052.5.1.1.6.101003 | 0 = offen, 1 = geschlossen |
| Türkontakt | 104001 | .1.3.6.1.4.1.46501.5.1.1.7.104001 | .1.3.6.1.4.1.46501.5.1.1.6.104001 | 0 = geschlossen, 1 = geöffnet |
| Rauchmelder | 106001 | .1.3.6.1.4.1.46501.5.1.1.7.106001 | .1.3.6.1.4.1.46501.5.1.1.6.106001 | 0 = kein Rauch, 1 = Alarm |
Sensor-ID herausfinden:
Im Didactum Web-Interface unter Systembaum → Sensor auswählen → Details. Die angezeigte ID wird ans Ende der OID angehängt.
MIB-Prefix je Modell:
Ältere Geräte verwenden .1.3.6.1.4.1.46501, neuere eventuell .1.3.6.1.4.1.39052. Entnehmen Sie die genauen OIDs der MIB-Datei Ihres Geräts.
9. SNMP Traps empfangen
Neben dem aktiven Polling kann Zabbix auch SNMP-Traps empfangen, die das Didactum-Gerät bei Alarm eigenständig sendet.
Schritt 1 – snmptrapd installieren
sudo apt install snmptrapd snmptt -y
Schritt 2 – snmptrapd konfigurieren
sudo nano /etc/snmp/snmptrapd.conf
Folgenden Inhalt eintragen:
authCommunity execute,log,net didactum_mon traphandle default /usr/sbin/snmptthandler
Schritt 3 – Zabbix-Server für Trap-Empfang konfigurieren
sudo nano /etc/zabbix/zabbix_server.conf
Folgende Zeilen suchen und aktivieren:
SNMPTrapperFile=/tmp/zabbix_traps.tmp StartSNMPTrapper=1
Schritt 4 – Dienste neu starten
sudo systemctl restart snmptrapd sudo systemctl restart zabbix-server
Schritt 5 – Trap-Item in Zabbix anlegen
Configuration → Hosts → Didactum-Monitor-01 → Items → Create Item
| Feld | Wert |
|---|---|
| Name | SNMP Trap – Didactum Alarm |
| Type | SNMP trap |
| Key | snmptrap.fallback |
| Type of information | Log |
| Log time format | hh:mm:ss yyyy/MM/dd |
10. Alarmierung per E-Mail einrichten
Schritt 1 – Media Type konfigurieren
Administration → Media types → Email → bearbeiten
| Feld | Wert |
|---|---|
| SMTP server | Ihr Mailserver, z.B. mail.ihredomain.de |
| SMTP server port | 587 (TLS) oder 465 (SSL) |
| SMTP helo | ihredomain.de |
| SMTP email | zabbix@ihredomain.de |
| Connection security | STARTTLS |
Schritt 2 – E-Mail-Adresse für Admin hinterlegen
Administration → Users → Admin → Media → Add Type: Email Send to: ihre@email-adresse.de When active: 1-7,00:00-24:00 Severity: alle aktivieren
Schritt 3 – Action für Trigger-Alarme anlegen
Configuration → Actions → Trigger actions → Create action
| Feld | Wert |
|---|---|
| Name | Didactum Alarm Benachrichtigung |
| Conditions → Add | Trigger value = Problem |
| Operations → Add | Operation type: Send message |
| Send to users | Admin (oder eigene Benutzergruppe) |
| Send only to |
Nachrichtenvorlage (Subject / Message)
Subject:
ALARM: {TRIGGER.NAME} auf {HOST.NAME}
Message:
Zeitpunkt: {EVENT.DATE} {EVENT.TIME}
Host: {HOST.NAME} ({HOST.IP})
Trigger: {TRIGGER.NAME}
Schwere: {TRIGGER.SEVERITY}
Status: {TRIGGER.STATUS}
Item: {ITEM.NAME} = {ITEM.VALUE}
11. Fehlerbehebung (Troubleshooting)
SNMP-Verbindung testen
# Einfacher Verbindungstest snmpget -v 2c -c didactum_mon 192.168.1.50 sysDescr.0 # Alle Sensor-Werte abrufen snmpwalk -v 2c -c didactum_mon 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1 # Einzelnen Temperaturwert abrufen snmpget -v 2c -c didactum_mon 192.168.1.50 .1.3.6.1.4.1.46501.5.1.1.7.101001
Zabbix Latest Data prüfen
Monitoring → Latest data → Filter: Host = Didactum-Monitor-01
Erscheinen Werte und der Zeitstempel aktualisiert sich, funktioniert das Polling korrekt.
Fehlermeldungen und Lösungen
| Problem | Ursache & Lösung |
|---|---|
| Host-Symbol bleibt rot / grau | SNMP-Verbindung fehlgeschlagen → IP, Port, Community String prüfen; Firewall UDP 161 freigeben |
| „No SNMP response" | SNMP am Didactum-Gerät nicht aktiviert oder falscher Community String |
| Temperaturwert erscheint 10x zu groß | Multiplier fehlt → Item bearbeiten, Multiplier auf 0.1 setzen |
| Item zeigt „Not supported" | OID falsch oder Sensor-ID stimmt nicht → Sensor-ID im Didactum Web-Interface prüfen |
| Kein SNMP-Trap empfangen | Trap-Empfänger-IP im Didactum Web-Interface falsch → Zabbix-Server-IP eintragen; Port 162 freigeben |
| Keine E-Mail bei Alarm | Media Type, User Media und Action prüfen; Zabbix-Log einsehen: /var/log/zabbix/zabbix_server.log |
Zabbix-Log einsehen
sudo tail -f /var/log/zabbix/zabbix_server.log sudo tail -f /var/log/zabbix/zabbix_agentd.log
Zabbix-Prozesse prüfen
sudo systemctl status zabbix-server sudo systemctl status zabbix-agent sudo systemctl status snmptrapd
12. Abschluss-Checkliste
Didactum-Gerät
- SNMP aktiviert (v2c oder v3)
- Community String gesetzt (nicht „public")
- Trap-Empfänger-IP auf Zabbix-Server gesetzt
- Trap-Port 162 eingetragen
- MIB-Datei heruntergeladen
Zabbix-Server
- Pakete snmp, snmp-mibs-downloader installiert
- MIB-Datei unter /usr/share/snmp/mibs/ gespeichert
- snmpwalk-Test erfolgreich
- Didactum-Host angelegt (SNMP-Interface, korrekte IP)
- Makro {$SNMP_COMMUNITY} mit Community String gesetzt
- Didactum-Template importiert und dem Host zugewiesen
- Latest Data zeigt Sensorwerte an
Items & Trigger
- Temperatur-Item: Multiplier 0.1 gesetzt, Einheit °C
- Leckage-Item: Value Mapping konfiguriert
- Trigger für Temperaturwarnung angelegt
- Trigger für Leckage angelegt (Severity: Disaster)
- Trigger für Sensor-Verbindungsfehler angelegt
Alarmierung
- E-Mail Media Type konfiguriert
- Admin-Benutzer mit E-Mail-Adresse versehen
- Trigger Action „Didactum Alarm" angelegt
- Test-Alarm ausgelöst und E-Mail empfangen
SNMP Traps (optional)
- snmptrapd installiert und konfiguriert
- zabbix_server.conf: StartSNMPTrapper=1 gesetzt
- Trap-Item (snmptrap.fallback) angelegt
- Test-Trap empfangen und in Latest Data sichtbar