Sprachauswahl:
Skip to main navigation Skip to main content Skip to page footer

Didactum Monitoring-Geräte und Sensoren – Integration in Nagios

Diese Anleitung beschreibt die vollständige Integration von Didactum Monitoring-Geräten in Nagios (Nagios Core und Nagios XI). Ziel ist die zentrale Überwachung aller angeschlossenen Sensoren – Temperatur, Luftfeuchtigkeit, Leckage, Spannung, Türkontakte und weitere – über das Nagios-Monitoring-System per SNMP.

1. Grundlagen und Architektur

Nagios überwacht das Didactum-Gerät über das SNMP-Protokoll (Simple Network Management Protocol). 

Nagios fragt dabei in konfigurierbaren Intervallen bestimmte OIDs (Object Identifiers) vom Gerät ab und wertet die zurückgegebenen Werte gegen definierte Schwellwerte aus.

Überwachungsablauf

  1. Nagios-Scheduler löst einen Check aus (z.Bsp. alle 5 Minuten).
  2. Das Nagios-Plugin check_snmp sendet eine SNMP-Abfrage an das Didactum-Gerät (UDP Port 161).
  3. Das Didactum-Gerät antwortet mit dem aktuellen Sensorwert.
  4. Das Plugin vergleicht den Wert mit den konfigurierten Warning- und Critical-Schwellwerten.
  5. Nagios setzt den Service-Status auf OK, WARNING, CRITICAL oder UNKNOWN.
  6. Bei Statuswechsel werden Benachrichtigungen (E-Mail, SMS, Ticket) ausgelöst.

Nagios Service-Zustände

ZustandBedeutungTypischer Auslöser
OK (0)Alles in OrdnungWert innerhalb beider Schwellwerte
WARNING (1)Warnschwelle überschrittenWert zwischen Warning- und Critical-Schwelle
CRITICAL (2)Kritischer ZustandWert jenseits der Critical-Schwelle
UNKNOWN (3)Kein ErgebnisSNMP Timeout, OID nicht gefunden, Plugin-Fehler

2. Voraussetzungen

  • Nagios Core 4.x oder Nagios XI (aktuelle Version) mit Administrator-Zugriff
  • Nagios-Server: Linux (Debian/Ubuntu oder RHEL/CentOS)
  • Pakete nagios-plugins und snmp auf dem Nagios-Server installiert
  • Didactum Monitoring-Gerät im Netzwerk erreichbar, SNMP aktiviert
  • Netzwerkkommunikation: UDP Port 161 vom Nagios-Server zum Didactum-Gerät freigegeben
  • SNMP-Community-String bekannt (Standard: public)
  • Optional: Didactum MIB-Datei für lesbare OID-Namen

Beispiel-Netzwerkkonfiguration

GerätIP-AdresseRolle
Nagios-Server192.168.1.20Monitoring-Server
Didactum Monitoring Unit192.168.1.100Überwachtes Gerät

3. SNMP-Vorbereitung am Didactum-Gerät

3.1 SNMP aktivieren

  1. Didactum Web-Interface aufrufen: 192.168.1.100, Login mit Admin-Konto.
  2. Navigation: Einstellungen → Netzwerk → SNMP (oder: Settings → Network → SNMP).
  3. 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 Nagios-Servers (192.168.1.20) eintragen
  4. Einstellungen speichern.

Achtung: Den Standard-Community-String public in Produktivumgebungen ändern. Den gleichen String später in allen Nagios-Check-Kommandos verwenden.

3.2 Erreichbarkeit vom Nagios-Server testen

# SNMP Walk – alle verfügbaren OIDs auflisten:
snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854
 
# Einzelwert abfragen (Temperatur Sensor 1):
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 abfragen (Grundtest):
snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.1.1.0

4. SNMP-Plugins für Nagios installieren

4.1 Benötigte Pakete installieren

# Debian / Ubuntu:
sudo apt update
sudo apt install nagios-plugins nagios-plugins-extra snmp snmpd snmp-mibs-downloader -y
 
