Didactum Monitoring und isyVmon Integration
Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten und Sensoren in isyVmon via SNMP – inklusive Host-Anlage, Check-Kommandos, Service-Konfiguration, SNMP Traps und E-Mail-Alarmierung.
Hinweis zur Software: isyVmon basiert vollständig auf Nagios (Monitoring-Engine) und Centreon (Web-Interface). Alle hier beschriebenen Konfigurationsschritte gelten daher auch für reine Nagios- und Centreon-Installationen. Konfigurationsdateien und Menüpfade sind identisch.
- Software: isyVmon (iT-CUBE SYSTEMS) – basierend auf Nagios + Centreon
- Protokoll: SNMP v1 / v2c / v3 via check_snmp Plugin
- Geräte: Didactum Monitoring System 100T / 300T / 500T / 550T
- Sensoren: Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch
1. Voraussetzungen & Systemüberblick
isyVmon-Server
- isyVmon als Virtual Appliance oder Hardware Appliance installiert
- Web-Interface erreichbar (Standard: <Server-IP>/centreon)
- Nagios-Plugins installiert (Paket nagios-plugins oder monitoring-plugins)
- Paket snmp und snmp-mibs-downloader installiert
- UDP-Port 161 ausgehend geöffnet (SNMP Polling)
- UDP-Port 162 eingehend geöffnet (SNMP Traps)
Didactum-Gerät
- Monitoring System 100T / 300T / 500T oder 550T
- SNMP aktiviert (v2c oder v3)
- Netzwerkzugang zum isyVmon-Server
- MIB-Datei im Web-Interface verfügbar
Architektur
[isyVmon / Nagios + Centreon] [Didactum Monitoring System] IP: 192.168.1.10 IP: 192.168.1.50 Web: 192.168.1.10/centreon --SNMP Polling UDP 161--> <--SNMP Traps UDP 162---
Wichtige Verzeichnisse auf dem isyVmon-Server
/usr/local/nagios/etc/ <-- Nagios Konfiguration /usr/local/nagios/etc/objects/ <-- Hosts, Services, Commands /usr/lib/nagios/plugins/ <-- check_snmp und andere Plugins /usr/share/snmp/mibs/ <-- MIB-Dateien /var/log/nagios/nagios.log <-- Nagios Logfile
Hinweis:
Pfade können je nach isyVmon-Version und Installationstyp leicht abweichen. Alternative Pfade: /etc/nagios/, /etc/centreon/.
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 |
| Community String (v1/v2c) | didactum_isyvmon (nicht „public" verwenden!) |
| SNMP-Port | 161 |
| Trap-Empfänger IP | 192.168.1.10 (IP des isyVmon-Servers) |
| Trap-Port | 162 |
| Trap-Version | v2c |
SNMPv3-Einstellungen (optional, erhöhte Sicherheit)
| Feld | Wert |
|---|---|
| Security Name | isyvmon_user |
| Auth-Protokoll | SHA |
| Auth-Passwort | mind. 8 Zeichen |
| Priv-Protokoll | AES |
| Priv-Passwort | mind. 8 Zeichen |
| Security Level | authPriv |
3. Paketeund check_snmp Plugin prüfen
Schritt 1 – Auf dem isyVmon-Server per SSH einloggen
ssh root@192.168.1.10
Schritt 2 – SNMP-Pakete installieren
sudo apt update sudo apt install -y snmp snmp-mibs-downloader nagios-plugins # check_snmp verfügbar prüfen ls /usr/lib/nagios/plugins/check_snmp /usr/lib/nagios/plugins/check_snmp --help | head -10
Schritt 3 – SNMP-Verbindung zum Didactum-Gerät testen
# Alle Sensoren auflisten
snmpwalk -v 2c -c didactum_isyvmon 192.168.1.50 .1.3.6.1.4.1.46501
# Temperaturwert direkt abfragen (Rohwert ÷ 10 = Grad Celsius)
snmpget -v 2c -c didactum_isyvmon 192.168.1.50 \
.1.3.6.1.4.1.46501.5.1.1.7.101001
# check_snmp Plugin direkt testen
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_isyvmon -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
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 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_isyvmon -m ALL 192.168.1.50 \
DIDACTUM-MIB::sensorValue
5. SNMP-Community in isyVmon/Centreon hinterlegen
isyVmon (Centreon) verwaltet SNMP-Zugangsdaten als Makros, die Hosts und Kommandos zugewiesen werden.
Navigation im isyVmon/Centreon Web-Interface
Configuration → Commands → Macros
Oder direkt beim Host-Template (empfohlen):
Configuration → Hosts → Templates → "Didactum-Template" bearbeiten → Macros → Add Macro
| Makro-Name | Wert | Beschreibung |
|---|---|---|
| $_HOSTSNMPCOMMUNITY$ | didactum_isyvmon | Community String für SNMPv2c |
| $_HOSTSNMPVERSION$ | 2 | SNMP-Version (1, 2 oder 3) |
| $_HOSTSNMPPORT$ | 161 | SNMP-Port |
Für SNMPv3 zusätzlich:
| Makro-Name | Wert |
|---|---|
| $_HOSTSNMPUSER$ | isyvmon_user |
| $_HOSTSNMPAUTHPROTOCOL$ | SHA |
| $_HOSTSNMPAUTHPASS$ | Ihr Auth-Passwort |
| $_HOSTSNMPPRIVPROTOCOL$ | AES |
| $_HOSTSNMPPRIVPASS$ | Ihr Priv-Passwort |
6. Didactum-Host in isyVmon anlegen
Variante A – Über das Centreon Web-Interface (empfohlen)
Configuration → Hosts → Add
| Feld | Wert |
|---|---|
| Host Name | didactum-monitor-01 |
| Alias | Didactum Monitoring System 01 |
| IP Address / DNS | 192.168.1.50 |
| SNMP Community & Version | didactum_isyvmon / 2c |
| Monitored from | Central (oder gewünschter Poller) |
| Host Groups | Didactum-Monitoring (neue Gruppe anlegen) |
| Templates | generic-host oder eigenes Didactum-Template |
| Active Checks Enabled | Yes |
| Notifications Enabled | Yes |
| Notification Period | 24x7 |
Auf Save klicken.
Variante B – Direkt als Nagios-Konfigurationsdatei
sudo nano /usr/local/nagios/etc/objects/didactum-hosts.cfg
# ================================================================
# Didactum Monitoring System – Nagios Host-Konfiguration
# ================================================================
define host {
host_name didactum-monitor-01
alias Didactum Monitoring System 01
address 192.168.1.50
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
contact_groups admins
hostgroups didactum-monitoring
# SNMP Custom Variables (für Makros in Kommandos)
_SNMPCOMMUNITY didactum_isyvmon
_SNMPVERSION 2
_SNMPPORT 161
}
define hostgroup {
hostgroup_name didactum-monitoring
alias Didactum Monitoring Geräte
members didactum-monitor-01
}
7. check_snmp-Kommandos für Didactum definieren
Variante A – Über das Centreon Web-Interface
Configuration → Commands → Checks → Add
Kommando: Didactum Temperatur
| Feld | Wert |
|---|---|
| Command Name | check_didactum_temperature |
| Command Type | Check |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w $ARG2$ -c $ARG3$ -l "Temperatur" -u "0.1Grad" |
Auf „Describe arguments" klicken und folgende Argumente beschreiben:
| Argument | Beschreibung | Beispielwert |
|---|---|---|
| ARG1 | OID des Temperatursensors | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| ARG2 | Warning-Schwellwert (Rohwert ×10) | 280 (= 28,0 °C) |
| ARG3 | Critical-Schwellwert (Rohwert ×10) | 350 (= 35,0 °C) |
Kommando: Didactum Leckage
| Feld | Wert |
|---|---|
| Command Name | check_didactum_leakage |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w 0:0 -c 1:1 -l "Leckage" |
Kommando: Didactum Sensor-Status allgemein
| Feld | Wert |
|---|---|
| Command Name | check_didactum_status |
| Command Line | $USER1$/check_snmp -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -P $_HOSTSNMPVERSION$ -o $ARG1$ -w 0:0 -c 1:2 -l "$ARG2$" |
Variante B – Direkt als Nagios-Konfigurationsdatei
sudo nano /usr/local/nagios/etc/objects/didactum-commands.cfg
# ================================================================
# Didactum SNMP Check-Kommandos – Nagios Konfiguration
# ================================================================
# Temperatursensor mit Warning/Critical-Schwellen
# ARG1 = OID, ARG2 = Warning (×10), ARG3 = Critical (×10)
define command {
command_name check_didactum_temperature
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG4$ -P 2 \
-o $ARG1$ -w $ARG2$ -c $ARG3$ \
-l "Temperatur" -u "0.1Grad"
}
# Leckagesensor (0=OK, 1=KRITISCH)
define command {
command_name check_didactum_leakage
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG2$ -P 2 \
-o $ARG1$ -w 0:0 -c 1:1 \
-l "Leckage"
}
# Sensor-Status (0=OK, 1=Alarm, 2=Kein Signal)
define command {
command_name check_didactum_status
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG3$ -P 2 \
-o $ARG1$ -w 0:0 -c 1:2 \
-l "$ARG2$"
}
# Luftfeuchtigkeit mit Schwellen in %
define command {
command_name check_didactum_humidity
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG4$ -P 2 \
-o $ARG1$ -w $ARG2$ -c $ARG3$ \
-l "Luftfeuchtigkeit" -u "%"
}
# Türkontakt (0=geschlossen=OK, 1=offen=WARNING)
define command {
command_name check_didactum_door
command_line $USER1$/check_snmp -H $HOSTADDRESS$ \
-C $ARG2$ -P 2 \
-o $ARG1$ -w 1:1 \
-l "Tuerkonakt"
}
8. Services für alle Sensortypen anlegen
Variante A – Über das Centreon Web-Interface
Configuration → Services → Add
Service: Temperatursensor
| Feld | Wert |
|---|---|
| Description | Didactum Temperatur Sensor 01 |
| Linked with Hosts | didactum-monitor-01 |
| Check Command | check_didactum_temperature |
| ARG1 | .1.3.6.1.4.1.46501.5.1.1.7.101001 |
| ARG2 (Warning) | 280 (= 28,0 °C, Rohwert × 10) |
| ARG3 (Critical) | 350 (= 35,0 °C, Rohwert × 10) |
| Check Interval | 5 Minuten |
| Retry Interval | 1 Minute |
| Max Check Attempts | 3 |
| Notifications Enabled | Yes |
| Service Groups | Didactum-Sensoren |
Service: Leckagesensor
| Feld | Wert |
|---|---|
| Description | Didactum Leckage Sensor 01 |
| Check Command | check_didactum_leakage |
| ARG1 | .1.3.6.1.4.1.46501.5.1.1.7.107001 |
| Check Interval | 2 Minuten |
| Max Check Attempts | 1 (sofort kritisch) |
Service: Luftfeuchtigkeit
| Feld | Wert |
|---|---|
| Description | Didactum Luftfeuchtigkeit Sensor 01 |
| Check Command | check_didactum_humidity |
| ARG1 | .1.3.6.1.4.1.46501.5.1.1.7.102001 |
| ARG2 (Warning) | 80 |
| ARG3 (Critical) | 90 |
| Check Interval | 5 Minuten |
Service: Türkontakt
| Feld | Wert |
|---|---|
| Description | Didactum Tuerkonakt 01 |
| Check Command | check_didactum_door |
| ARG1 | .1.3.6.1.4.1.46501.5.1.1.7.104001 |
| Check Interval | 1 Minute |
Service: Temperatursensor-Status
| Feld | Wert |
|---|---|
| Description | Didactum Temp Status Sensor 01 |
| Check Command | check_didactum_status |
| ARG1 | .1.3.6.1.4.1.46501.5.1.1.6.101001 |
| ARG2 | Temp-Status |
| Check Interval | 5 Minuten |
Variante B – Direkt als Nagios-Konfigurationsdatei
sudo nano /usr/local/nagios/etc/objects/didactum-services.cfg
# ================================================================
# Didactum Services – Nagios Konfiguration
# ================================================================
# --- Temperatursensor -------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Temperatur Sensor 01
check_command check_didactum_temperature!.1.3.6.1.4.1.46501.5.1.1.7.101001!280!350!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options w,c,r
contact_groups admins
servicegroups didactum-sensoren
}
# --- Temperatursensor-Status -----------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Temp Status Sensor 01
check_command check_didactum_status!.1.3.6.1.4.1.46501.5.1.1.6.101001!Temp-Status!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options c,r
contact_groups admins
}
# --- Leckagesensor ---------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Leckage Sensor 01
check_command check_didactum_leakage!.1.3.6.1.4.1.46501.5.1.1.7.107001!didactum_isyvmon
max_check_attempts 1
check_interval 2
retry_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options c,r
contact_groups admins
servicegroups didactum-sensoren
}
# --- Luftfeuchtigkeit ------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Luftfeuchtigkeit Sensor 01
check_command check_didactum_humidity!.1.3.6.1.4.1.46501.5.1.1.7.102001!80!90!didactum_isyvmon
max_check_attempts 3
check_interval 5
retry_interval 1
check_period 24x7
notification_interval 60
notification_period 24x7
notification_options w,c,r
contact_groups admins
servicegroups didactum-sensoren
}
# --- Türkontakt ------------------------------------------------
define service {
host_name didactum-monitor-01
service_description Didactum Tuerkonakt 01
check_command check_didactum_door!.1.3.6.1.4.1.46501.5.1.1.7.104001!didactum_isyvmon
max_check_attempts 1
check_interval 1
retry_interval 1
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,r
contact_groups admins
servicegroups didactum-sensoren
}
define servicegroup {
servicegroup_name didactum-sensoren
alias Didactum Sensor-Services
}
9. SNMP Traps empfangen
Nagios/isyVmon empfängt keine Traps direkt. Der Weg führt über snmptrapd → Nagios Passive Check.
Schritt 1 – snmptrapd installieren und konfigurieren
sudo apt install snmptrapd -y sudo nano /etc/snmp/snmptrapd.conf
authCommunity execute,log,net didactum_isyvmon traphandle .1.3.6.1.4.1.46501 /etc/nagios/scripts/didactum-trap-handler.sh
Schritt 2 – Trap-Handler-Skript erstellen
sudo mkdir -p /etc/nagios/scripts sudo nano /etc/nagios/scripts/didactum-trap-handler.sh
#!/bin/bash
# ================================================================
# Didactum SNMP Trap Handler für Nagios/isyVmon
# ================================================================
NAGIOS_CMD="/var/run/nagios/nagios.cmd"
HOST="didactum-monitor-01"
SERVICE="Didactum SNMP Trap"
STATE=2 # CRITICAL
TIMESTAMP=$(date +%s)
MESSAGE="CRITICAL: Didactum SNMP Trap empfangen von $1 – $*"
# Passive Check-Result an Nagios übergeben
echo "[$TIMESTAMP] PROCESS_SERVICE_CHECK_RESULT;$HOST;$SERVICE;$STATE;$MESSAGE" \
>> $NAGIOS_CMD
sudo chmod +x /etc/nagios/scripts/didactum-trap-handler.sh
Schritt 3 – Passiven Service in Nagios/Centreon anlegen
sudo nano /usr/local/nagios/etc/objects/didactum-trap-service.cfg
define service {
host_name didactum-monitor-01
service_description Didactum SNMP Trap
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 4 – snmptrapd starten
sudo systemctl enable snmptrapd sudo systemctl start snmptrapd
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
| 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, Schwellwert × 10 eingeben |
| 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 % (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. Diese ID wird ans Ende der OID angehängt.
Temperaturschwellwerte in check_snmp:
check_snmp arbeitet mit dem Rohwert. Schwellwerte müssen × 10 eingegeben werden. 28 °C = Eingabewert 280, 35 °C = Eingabewert 350.
MIB-Prefix je Modell:
Ältere Geräte verwenden .1.3.6.1.4.1.46501, neuere Modelle 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
Im Centreon/isyVmon Web-Interface:
Configuration → Users → Contacts → Add
| Feld | Wert |
|---|---|
| Full Name | Administrator |
| Alias | admin |
| admin@ihredomain.de | |
| Host Notification Period | 24x7 |
| Host Notification Options | d, u, r (Down, Unreachable, Recovery) |
| Service Notification Period | 24x7 |
| Service Notification Options | w, c, r (Warning, Critical, Recovery) |
| Host Notification Commands | host-notify-by-email |
| Service Notification Commands | notify-service-by-email |
Schritt 2 – Kontaktgruppe anlegen
Configuration → Users → Contact Groups → Add Group Name: admins Members: admin
Schritt 3 – Mailversand auf dem Server sicherstellen
sudo apt install postfix mailutils -y # Konfigurationstyp wählen: "Internet Site" # Test: echo "Testmail isyVmon" | mail -s "Test" admin@ihredomain.de
Schritt 4 – Nagios-Notification-Commands prüfen
# Standard-Commands sind in der Nagios-Konfiguration bereits vorhanden: grep -A5 "notify-service-by-email" /usr/local/nagios/etc/objects/commands.cfg
Die Standard-Notification-Kommandos von Nagios senden automatisch E-Mails, wenn ein Service den Status WARNING, CRITICAL oder UNKNOWN annimmt und ein Kontakt zugewiesen ist.
12. Konfiguration exportieren und Nagios neu laden
Alle Änderungen über das Centreon/isyVmon Web-Interface müssen exportiert werden, damit Nagios sie übernimmt.
Variante A – Über das Centreon Web-Interface (empfohlen)
Configuration → Pollers → Central → Export configuration
Folgende Optionen aktivieren:
- Generate Configuration Files: Ja
- Run monitoring engine debug (-v): Ja (für ersten Test)
- Move Export Files: Ja
- Restart Monitoring Engine: Ja
- Method: Restart
Auf Export klicken. Centreon generiert die Nagios-Konfigurationsdateien und startet Nagios neu.
Variante B – Direkt per Kommandozeile
# Konfiguration auf Syntaxfehler prüfen sudo nagios -v /usr/local/nagios/etc/nagios.cfg # Nagios neu laden (kein vollständiger Neustart erforderlich) sudo systemctl reload nagios # Bei Fehler: vollständigen Neustart sudo systemctl restart nagios # Status prüfen sudo systemctl status nagios
Variante C – Direkt in isyVmon-Konfigurationsdatei einbinden
sudo nano /usr/local/nagios/etc/nagios.cfg
Folgende Zeilen hinzufügen (falls nicht vorhanden):
cfg_file=/usr/local/nagios/etc/objects/didactum-hosts.cfg cfg_file=/usr/local/nagios/etc/objects/didactum-commands.cfg cfg_file=/usr/local/nagios/etc/objects/didactum-services.cfg cfg_file=/usr/local/nagios/etc/objects/didactum-trap-service.cfg
13. Test und Fehlersuche
check_snmp direkt testen
# Temperaturwert (erwartet: SNMP OK - 235)
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_isyvmon -P 2 \
-o .1.3.6.1.4.1.46501.5.1.1.7.101001 \
-w 280 -c 350 -l "Temperatur"
# Leckage-Status (erwartet: SNMP OK - 0)
/usr/lib/nagios/plugins/check_snmp \
-H 192.168.1.50 -C didactum_isyvmon -P 2 \
-o .1.3.6.1.4.1.46501.5.1.1.7.107001 \
-w 0:0 -c 1:1 -l "Leckage"
Nagios-Konfiguration validieren
sudo nagios -v /usr/local/nagios/etc/nagios.cfg # Erwartete Ausgabe: "Things look okay - No serious problems..."
Service-Status im Centreon/isyVmon Web-Interface prüfen
Monitoring → Services → By Host → Host: didactum-monitor-01 → Status der Didactum-Services sehen
Fehlermeldungen und Lösungen
| Problem | Ursache & Lösung |
|---|---|
| check_snmp: No response from remote host | Firewall blockiert UDP 161; SNMP am Didactum nicht aktiv; falsche IP oder Community |
| SNMP OK, aber Temperatur 10× zu hoch | Rohwert nicht berücksichtigt → Schwellwerte × 10 eingeben (28 °C = 280) |
| Service bleibt UNKNOWN | check_snmp nicht gefunden; falscher Pfad in command_line → which check_snmp prüfen |
| Konfigurationsfehler beim Export | nagios -v nagios.cfg ausführen, Fehler lesen und korrigieren |
| Keine E-Mail bei Alarm | Postfix läuft nicht; Kontakt hat keine E-Mail; Kontaktgruppe nicht dem Service zugewiesen |
| Host erscheint nicht in Monitoring-Ansicht | Konfiguration nicht exportiert → Configuration → Pollers → Export |
| SNMP-Trap kommt nicht an | snmptrapd läuft nicht; UDP 162 nicht geöffnet; Trap-Handler-Skript nicht ausführbar |
Nagios-Log einsehen
sudo tail -f /var/log/nagios/nagios.log sudo tail -f /var/log/nagios/host-perfdata
14. Abschluss-Checkliste
Didactum-Gerät
- SNMP aktiviert (v2c oder v3)
- Community String gesetzt (nicht „public")
- Trap-Empfänger-IP auf isyVmon-Server gesetzt
- Trap-Port 162 eingetragen
- MIB-Datei heruntergeladen
- snmpwalk-Test vom isyVmon-Server erfolgreich
isyVmon / Nagios Server
- Pakete snmp, snmp-mibs-downloader, nagios-plugins installiert
- MIB-Datei unter /usr/share/snmp/mibs/ gespeichert
- check_snmp direkt auf der Kommandozeile erfolgreich getestet
- Firewall: UDP 161 ausgehend, UDP 162 eingehend geöffnet
Centreon / isyVmon Web-Interface
- SNMP Community als Host-Makro hinterlegt
- Host „didactum-monitor-01" angelegt (IP, Community, Template)
- Check-Kommandos für alle Sensortypen definiert
- Services für Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt angelegt
- Kontakt mit E-Mail-Adresse und Kontaktgruppe angelegt
- Kontaktgruppe den Services zugewiesen
- Konfiguration exportiert (Configuration → Pollers → Export)
Tests & Validierung
- nagios -v: Konfiguration fehlerfrei
- Monitoring-Ansicht: Services zeigen aktuellen Status
- Temperaturschwellwert: Rohwert × 10 korrekt eingegeben
- Test-Alarm ausgelöst und E-Mail empfangen
- SNMP-Trap-Empfang getestet (optional)