Didactum Monitoring und GroundWork Monitor Integration
Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten und Sensoren in GroundWork Monitor via SNMP – inklusive Host-Profil, Command-Konfiguration, Service-Checks für alle Sensortypen, SNMP Trap-Integration via SNMPTT und E-Mail-Alarmierung.
Architektur-Hinweis:
GroundWork Monitor nutzt Nagios als Polling- und Notification-Engine sowie Nagios-Plugins für die Ausführung von Service-Checks. Für SNMP-Abfragen ruft Nagios einen lokalen SNMP-Client auf und übergibt Host-Adresse sowie OID. Die Konfiguration erfolgt wahlweise über das grafische Monarch-Web-Interface oder direkt als Nagios-Konfigurationsdateien.
- Software: GroundWork Monitor (Open Source oder Enterprise Edition)
- Engine: Nagios + Monarch (Web-Konfigurations-Tool)
- SNMP Traps: SNMPTT (SNMP Trap Translator)
- Protokoll: SNMP v1 / v2c / v3
- Geräte: Didactum Monitoring System 100 / 500T / 500 II
- Sensoren: Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch
1. Voraussetzungen und Systemüberblick
GroundWork Monitor Server
- GroundWork Monitor installiert (Open Source oder Enterprise)
- Web-Interface (Monarch) erreichbar: <Server-IP>/monarch
- Status-Konsole erreichbar: <Server-IP>/gwos
- UDP-Port 161 ausgehend für SNMP Polling geöffnet
- UDP-Port 162 eingehend für SNMP Traps geöffnet (Enterprise Edition)
- Netzwerkzugang zum Didactum-Gerät
Didactum-Gerät
- Monitoring System 100T, 300T, 500T oder 550T
- SNMP aktiviert (v2c empfohlen)
- Gerät per ICMP vom GroundWork-Server erreichbar
- MIB-Datei im Web-Interface verfügbar
Architektur & Datenfluss
[GroundWork Monitor Server] [Didactum Monitoring System]
IP: 192.168.1.10 IP: 192.168.1.50
/usr/groundwork/
Monarch (Web-Konfig)
Nagios (Polling-Engine)
SNMPTT (Trap-Handler)
--check_snmp UDP/161-->
<--SNMP Traps UDP/162--
Wichtige GroundWork-Pfade
/usr/groundwork/nagios/etc/ <-- Nagios-Konfiguration /usr/groundwork/nagios/etc/objects/ <-- Hosts, Services, Commands /usr/groundwork/etc/snmptt/ <-- SNMPTT-Konfiguration /usr/share/snmp/mibs/ <-- MIB-Dateien /usr/groundwork/nagios/plugins/ <-- Nagios-Plugins (check_snmp)
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) |
| Community String | didactum_groundwork (nicht „public" verwenden!) |
| SNMP-Port | 161 |
| Trap-Empfänger IP | 192.168.1.10 (IP des GroundWork-Servers) |
| Trap-Port | 162 |
| Trap-Version | v2c |
SNMPv3-Einstellungen (optional)
| Feld | Wert |
|---|---|
| Security Name | groundwork_user |
| Auth-Protokoll | SHA |
| Auth-Passwort | mind. 8 Zeichen |
| Priv-Protokoll | AES |
| Priv-Passwort | mind. 8 Zeichen |
| Security Level | authPriv |
Pakete & Plugins auf dem GroundWork-Server installieren
# SNMP-Tools und Plugins installieren
sudo apt update
sudo apt install -y snmp snmp-mibs-downloader \
nagios-plugins monitoring-plugins
# check_snmp Plugin testen
/usr/lib/nagios/plugins/check_snmp --help | head -5
# Alternative: GroundWork-eigener Plugin-Pfad
ls /usr/groundwork/nagios/plugins/check_snmp
SNMP-Verbindung zum Didactum-Gerät vorab testen:
# Alle Sensor-Werte auflisten
snmpwalk -v 2c -c didactum_groundwork 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1
# Temperaturwert (Rohwert ÷ 10 = Grad Celsius)
snmpget -v 2c -c didactum_groundwork 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.7.101001
4. MIB-Datei installieren
Schritt 1 – MIB aus dem Didactum Web-Interface laden
Systemeinstellungen → SNMP → "MIB-Datei herunterladen" → didactum.mib
Schritt 2 – MIB auf dem GroundWork-Server installieren
sudo cp didactum.mib /usr/share/snmp/mibs/
echo "mibdirs /usr/share/snmp/mibs" | sudo tee -a /etc/snmp/snmp.conf
echo "mibs ALL" | sudo tee -a /etc/snmp/snmp.conf
# Test mit MIB-Namen
snmpwalk -v 2c -c didactum_groundwork -m ALL 192.168.1.50 \
DIDACTUM-MIB::sensorValue
Schritt 3 – MIB für SNMPTT bereitstellen (Trap-Empfang)
sudo cp didactum.mib /usr/groundwork/etc/snmptt/mibs/ # oder: sudo cp didactum.mib /usr/share/snmp/mibs/
5. check_snmp-Commands in Monarch definieren
Variante A – Über das Monarch Web-Interface
Monarch → Configuration → Commands → Add Command
Command: Didactum Temperatur
| Feld | Wert |
|---|---|
| Command Name | check_didactum_temperature |
| Command Type | check |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w $ARG3$ -c $ARG4$ -l "Temperatur" -u "0.1Grad" |
Command: Didactum Leckage
| Feld | Wert |
|---|---|
| Command Name | check_didactum_leakage |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w 0:0 -c 1:1 -l "Leckage" |
Command: Didactum Sensor-Status
| Feld | Wert |
|---|---|
| Command Name | check_didactum_status |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w 0:0 -c 1:2 -l "$ARG3$" |
Command: Didactum Luftfeuchtigkeit
| Feld | Wert |
|---|---|
| Command Name | check_didactum_humidity |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $ARG1$ -P 2 -o $ARG2$ -w $ARG3$ -c $ARG4$ -l "Luftfeuchtigkeit" -u "%" |
Variante B – Direkt als Nagios-Konfigurationsdatei
sudo nano /usr/groundwork/nagios/etc/objects/didactum-commands.cfg
# ================================================================
# Didactum SNMP Check-Commands
# Datei: /usr/groundwork/nagios/etc/objects/didactum-commands.cfg
# ================================================================
# ARG1=Community, ARG2=OID, ARG3=Warning, ARG4=Critical
define command {
command_name check_didactum_temperature
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w $ARG3$ -c $ARG4$ \
-l "Temperatur" -u "0.1Grad"
}
# ARG1=Community, ARG2=OID
define command {
command_name check_didactum_leakage
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 0:0 -c 1:1 -l "Leckage"
}
# ARG1=Community, ARG2=OID, ARG3=Label
define command {
command_name check_didactum_status
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 0:0 -c 1:2 -l "$ARG3$"
}
# ARG1=Community, ARG2=OID, ARG3=Warning, ARG4=Critical
define command {
command_name check_didactum_humidity
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w $ARG3$ -c $ARG4$ \
-l "Luftfeuchtigkeit" -u "%"
}
# ARG1=Community, ARG2=OID
define command {
command_name check_didactum_door
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG1$ -P 2 -o $ARG2$ \
-w 1:1 -l "Tuerkonakt"
}
6. Host-Profil für Didactum anlegen (Monarch)
Host-Profile in Monarch bündeln Host-Template und Service-Profile für die Wiederverwendung bei mehreren Geräten.
Schritt 1 – Host-Template anlegen
Monarch → Configuration → Host Templates → Add Template
| Feld | Wert |
|---|---|
| Name | didactum-monitoring-template |
| Check Command | check-host-alive |
| Max Check Attempts | 3 |
| Check Interval | 5 |
| Retry Interval | 1 |
| Check Period | 24x7 |
| Notification Interval | 60 |
| Notification Period | 24x7 |
| Notification Options | d, u, r |
Schritt 2 – Service-Profile für Didactum anlegen
Monarch → Configuration → Service Profiles → Add Profile Profile Name: Didactum-Sensoren Description: SNMP Service-Checks für Didactum Monitoring System
Alle Didactum-Services diesem Profil zuweisen (nach Anlage der Services in Abschnitt 8).
Schritt 3 – Host-Profil anlegen
Monarch → Configuration → Host Profiles → Add Profile Profile Name: Didactum-Monitoring-System Host Template: didactum-monitoring-template Service Profile: Didactum-Sensoren
7. Didactum-Host einbinden
Variante A – Über Monarch Web-Interface
Monarch → Configuration → Hosts → Add Host
| Feld | Wert |
|---|---|
| Host Name | didactum-monitor-01 |
| Alias | Didactum Monitoring System 01 |
| IP Address | 192.168.1.50 |
| Host Profile | Didactum-Monitoring-System |
| Contact Groups | admins |
| Host Groups | Didactum-Monitoring (neue Gruppe anlegen) |
Auf Save klicken.
Variante B – Als Nagios-Konfigurationsdatei
sudo nano /usr/groundwork/nagios/etc/objects/didactum-hosts.cfg
# ================================================================
# Didactum Host-Konfiguration
# Datei: /usr/groundwork/nagios/etc/objects/didactum-hosts.cfg
# ================================================================
define host {
use didactum-monitoring-template
host_name didactum-monitor-01
alias Didactum Monitoring System 01
address 192.168.1.50
contact_groups admins
hostgroups didactum-monitoring
}
define hostgroup {
hostgroup_name didactum-monitoring
alias Didactum Monitoring Geräte
members didactum-monitor-01
}
8. Service-Checks für alle Sensortypen anlegen
Variante A – Über Monarch Web-Interface
Monarch → Configuration → Services → Add Service
Service: Temperatursensor
| Feld | Wert |
|---|---|
| Service Name | Didactum-Temperatur-Sensor-01 |
| Host Name | didactum-monitor-01 |
| Check Command | check_didactum_temperature |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| ARG3 (Warning) | 280 (= 28,0 °C – Rohwert × 10) |
| ARG4 (Critical) | 350 (= 35,0 °C – Rohwert × 10) |
| Check Interval | 5 Minuten |
| Max Check Attempts | 3 |
| Service Groups | Didactum-Sensoren |
Service: Leckagesensor
| Feld | Wert |
|---|---|
| Service Name | Didactum-Leckage-Sensor-01 |
| Check Command | check_didactum_leakage |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Check Interval | 2 Minuten |
| Max Check Attempts | 1 (sofort kritisch) |
Service: Temperatursensor-Status
| Feld | Wert |
|---|---|
| Service Name | Didactum-Temp-Status-Sensor-01 |
| Check Command | check_didactum_status |
| ARG1 (Community) | didactum_groundwork |
| ARG2 (OID) | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| ARG3 (Label) | Temp-Status |
Service: Luftfeuchtigkeit
| Feld | Wert |
|---|---|
| Service Name | Didactum-Luftfeuchtigkeit-Sensor-01 |
| Check Command | check_didactum_humidity |
| ARG1 | didactum_groundwork |
| ARG2 | .1.3.6.1.4.1.46501.5.1.1.7.102001 |
| ARG3 (Warning) | 80 |
| ARG4 (Critical) | 90 |
Service: Türkontakt
| Feld | Wert |
|---|---|
| Service Name | Didactum-Tuerkonakt-01 |
| Check Command | check_didactum_door |
| ARG1 | didactum_groundwork |
| ARG2 | .1.3.6.1.4.1.46501.5.1.1.7.104001 |
| Check Interval | 1 Minute |
Variante B – Alle Services als Nagios-Konfigurationsdatei
sudo nano /usr/groundwork/nagios/etc/objects/didactum-services.cfg
# ================================================================
# Didactum Service-Konfiguration
# Datei: /usr/groundwork/nagios/etc/objects/didactum-services.cfg
# WICHTIG: Temperaturschwellen sind Rohwerte × 10
# 28°C = 280, 35°C = 350
# ================================================================
define servicegroup {
servicegroup_name Didactum-Sensoren
alias Didactum Sensor-Services
}
# --- Temperaturmesswert ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Temperatur-Sensor-01
check_command check_didactum_temperature!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.101001!280!350
check_interval 5
retry_interval 1
max_check_attempts 3
notification_interval 60
notification_options w,c,r
contact_groups admins
servicegroups Didactum-Sensoren
}
# --- Temperatur-Status ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Temp-Status-Sensor-01
check_command check_didactum_status!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.6.101001!Temp-Status
check_interval 5
retry_interval 1
max_check_attempts 3
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensoren
}
# --- Leckagesensor ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Leckage-Sensor-01
check_command check_didactum_leakage!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.107001
check_interval 2
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensoren
}
# --- Luftfeuchtigkeit ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Luftfeuchtigkeit-Sensor-01
check_command check_didactum_humidity!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.102001!80!90
check_interval 5
retry_interval 1
max_check_attempts 3
notification_options w,c,r
contact_groups admins
servicegroups Didactum-Sensoren
}
# --- Türkontakt ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Tuerkonakt-01
check_command check_didactum_door!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.104001
check_interval 1
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options w,r
contact_groups admins
servicegroups Didactum-Sensoren
}
# --- Rauchmelder ---
define service {
use generic-service
host_name didactum-monitor-01
service_description Didactum-Rauchmelder-01
check_command check_didactum_leakage!didactum_groundwork!.1.3.6.1.4.1.46501.5.1.1.7.106001
check_interval 1
retry_interval 1
max_check_attempts 1
notification_interval 30
notification_options c,r
contact_groups admins
servicegroups Didactum-Sensoren
}
Konfiguration in nagios.cfg einbinden
sudo nano /usr/groundwork/nagios/etc/nagios.cfg
Folgende Zeilen hinzufügen:
cfg_file=/usr/groundwork/nagios/etc/objects/didactum-commands.cfg cfg_file=/usr/groundwork/nagios/etc/objects/didactum-hosts.cfg cfg_file=/usr/groundwork/nagios/etc/objects/didactum-services.cfg
9. SNMP Traps mit SNMPTT empfangen
SNMPTT (SNMP Trap Translator) ist ein in Perl geschriebener SNMP-Trap-Handler für den Einsatz mit dem Net-SNMP snmptrapd-Programm. SNMPTT unterstützt Linux, UNIX und Windows und kann Traps an Text-Log, Syslog, NT-Eventlog oder eine SQL-Datenbank senden sowie externe Programme aufrufen, um übersetzte Traps an E-Mail-Clients oder Nagios weiterzureichen.
Schritt 1 – SNMPTT installieren
sudo apt install snmptrapd snmptt -y
Schritt 2 – snmptrapd konfigurieren
sudo nano /etc/snmp/snmptrapd.conf
# Community String für Trap-Empfang authCommunity execute,log,net didactum_groundwork # Alle Traps an SNMPTT weiterleiten traphandle default /usr/sbin/snmptthandler
Schritt 3 – SNMPTT-Konfiguration für Didactum anlegen
sudo nano /usr/groundwork/etc/snmptt/snmptt.conf
Folgenden Block eintragen:
# ================================================================ # Didactum SNMP Trap Definitionen für SNMPTT # ================================================================ # Leckage-Trap: Wasser erkannt EVENT didactumLeakAlarm .1.3.6.1.4.1.46501.5.1.1.7.107001 "Status Events" Critical FORMAT DIDACTUM LECKAGE ALARM: Wasser erkannt – Sensor $2 – Wert: $4 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Leckage-Sensor-01" "2" "CRITICAL: Leckage erkannt – Wert: $4" SDESC Didactum Wassersensor hat Wasser erkannt (Wert = 1) EDESC # Temperatur-Alarm-Trap EVENT didactumTempAlarm .1.3.6.1.4.1.46501.5.1.1.6.101001 "Status Events" Critical FORMAT DIDACTUM TEMPERATUR ALARM: Sensor $2 – Status: $4 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Temp-Status-Sensor-01" "2" "CRITICAL: Temperatur-Alarm – Status: $4" SDESC Didactum Temperatursensor meldet Alarmzustand EDESC # Rauchmelder-Trap EVENT didactumSmokeAlarm .1.3.6.1.4.1.46501.5.1.1.7.106001 "Status Events" Critical FORMAT DIDACTUM RAUCHMELDER ALARM: Rauch erkannt – Sensor $2 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Rauchmelder-01" "2" "CRITICAL: Rauch erkannt!" SDESC Didactum Rauchmelder hat Rauch erkannt EDESC # Tür-Alarm-Trap EVENT didactumDoorAlarm .1.3.6.1.4.1.46501.5.1.1.7.104001 "Status Events" Warning FORMAT DIDACTUM TUER ALARM: Tuer geoeffnet – Sensor $2 EXEC /usr/groundwork/nagios/etc/snmptt-to-nagios.sh "didactum-monitor-01" "Didactum-Tuerkonakt-01" "1" "WARNING: Tür geöffnet" SDESC Didactum Türkontakt meldet geöffnete Tür EDESC
Schritt 4 – Nagios Passive Check Skript erstellen
sudo nano /usr/groundwork/nagios/etc/snmptt-to-nagios.sh
#!/bin/bash
# ================================================================
# SNMPTT → Nagios Passive Check Weiterleitung
# Argumente: $1=Hostname, $2=Service, $3=Status(0-3), $4=Meldung
# ================================================================
NAGIOS_CMD="/usr/groundwork/nagios/var/rw/nagios.cmd"
HOST="$1"
SERVICE="$2"
STATUS="$3"
MESSAGE="$4"
TIMESTAMP=$(date +%s)
if [ -p "$NAGIOS_CMD" ]; then
echo "[$TIMESTAMP] PROCESS_SERVICE_CHECK_RESULT;$HOST;$SERVICE;$STATUS;$MESSAGE" \
>> "$NAGIOS_CMD"
fi
sudo chmod +x /usr/groundwork/nagios/etc/snmptt-to-nagios.sh
Schritt 5 – Passive Services für Trap-Empfang anlegen
Folgendes in die Konfigurationsdatei eintragen (passiver Empfang ohne aktives Polling):
define service {
host_name didactum-monitor-01
service_description Didactum-SNMP-Trap-Empfaenger
check_command check_dummy!0!"Warte auf SNMP Traps"
active_checks_enabled 0
passive_checks_enabled 1
max_check_attempts 1
check_interval 10
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options c,r
contact_groups admins
}
Schritt 6 – Dienste starten
sudo systemctl enable snmptrapd snmptt sudo systemctl start snmptrapd snmptt
10. 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 (aktuell) | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
Sensortypen mit OIDs und Schwellwerten
| Sensortyp | Sensor-ID | OID Messwert | OID Status | check_snmp Schwellwert |
|---|---|---|---|---|
| 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 | -w 280 -c 350 (Rohwert × 10) |
| 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 | -w 280 -c 350 |
| 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 | -w 0:0 -c 1:1 |
| 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 | -w 80 -c 90 (direkt in %) |
| 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 | -w 1:1 (1=geschlossen=Warnung) |
| 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 | -w 1:1 (1=offen=Warnung) |
| 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 | -w 0:0 -c 1:1 |
Sensor-ID herausfinden:
Im Didactum Web-Interface unter Systembaum → Sensor auswählen → Details. Diese ID wird ans Ende der OID angehängt.
Temperaturschwellwerte:
Das Didactum-Gerät liefert Temperaturwerte als Rohwert × 10. 28,0 °C = OID-Wert 280. Alle check_snmp-Schwellwerte müssen daher ebenfalls × 10 angegeben werden.
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.
11. E-Mail-Alarmierung konfigurieren
Schritt 1 – Kontakt anlegen
Monarch → Configuration → Contacts → Add Contact
| Feld | Wert |
|---|---|
| Contact Name | admin |
| Alias | Administrator |
| admin@ihredomain.de | |
| Host Notification Period | 24x7 |
| Host Notification Options | d, u, r |
| Service Notification Period | 24x7 |
| Service Notification Options | w, c, r |
| Host Notification Commands | notify-host-by-email |
| Service Notification Commands | notify-service-by-email |
Schritt 2 – Kontaktgruppe anlegen
Monarch → Configuration → Contact Groups → Add Group Group Name: admins Alias: Administratoren Members: admin
Schritt 3 – Mailversand sicherstellen
sudo apt install postfix mailutils -y echo "Test GroundWork" | mail -s "Test" admin@ihredomain.de
Schritt 4 – GroundWork Notification-Commands prüfen
# Vorhandene Notification-Commands anzeigen:
grep -A5 "notify-service-by-email" \
/usr/groundwork/nagios/etc/objects/commands.cfg
12. Test und Fehlersuche
Nagios-Konfiguration validieren
# Konfiguration prüfen
sudo /usr/groundwork/nagios/bin/nagios -v \
/usr/groundwork/nagios/etc/nagios.cfg
# Erwartete Ausgabe: "Things look okay - No serious problems..."
# Nagios neu laden
sudo /usr/groundwork/bin/gwservices restart nagios
# oder:
sudo systemctl reload nagios
check_snmp direkt testen
# Temperaturwert (Rohwert ÷ 10 = Grad Celsius)
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_groundwork -P 2 \
-o .1.3.6.1.4.1.46501.5.1.1.7.101001 \
-w 280 -c 350 -l "Temperatur"
# Erwartete Ausgabe: SNMP OK - 235
# Leckage-Status
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_groundwork -P 2 \
-o .1.3.6.1.4.1.46501.5.1.1.7.107001 \
-w 0:0 -c 1:1 -l "Leckage"
# Erwartete Ausgabe bei trockenem Sensor: SNMP OK - 0
Service-Status in GroundWork prüfen
GroundWork Status-Konsole: 192.168.1.10/gwos → Services → Filter: Host = didactum-monitor-01 → Status aller Didactum-Services anzeigen
Fehlermeldungen und Lösungen
| Problem | Ursache & Lösung |
|---|---|
| check_snmp: No response | Firewall blockiert UDP 161; SNMP am Didactum nicht aktiv; Community String falsch |
| Service bleibt UNKNOWN | Plugin nicht gefunden; Plugin-Pfad in Command falsch → which check_snmp ausführen |
| Temperatur erscheint 10× zu hoch | Schwellwerte × 10 nicht berücksichtigt → -w 280 statt -w 28 eingeben |
| Nagios-Konfigurationsfehler beim Reload | nagios -v nagios.cfg ausführen und Fehler korrigieren |
| Keine E-Mail bei Alarm | Postfix läuft nicht; Kontakt hat keine E-Mail; Kontaktgruppe nicht dem Host/Service zugewiesen |
| SNMP-Trap kommt nicht an | snmptrapd läuft nicht; UDP 162 blockiert; SNMPTT nicht konfiguriert |
| Monarch zeigt Änderung nicht | Nach Monarch-Konfiguration immer „Commit" ausführen: Monarch → Commit → Deploy |
Logs einsehen
# Nagios Log sudo tail -f /usr/groundwork/nagios/var/nagios.log # SNMPTT Log sudo tail -f /var/log/snmptt/snmptt.log # GroundWork Application Log sudo tail -f /usr/groundwork/var/log/groundwork.log # Systemd Journal sudo journalctl -u nagios -f --since "1 hour ago"
Monarch-Konfiguration nach Änderungen deployen
Monarch → File → Commit (oder Revert) → "Deploy Configuration to Nagios" klicken → Nagios lädt Konfiguration automatisch neu
13. Abschluss-Checkliste
Didactum-Gerät
- SNMP aktiviert (v2c oder v3)
- Community String gesetzt (nicht „public"): didactum_groundwork
- Trap-Empfänger-IP auf GroundWork-Server gesetzt
- Trap-Port 162 eingetragen
- MIB-Datei heruntergeladen
- snmpwalk-Test vom GroundWork-Server erfolgreich
GroundWork Server – Pakete & MIB
- Pakete snmp, snmp-mibs-downloader, nagios-plugins installiert
- MIB-Datei unter /usr/share/snmp/mibs/ gespeichert
- check_snmp Plugin vorhanden und funktionsfähig
- UDP 161 ausgehend, UDP 162 eingehend geöffnet
Monarch / Nagios Konfiguration
- check_snmp-Commands für alle Sensortypen definiert
- Host-Template und Host-Profil für Didactum angelegt
- Host didactum-monitor-01 eingebunden
- Services für Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauchmelder angelegt
- Temperaturschwellwerte × 10 eingegeben (28°C = 280)
- Konfiguration mit nagios -v validiert (kein Fehler)
- Monarch: Commit und Deploy ausgeführt
- Status-Konsole: Alle Services sichtbar und grün
SNMP Traps (Enterprise Edition)
- snmptrapd und snmptt installiert und konfiguriert
- snmptt.conf: Didactum Trap-Definitionen eingetragen
- Nagios Passive Check Skript erstellt und ausführbar
- Passiver Service für Trap-Empfang angelegt
- Test-Trap empfangen und in Nagios sichtbar
Benachrichtigung
- Postfix / Mailversand funktioniert (Test-Mail erhalten)
- Kontakt mit E-Mail-Adresse angelegt
- Kontaktgruppe admins dem Host/Service zugewiesen
- Test-Alarm ausgelöst und E-Mail empfangen