# RHEL / CentOS / Rocky Linux:
sudo dnf install nagios-plugins-all net-snmp net-snmp-utils -y

4.2 check_snmp-Plugin testen

# Plugin direkt aufrufen (Pfad je nach Distribution):
/usr/lib/nagios/plugins/check_snmp \
  -H 192.168.1.100 \
  -C public \
  -o 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 \
  -w 300 -c 350 \
  --label="Temperatur S1"

Erwartete Ausgabe bei 23,5°C (Rohwert 235):

OK - Temperatur S1: 235 | Temperatur S1=235;300;350

4.3 Didactum MIB-Datei einbinden (optional)

# MIB-Datei ins SNMP-MIB-Verzeichnis kopieren:
sudo cp DIDACTUM-RACKMONI2-MIB.mib /usr/share/snmp/mibs/
 
# MIBs in /etc/snmp/snmp.conf aktivieren:
echo "mibs +DIDACTUM-RACKMONI2-MIB" | sudo tee -a /etc/snmp/snmp.conf
 
# Test mit MIB-Namen statt OID-Nummer:
snmpget -v2c -c public -m +DIDACTUM-RACKMONI2-MIB 192.168.1.100 tempValue.1
Hinweis:
  • Name der .mib-Datei (auf dem Didactum Gerät nachschauen) kann varieren

5. Host-Definition in Nagios

5.1 Konfigurationsdatei anlegen

Neue Konfigurationsdatei für das Didactum-Gerät erstellen:

sudo nano /etc/nagios/conf.d/didactum.cfg

5.2 Host-Definition

define host {
    use                     generic-host
    host_name               didactum-rack01
    alias                   Didactum Rack Monitoring Unit – Serverraum A
    address                 192.168.1.100
    check_command           check-host-alive
    max_check_attempts      3
    check_interval          5
    retry_interval          1
    check_period            24x7
    notification_interval   60
    notification_period     24x7
    notifications_enabled   1
    contact_groups          admins
    notes                   Didactum Rack Monitoring Unit II – SNMP v2c
    icon_image              server.png
    statusmap_image         server.gd2
}

5.3 Host-Gruppe für alle Didactum-Geräte

define hostgroup {
    hostgroup_name          didactum-devices
    alias                   Didactum Monitoring Geräte
    members                 didactum-rack01, didactum-rack02
}

6. Service-Definitionen für Sensoren

6.1 Command-Definition für SNMP-Checks

Zuerst ein wiederverwendbares Check-Kommando definieren. In /etc/nagios/conf.d/didactum.cfg oder commands.cfg einfügen:

# Allgemeines SNMP-Check-Kommando:
define command {
    command_name    check_snmp_didactum
    command_line    $USER1$/check_snmp \
                    -H $HOSTADDRESS$ \
                    -C $ARG1$ \
                    -o $ARG2$ \
                    -w $ARG3$ \
                    -c $ARG4$ \
                    $ARG5$
}
 
# SNMP-Check mit Faktor (für Temperatur × 10):
define command {
    command_name    check_snmp_didactum_factor
    command_line    $USER1$/check_snmp \
                    -H $HOSTADDRESS$ \
                    -C $ARG1$ \
                    -o $ARG2$ \
                    -w $ARG3$ \
                    -c $ARG4$ \
                    --label="$ARG5$" \
                    -u "$ARG6$"
}
 
# SNMP-Status-Check (0 = OK, alles andere = Problem):
define command {
    command_name    check_snmp_status
    command_line    $USER1$/check_snmp \
                    -H $HOSTADDRESS$ \
                    -C $ARG1$ \
                    -o $ARG2$ \
                    -w 0:0 \
                    -c 1:
}}

Hinweis: 

$USER1$ ist typischerweise /usr/lib/nagios/plugins – in /etc/nagios/resource.cfg nachsehen oder anpassen.

6.2 Temperatursensoren überwachen

Didactum gibt Temperaturwerte mit Faktor 10 zurück (235 = 23,5°C). 

Die Warning-/Critical-Werte in den Checks müssen daher ebenfalls × 10 angegeben werden:

# Temperatur Sensor 1 (Warning bei 30 °C, Critical bei 35 °C):
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Temperatur Sensor 1 – Rack-Front
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1!300!350!--label="Temp S1 (×10)"
    check_interval          5
    retry_interval          1
    max_check_attempts      3
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
    notes                   Rohwert × 10 – Wert 300 = 30 °C, 350 = 35 °C
}
 
# Temperatur Sensor 2 – Rack-Rückseite:
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Temperatur Sensor 2 – Rack-Rückseite
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.16.1.3.2!300!350!--label="Temp S2 (×10)"
    check_interval          5
    retry_interval          1
    max_check_attempts      3
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
}
 
# Temperatur-Status Sensor 1 (0=OK, 1=Warn, 2=Alarm):
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Temperatur Status Sensor 1
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.16.1.4.1
    check_interval          2
    retry_interval          1
    max_check_attempts      2
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
}

6.3 Leckagesensoren überwachen

Leckage-Status: Wert 0 = kein Wasser, Wert 1 = Leckage erkannt. Sofortige Alarmierung ohne Warning-Stufe empfohlen:

# Leckage Sensor 1 – Sofortalarm bei Wert > 0:
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Leckage Sensor 1 – Bodenbereich
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1
    check_interval          1
    retry_interval          1
    max_check_attempts      1
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
    notes                   0 = trocken, 1 = Leckage erkannt – SOFORTALARM
    first_notification_delay  0
}
 
# Leckage Sensor 2:
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Leckage Sensor 2 – Kabelkanal
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.18.1.4.2
    check_interval          1
    retry_interval          1
    max_check_attempts      1
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
}

6.4 Luftfeuchtigkeitssensoren überwachen

# Luftfeuchtigkeit Sensor 1 (Warning 70 %, Critical 80 %):
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Luftfeuchtigkeit Sensor 1
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.17.1.3.1!20:70!10:80!--label="Humidity S1" -u "%rF"
    check_interval          5
    retry_interval          1
    max_check_attempts      3
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
    notes                   Bereich: 20–80 % rF (ASHRAE-Empfehlung)
}

6.5 Spannungssensoren überwachen

Spannung wird ebenfalls mit Faktor 10 geliefert (2298 = 229,8 V):

# Spannung Sensor 1 (Warning außerhalb 207–253 V, Critical außerhalb 196–260 V):
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Spannung Sensor 1 – PDU Eingang
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.15.1.3.1!2070:2530!1960:2600!--label="Voltage S1 (×10)"
    check_interval          5
    retry_interval          1
    max_check_attempts      3
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
    notes                   Rohwert × 10 – EN 50160: 207–253 V (±10 %)
}

6.6 Türkontakte und weitere Sensoren

# Türkontakt Sensor 1 (0=geschlossen, 1=offen):
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Türkontakt Rack-Tür vorne
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.10.1.3.1
    check_interval          1
    retry_interval          1
    max_check_attempts      1
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
    notes                   0 = geschlossen (OK), 1 = offen (CRITICAL)
}
 
# Rauchmelder Sensor 1:
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Rauchmelder Sensor 1
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.14.1.3.1
    check_interval          1
    retry_interval          1
    max_check_attempts      1
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
}
 
# System Uptime:
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Didactum System Uptime
    check_command           check_snmp_didactum!public!1.3.6.1.2.1.1.3.0!0:!0:!--label="Uptime"
    check_interval          60
    retry_interval          5
    max_check_attempts      3
    check_period            24x7
    notification_period     24x7
    contact_groups          admins
}

6.7 Service-Gruppe für alle Didactum-Checks

define servicegroup {
    servicegroup_name       didactum-sensors
    alias                   Didactum Sensor-Überwachung
    members                 didactum-rack01,Temperatur Sensor 1 – Rack-Front, \
                            didactum-rack01,Temperatur Sensor 2 – Rack-Rückseite, \
                            didactum-rack01,Leckage Sensor 1 – Bodenbereich, \
                            didactum-rack01,Luftfeuchtigkeit Sensor 1, \
                            didactum-rack01,Spannung Sensor 1 – PDU Eingang
}

7. OID-Referenz für Nagios-Checks

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.).

7.1 Temperatursensoren

OIDBeschreibungEinheitNagios Warning-BeispielNagios Critical-Beispiel
1.3.6.1.4.1.3854.1.2.2.1.16.1.3.{n}Temperaturwert Sensor n°C × 10300 (= 30 °C)350 (= 35 °C)
1.3.6.1.4.1.3854.1.2.2.1.16.1.4.{n}Temperatur-Status Sensor nEnum 0/1/20:01:
1.3.6.1.4.1.3854.1.2.2.1.16.1.7.{n}Oberer Grenzwert Sensor n°C × 10
1.3.6.1.4.1.3854.1.2.2.1.16.1.8.{n}Unterer Grenzwert Sensor n°C × 10
1.3.6.1.4.1.3854.1.2.2.1.16.1.2.{n}Sensor-NameText

7.2 Leckagesensoren

OIDBeschreibungEinheitNagios WarningNagios Critical
1.3.6.1.4.1.3854.1.2.2.1.18.1.4.{n}Leckage-Status Sensor nEnum 0/11:
1.3.6.1.4.1.3854.1.2.2.1.18.1.3.{n}Leckage-Wert Sensor n0 = trocken1:
1.3.6.1.4.1.3854.1.2.2.1.18.1.2.{n}Sensor-NameText

7.3 Luftfeuchtigkeitssensoren

OIDBeschreibungEinheitNagios Warning-BeispielNagios Critical-Beispiel
1.3.6.1.4.1.3854.1.2.2.1.17.1.3.{n}Luftfeuchtigkeitswert Sensor n% rF20:7010:80
1.3.6.1.4.1.3854.1.2.2.1.17.1.4.{n}Luftfeuchtigkeits-Status Sensor nEnum 0/1/20:01:
1.3.6.1.4.1.3854.1.2.2.1.17.1.7.{n}Oberer Grenzwert Sensor n% rF
1.3.6.1.4.1.3854.1.2.2.1.17.1.8.{n}Unterer Grenzwert Sensor n% rF

7.4 Weitere Sensoren

OIDBeschreibungEinheitNagios WarningNagios Critical
1.3.6.1.4.1.3854.1.2.2.1.15.1.3.{n}Spannungswert Sensor nV × 102070:25301960:2600
1.3.6.1.4.1.3854.1.2.2.1.15.1.4.{n}Spannungs-Status Sensor nEnum 0/1/20:01:
1.3.6.1.4.1.3854.1.2.2.1.10.1.3.{n}Türkontakt-Status n0=zu, 1=offen1:
1.3.6.1.4.1.3854.1.2.2.1.11.1.3.{n}Erschütterung / Bewegung n0=keine, 1=Alarm1:
1.3.6.1.4.1.3854.1.2.2.1.14.1.3.{n}Rauchmelder-Status n0=OK, 1=Alarm1:
1.3.6.1.2.1.1.3.0System UptimeHundertstelsek.
1.3.6.1.2.1.1.1.0Gerätebeschreibung (sysDescr)Text

7.5 Nagios-Schwellwertformat (Kurzreferenz)

FormatBedeutungBeispiel
nAlarm wenn Wert > n350 = Alarm über 350
n:Alarm wenn Wert < n50: = Alarm unter 50
n:mOK wenn n ≤ Wert ≤ m200:800 = OK zwischen 200 und 800
@n:mAlarm wenn n ≤ Wert ≤ m (invertiert)@0:0 = Alarm wenn Wert nicht 0
0:0OK nur bei Wert = 0Für Status-OIDs (0=OK)
1:Alarm wenn Wert ≥ 1Für Leckage, Rauch, Türkontakt

8. SNMP-Trap-Integration

Neben dem aktiven Polling kann Nagios auch passiv SNMP-Traps vom Didactum-Gerät empfangen. 

Das Gerät sendet dann bei Ereignissen (z.Bsp. Leckage erkannt) sofort einen Trap – ohne auf den nächsten Polling-Zyklus zu warten.

8.1 snmptrapd installieren und konfigurieren

# Debian / Ubuntu:
sudo apt install snmptrapd -y
 
# Konfigurationsdatei öffnen:
sudo nano /etc/snmp/snmptrapd.conf

Folgendes eintragen:

# Community-String für eingehende Traps:
authCommunity log,execute,net public
 
# Trap-Handler für Didactum-Traps:
traphandle 1.3.6.1.4.1.3854 /usr/local/bin/didactum_trap_handler.sh
 
# Logging:
doNotLogTraps no
outputOption fq

8.2 snmptrapd aktivieren

# Dienst aktivieren und starten:
sudo systemctl enable snmptrapd
sudo systemctl start snmptrapd
 
# Status prüfen:
sudo systemctl status snmptrapd

8.3 Nagios passive Check-Ergebnisse via NSCA

Traps können über NSCA (Nagios Service Check Acceptor) als passive Check-Ergebnisse an Nagios übermittelt werden:

# NSCA installieren:
sudo apt install nsca -y
 
# Trap-Handler-Skript erstellen:
sudo nano /usr/local/bin/didactum_trap_handler.sh
#!/bin/bash
# Didactum SNMP Trap Handler für Nagios
# Empfängt Trap-Daten und leitet sie als passive Checks weiter
 
NAGIOS_HOST="didactum-rack01"
NSCA_HOST="127.0.0.1"
NSCA_PORT="5667"
SEND_NSCA="/usr/sbin/send_nsca"
 
# Trap-OID und Wert aus snmptrapd-Input lesen:
TRAP_OID="$1"
TRAP_VALUE="$2"
 
# Leckage-Trap:
if echo "$TRAP_OID" | grep -q "1.3.6.1.4.1.3854.1.7.2"; then
    echo "$NAGIOS_HOST\tLeckage Sensor 1 – Bodenbereich\t2\tCRITICAL: Leckage erkannt!" \
    | $SEND_NSCA -H $NSCA_HOST -p $NSCA_PORT
fi
 
# Temperatur-Alarm-Trap:
if echo "$TRAP_OID" | grep -q "1.3.6.1.4.1.3854.1.7.1"; then
    echo "$NAGIOS_HOST\tTemperatur Sensor 1 – Rack-Front\t2\tCRITICAL: Temperaturalarm ausgelöst!" \
    | $SEND_NSCA -H $NSCA_HOST -p $NSCA_PORT
fi
sudo chmod +x /usr/local/bin/didactum_trap_handler.sh

8.4 Wichtige Didactum Trap-OIDs

Trap-OIDEreignisEmpfohlene Nagios-Reaktion
1.3.6.1.4.1.3854.1.7.1Temperatur-AlarmCRITICAL, sofortige Benachrichtigung
1.3.6.1.4.1.3854.1.7.2Leckage-AlarmCRITICAL, sofortige Benachrichtigung
1.3.6.1.4.1.3854.1.7.3Luftfeuchtigkeits-AlarmWARNING oder CRITICAL
1.3.6.1.4.1.3854.1.7.4Spannungs-AlarmCRITICAL, sofortige Benachrichtigung
1.3.6.1.4.1.3854.1.7.10Türkontakt geöffnetWARNING oder CRITICAL (je nach Policy)
1.3.6.1.4.1.3854.1.7.99Gerät-NeustartWARNING, Logging

Am Didactum-Gerät: 

Trap-Receiver-IP = IP des Nagios-Servers, Port 162 (UDP) eintragen unter Einstellungen → Netzwerk → SNMP → Trap Receiver.

9. Benachrichtigungen konfigurieren

9.1 Kontakt-Definition

define contact {
    contact_name                    it-admin
    alias                           IT-Administrator
    use                             generic-contact
    email                           admin@example.com
    pager                           +4915112345678
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
}

9.2 Kontaktgruppe

define contactgroup {
    contactgroup_name       admins
    alias                   IT-Administratoren
    members                 it-admin
}

9.3 Empfohlene Benachrichtigungseinstellungen für Leckage

# Für Leckage-Services: Sofortige Benachrichtigung, kein Delay:
define service {
    use                         generic-service
    host_name                   didactum-rack01
    service_description         Leckage Sensor 1 – Bodenbereich
    check_command               check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1
    check_interval              1
    max_check_attempts          1
    first_notification_delay    0
    notification_interval       5
    notification_period         24x7
    contact_groups              admins
}

9.4 Empfohlene Grenzwerte

SensortypWarning (Nagios)Critical (Nagios)Norm
Temperatur IT-Rack (Rohwert × 10)300 (30 °C)350 (35 °C)ASHRAE A1: 15–32 °C
Temperatur USV-Raum (Rohwert × 10)250 (25 °C)300 (30 °C)Herstellervorgabe
Luftfeuchtigkeit20:7010:80ASHRAE: 20–80 % rF
Leckage1:Sofortalarm
Spannung 230 V AC (Rohwert × 10)2070:25301960:2600EN 50160 ±10 %
Türkontakt1:Policy-abhängig

10. Fehlerbehebung (Troubleshooting)

ProblemMögliche Ursache / Lösung
check_snmp liefert UNKNOWN / TimeoutFirewall: UDP Port 161 vom Nagios-Server zum Didactum-Gerät freigegeben? SNMP am Gerät aktiviert? Community-String korrekt? IP-Adresse in der Nagios-Host-Definition stimmt?
Falscher Messwert (z. B. 235 statt 23,5)Didactum liefert Temperatur × 10. Schwellwerte in der Check-Konfiguration ebenfalls × 10 angeben (Warning 300 = 30 °C). Eine Skalierung direkt in check_snmp ist nicht möglich – Rohwerte vergleichen.
OID liefert „No Such Object"Sensor nicht angeschlossen oder falscher Index. snmpwalk auf dem Nagios-Server ausführen, um vorhandene OIDs zu ermitteln.
Nagios-Konfiguration wird nicht übernommenKonfiguration prüfen: sudo nagios -v /etc/nagios/nagios.cfg. Danach Nagios neu laden: sudo systemctl reload nagios.
Traps kommen nicht anUDP Port 162 auf dem Nagios-Server in der Firewall öffnen. snmptrapd-Dienst läuft? Korrekte IP des Nagios-Servers im Didactum-Gerät als Trap-Receiver eingetragen?
Service immer CRITICAL trotz OK-WertSchwellwertformat prüfen (Nagios-Range-Syntax). Für Status-OIDs -w 0:0 -c 1: verwenden. Rohwert mit snmpget direkt kontrollieren.
Keine Benachrichtigungen bei AlarmKontakt und Kontaktgruppe korrekt zugeordnet? notifications_enabled 1 gesetzt? Benachrichtigungsperiode aktiv? Nagios-Log prüfen: /var/log/nagios/nagios.log.
check_snmp: Permission deniedPlugin-Datei ausführbar? chmod +x /usr/lib/nagios/plugins/check_snmp. Läuft Nagios als korrekter Benutzer (nagios)?

Diagnose-Befehle Übersicht

# Nagios-Konfiguration auf Fehler prüfen:
sudo nagios -v /etc/nagios/nagios.cfg
 
# Nagios-Dienst neu laden (nach Konfigurationsänderungen):
sudo systemctl reload nagios
 
# SNMP-Erreichbarkeit testen:
snmpwalk -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854
 
# Einzelnen OID-Wert abfragen:
snmpget -v2c -c public 192.168.1.100 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1
 
# check_snmp-Plugin direkt testen:
/usr/lib/nagios/plugins/check_snmp \
  -H 192.168.1.100 -C public \
  -o 1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1 \
  -w 300 -c 350
 
# Nagios-Log in Echtzeit verfolgen:
sudo tail -f /var/log/nagios/nagios.log
 
# snmptrapd-Log prüfen:
sudo journalctl -u snmptrapd -f
 
# Firewall-Port für SNMP freigeben (ufw):
sudo ufw allow 161/udp
sudo ufw allow 162/udp

Komplette didactum.cfg – Vorlage

Fertige Konfigurationsdatei als Startvorlage für einen Didactum-Host mit den wichtigsten Sensoren:

################################################################################
# Didactum Monitoring Integration – Nagios Konfiguration
# Datei: /etc/nagios/conf.d/didactum.cfg
# Anpassen: IP-Adresse, Community-String, Sensor-Anzahl
################################################################################
 
# ── HOST ──────────────────────────────────────────────────────────────────────
define host {
    use                     generic-host
    host_name               didactum-rack01
    alias                   Didactum Rack Monitoring – Serverraum A
    address                 192.168.1.100
    check_command           check-host-alive
    max_check_attempts      3
    check_interval          5
    notification_period     24x7
    contact_groups          admins
}
 
# ── COMMANDS ──────────────────────────────────────────────────────────────────
define command {
    command_name    check_snmp_didactum
    command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$ -w $ARG3$ -c $ARG4$ $ARG5$
}
 
define command {
    command_name    check_snmp_status
    command_line    $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -o $ARG2$ -w 0:0 -c 1:
}
 
# ── SERVICES ──────────────────────────────────────────────────────────────────
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Temperatur Sensor 1 – Rack-Front
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.16.1.3.1!300!350!
    check_interval          5
    max_check_attempts      3
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Temperatur Sensor 2 – Rack-Rückseite
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.16.1.3.2!300!350!
    check_interval          5
    max_check_attempts      3
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Leckage Sensor 1 – Bodenbereich
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.18.1.4.1
    check_interval          1
    max_check_attempts      1
    first_notification_delay  0
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Luftfeuchtigkeit Sensor 1
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.17.1.3.1!20:70!10:80!
    check_interval          5
    max_check_attempts      3
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Spannung Sensor 1 – PDU Eingang
    check_command           check_snmp_didactum!public!1.3.6.1.4.1.3854.1.2.2.1.15.1.3.1!2070:2530!1960:2600!
    check_interval          5
    max_check_attempts      3
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Türkontakt Rack-Tür vorne
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.10.1.3.1
    check_interval          1
    max_check_attempts      1
    contact_groups          admins
}
 
define service {
    use                     generic-service
    host_name               didactum-rack01
    service_description     Rauchmelder Sensor 1
    check_command           check_snmp_status!public!1.3.6.1.4.1.3854.1.2.2.1.14.1.3.1
    check_interval          1
    max_check_attempts      1
    contact_groups          admins
}

Für firmware-spezifische OIDs und unterstützte Sensortypen immer die aktuelle Didactum-Gerätedokumentation konsultieren.

Diese Webseite nutzt Cookies

Diese Webseite nutzt Cookies zur Verbesserung des Erlebnisses unserer Besucher. Indem Sie weiterhin auf dieser Webseite navigieren, erklären Sie sich mit unserer Verwendung von Cookies einverstanden.

Essenzielle Cookies ermöglichen grundlegende Funktionen und sind für die einwandfreie Funktion der Website erforderlich.
Statistik Cookies erfassen Informationen anonym. Diese Informationen helfen uns zu verstehen, wie unsere Besucher unsere Website nutzen.
Marketing-Cookies werden von Drittanbietern oder Publishern verwendet, um personalisierte Werbung anzuzeigen. Sie tun dies, indem sie Besucher über Websites hinweg verfolgen.