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

Didactum Monitoring & Munin Integration

Vollständige Schritt-für-Schritt-Anleitung zur Einbindung von Didactum Monitoring-Geräten und Sensoren in Munin via SNMP – inklusive Plugin-Symlinks, Plugin-Konfiguration, vollständiger Custom Perl-Plugin-Datei für alle Sensortypen (Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch) und E-Mail-Alarmierung.

Architektur-Hinweis: SNMP-Plugins werden auf dem Munin-Node-Rechner als SNMP-Gateway aktiviert. Auf diesem Node laufen sowohl munin als auch munin-node. Die SNMP-Plugins werden per Symlink in /etc/munin/plugins aktiviert, wobei der Name des zu überwachenden Hosts zwischen die ersten beiden Unterstriche eingefügt wird.

  • Software: Munin 2.x (munin-master + munin-node)
  • Plugin-Sprache: Perl (Munin::Plugin::SNMP Modul)
  • Protokoll: SNMP v1 / v2c / v3
  • Geräte: Didactum Monitoring System 100T / 300T / 500T / 550T
  • Sensoren: Temperatur, Leckage, Luftfeuchtigkeit, Türkontakt, Rauch

1. Voraussetzungen & Systemüberblick

Munin-Server

  • Ubuntu 20.04 / 22.04 LTS oder Debian 11/12
  • munin und munin-node installiert
  • Perl-Modul libsnmp-session-perl und libnet-snmp-perl installiert
  • Pakete: snmp, snmp-mibs-downloader
  • UDP-Port 161 ausgehend für SNMP Polling geöffnet
  • Netzwerkzugang zum Didactum-Gerät

Didactum-Gerät

  • Monitoring System 100T, 300T, 500T oder 550T
  • SNMP aktiviert (v2c empfohlen)
  • Gerät per Netzwerk vom Munin-Server erreichbar
  • MIB-Datei im Web-Interface verfügbar

Wichtige Munin-Verzeichnisse

/etc/munin/munin.conf               <-- Hauptkonfiguration (Hosts, Gruppen)
/etc/munin/plugin-conf.d/           <-- Plugin-spezifische Konfiguration (Community, Env-Variablen)
/etc/munin/plugins/                 <-- Aktive Plugins (Symlinks)
/usr/share/munin/plugins/           <-- Mitgelieferte Plugins
/usr/local/share/munin/plugins/     <-- Eigene Custom-Plugins ablegen
/var/lib/munin/                     <-- RRD-Datenbank und Graphen
/var/log/munin/                     <-- Log-Dateien

Munin SNMP-Plugin-Benennungskonvention

SNMP-Plugins werden mit dem Format snmp_HOSTNAME_METRIK benannt. Der Hostname des zu überwachenden Geräts wird zwischen die ersten zwei Unterstriche eingefügt. Beispiel: snmp_didactum01_temperature überwacht die Temperatur des Geräts mit dem Namen „didactum01".

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-InterfaceWert
SNMP aktivierenAktiviert
SNMP-Versionv2c (empfohlen)
Community Stringdidactum_munin (nicht „public" verwenden!)
SNMP-Port161

Einstellungen speichern.

3. Pakete installieren & SNMP testen

sudo apt update
sudo apt install -y munin munin-node \
    libnet-snmp-perl libsnmp-session-perl \
    snmp snmp-mibs-downloader

# SNMP-Verbindung zum Didactum-Gerät testen
snmpwalk -v 2c -c didactum_munin 192.168.1.50 \
    .1.3.6.1.4.1.46501.5.1.1

# Einzelnen Temperaturwert abfragen (Rohwert ÷ 10 = Grad Celsius)
snmpget -v 2c -c didactum_munin 192.168.1.50 \
    .1.3.6.1.4.1.46501.5.1.1.7.101001

4. MIB-Datei installieren

# MIB aus Didactum Web-Interface herunterladen:
# Systemeinstellungen → SNMP → "MIB-Datei herunterladen" → didactum.mib

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_munin -m ALL 192.168.1.50 \
    DIDACTUM-MIB::sensorValue

5. Munin-Host-Konfiguration für Didactum

Das Didactum-Gerät wird in der munin.conf als eigenständiger Host eingetragen. Da Munin-Node die SNMP-Abfragen über sich selbst als Gateway durchführt, wird address 127.0.0.1 (localhost) als Adresse des munin-node eingetragen.

sudo nano /etc/munin/munin.conf
# ================================================================
# Didactum Monitoring System – Munin Host-Konfiguration
# ================================================================

[Didactum]

    # Didactum Monitoring System 01
    # address = localhost, da munin-node als SNMP-Gateway fungiert
    [Didactum;didactum-monitor-01]
        address 127.0.0.1
        use_node_name no

6. SNMP Plugin-Konfiguration

Als Regel benötigen SNMP-Plugins standortspezifische Konfiguration. Die Standardkonfiguration funktioniert nur auf unsicheren Geräten. Der Community String der Geräte sollte nicht „public" sein.

sudo nano /etc/munin/plugin-conf.d/didactum
# ================================================================
# Didactum SNMP Plugin-Konfiguration
# Datei: /etc/munin/plugin-conf.d/didactum
# ================================================================

# Gilt für alle Plugins des Didactum-Geräts
[snmp_didactum-monitor-01_*]
    env.host     192.168.1.50
    env.port     161
    env.version  2
    env.community didactum_munin
    env.timeout  5

# Temperatursensor spezifisch
[snmp_didactum-monitor-01_didactum_temp]
    env.host      192.168.1.50
    env.community didactum_munin
    env.version   2
    env.warning   280
    env.critical  350

# Leckagesensor spezifisch
[snmp_didactum-monitor-01_didactum_leak]
    env.host      192.168.1.50
    env.community didactum_munin
    env.version   2
    env.critical  1

# Luftfeuchtigkeit spezifisch
[snmp_didactum-monitor-01_didactum_humidity]
    env.host      192.168.1.50
    env.community didactum_munin
    env.version   2
    env.warning   80
    env.critical  90

7. Custom Perl-Plugin für Didactum-Sensoren

Das folgende Plugin überwacht alle Didactum-Sensoren in einem einzigen Plugin. Es folgt dem offiziellen Munin SNMP-Plugin-Standard mit Magic Markers und dem Munin::Plugin::SNMP-Modul.

Plugin-Datei erstellen

sudo nano /usr/local/share/munin/plugins/snmp__didactum_sensors
#!/usr/bin/perl
# ================================================================
# Munin SNMP Plugin – Didactum Monitoring System
# Datei: /usr/local/share/munin/plugins/snmp__didactum_sensors
#
# Überwacht: Temperatursensor, Leckage, Luftfeuchtigkeit,
#            Türkontakt, Rauchmelder via SNMPv2c
#
# Enterprise OID (ältere Geräte): .1.3.6.1.4.1.46501
# Enterprise OID (neuere Geräte): .1.3.6.1.4.1.39052
#
# Konfiguration in /etc/munin/plugin-conf.d/:
#   [snmp_HOSTNAME_didactum_sensors]
#   env.host      192.168.1.50
#   env.community didactum_munin
#   env.version   2
#   env.warning_temp  280   (= 28.0 Grad C – Rohwert x10)
#   env.critical_temp 350   (= 35.0 Grad C – Rohwert x10)
#
# WICHTIG – Temperaturschwellwerte:
# Didactum liefert Temperatur als Rohwert x10.
# 25.5 Grad C = OID-Wert 255.
# warning/critical als Rohwert x10 konfigurieren!
#
# =head1 MAGIC MARKERS
#%# family=snmpauto
#%# capabilities=snmpconf
# ================================================================

use strict;
use warnings;
use Net::SNMP;
use Munin::Plugin;

# ================================================================
# OID-Definitionen
# ================================================================
my $base_oid_old = '1.3.6.1.4.1.46501.5.1.1';   # ältere Geräte
my $base_oid_new = '1.3.6.1.4.1.39052.5.1.1';   # neuere Geräte

# Sensoren OIDs (Sensor-ID am Ende anpassen!)
my %oids = (
    'temp_value'    => '1.3.6.1.4.1.46501.5.1.1.7.101001',
    'temp_status'   => '1.3.6.1.4.1.46501.5.1.1.6.101001',
    'leak_value'    => '1.3.6.1.4.1.46501.5.1.1.7.107001',
    'humidity_value'=> '1.3.6.1.4.1.46501.5.1.1.7.102001',
    'door_value'    => '1.3.6.1.4.1.46501.5.1.1.7.104001',
    'smoke_value'   => '1.3.6.1.4.1.46501.5.1.1.7.106001',
);

# ================================================================
# Umgebungsvariablen (aus plugin-conf.d)
# ================================================================
my $host      = $ENV{host}          || '192.168.1.50';
my $port      = $ENV{port}          || 161;
my $version   = $ENV{version}       || '2';
my $community = $ENV{community}     || 'public';
my $timeout   = $ENV{timeout}       || 5;
my $warn_temp = $ENV{warning_temp}  || 280;
my $crit_temp = $ENV{critical_temp} || 350;
my $warn_hum  = $ENV{warning_hum}   || 80;
my $crit_hum  = $ENV{critical_hum}  || 90;

# ================================================================
# snmpconf – für munin-node-configure auto-detection
# ================================================================
if (defined $ARGV[0] and $ARGV[0] eq 'snmpconf') {
    # Geräte-Erkennung: Didactum sysObjectID prüfen
    print "require 1.3.6.1.4.1.46501.5.1.1.7.101001\n";
    exit 0;
}

# ================================================================
# SNMP-Verbindung aufbauen
# ================================================================
my ($session, $error) = Net::SNMP->session(
    -hostname  => $host,
    -port      => $port,
    -version   => $version,
    -community => $community,
    -timeout   => $timeout,
);

if (!defined $session) {
    die "# Fehler: SNMP-Verbindung zu $host fehlgeschlagen: $error\n";
}

# OIDs abfragen
my $result = $session->get_request(
    -varbindlist => [ values %oids ]
);

if (!defined $result) {
    die "# Fehler: SNMP-Abfrage fehlgeschlagen: " . $session->error() . "\n";
}

$session->close();

# ================================================================
# config – Munin-Graph-Konfiguration
# ================================================================
if (defined $ARGV[0] and $ARGV[0] eq 'config') {

    print "host_name $host\n";

    # --- Temperatur-Graph ---
    print "multigraph didactum_temperature\n";
    print "graph_title Didactum Temperatur Sensor 01\n";
    print "graph_vlabel Grad Celsius\n";
    print "graph_category sensors\n";
    print "graph_info Temperatur Sensor 01 (Rohwert geteilt durch 10 = Grad Celsius)\n";
    print "temp.label Temperatur\n";
    print "temp.type GAUGE\n";
    print "temp.draw LINE2\n";
    print "temp.colour 0000FF\n";
    print "temp.warning $warn_temp\n";
    print "temp.critical $crit_temp\n";
    print "temp.info Rohwert des Temperatursensors (x0.1 = Grad C). Warnung: " .
          ($warn_temp/10) . " C, Kritisch: " . ($crit_temp/10) . " C\n";

    # --- Temperatur-Status-Graph ---
    print "multigraph didactum_temp_status\n";
    print "graph_title Didactum Temp-Sensor Status\n";
    print "graph_vlabel Status\n";
    print "graph_category sensors\n";
    print "graph_info Sensor-Status: 0=OK, 1=Alarm, 2=Kein Signal\n";
    print "status.label Status\n";
    print "status.type GAUGE\n";
    print "status.draw LINE1\n";
    print "status.warning 0.5\n";
    print "status.critical 1.5\n";

    # --- Leckage-Graph ---
    print "multigraph didactum_leakage\n";
    print "graph_title Didactum Leckage Sensor 01\n";
    print "graph_vlabel Zustand\n";
    print "graph_category sensors\n";
    print "graph_info Leckagesensor: 0=trocken, 1=Wasser erkannt\n";
    print "leak.label Leckage\n";
    print "leak.type GAUGE\n";
    print "leak.draw AREA\n";
    print "leak.colour FF0000\n";
    print "leak.critical 0.5\n";
    print "leak.info 0 = trocken (OK), 1 = Wasser erkannt (CRITICAL)\n";

    # --- Luftfeuchtigkeit-Graph ---
    print "multigraph didactum_humidity\n";
    print "graph_title Didactum Luftfeuchtigkeit Sensor 01\n";
    print "graph_vlabel Prozent (%)\n";
    print "graph_category sensors\n";
    print "humidity.label Luftfeuchtigkeit\n";
    print "humidity.type GAUGE\n";
    print "humidity.draw LINE2\n";
    print "humidity.colour 00AAFF\n";
    print "humidity.warning $warn_hum\n";
    print "humidity.critical $crit_hum\n";
    print "humidity.min 0\n";
    print "humidity.max 100\n";

    # --- Türkontakt-Graph ---
    print "multigraph didactum_door\n";
    print "graph_title Didactum Tuerkonakt 01\n";
    print "graph_vlabel Zustand\n";
    print "graph_category sensors\n";
    print "door.label Tuerkonakt\n";
    print "door.type GAUGE\n";
    print "door.draw AREA\n";
    print "door.warning 0.5\n";
    print "door.info 0 = geschlossen (OK), 1 = geoeffnet (Warning)\n";

    # --- Rauchmelder-Graph ---
    print "multigraph didactum_smoke\n";
    print "graph_title Didactum Rauchmelder 01\n";
    print "graph_vlabel Zustand\n";
    print "graph_category sensors\n";
    print "smoke.label Rauchmelder\n";
    print "smoke.type GAUGE\n";
    print "smoke.draw AREA\n";
    print "smoke.colour FF6600\n";
    print "smoke.critical 0.5\n";
    print "smoke.info 0 = kein Rauch (OK), 1 = Alarm (CRITICAL)\n";

    exit 0;
}

# ================================================================
# Werte ausgeben (normaler Plugin-Lauf)
# ================================================================

# Rohwerte aus SNMP-Ergebnis lesen
my $temp_raw     = $result->{$oids{temp_value}}     // 'U';
my $temp_status  = $result->{$oids{temp_status}}    // 'U';
my $leak_val     = $result->{$oids{leak_value}}     // 'U';
my $humidity_val = $result->{$oids{humidity_value}} // 'U';
my $door_val     = $result->{$oids{door_value}}     // 'U';
my $smoke_val    = $result->{$oids{smoke_value}}    // 'U';

# Temperatur: Rohwert ausgeben (warning/critical auf Rohwert x10 gesetzt)
print "multigraph didactum_temperature\n";
print "temp.value $temp_raw\n";

# Temperatur-Status
print "multigraph didactum_temp_status\n";
print "status.value $temp_status\n";

# Leckage
print "multigraph didactum_leakage\n";
print "leak.value $leak_val\n";

# Luftfeuchtigkeit
print "multigraph didactum_humidity\n";
print "humidity.value $humidity_val\n";

# Türkontakt
print "multigraph didactum_door\n";
print "door.value $door_val\n";

# Rauchmelder
print "multigraph didactum_smoke\n";
print "smoke.value $smoke_val\n";

exit 0;
sudo chmod +x /usr/local/share/munin/plugins/snmp__didactum_sensors

8. Plugin-Symlinks anlegen

Um SNMP-Plugins zu aktivieren, werden sie als Symlinks in /etc/munin/plugins angelegt, wobei der Name des zu überwachenden Hosts zwischen die ersten zwei Unterstriche eingefügt wird.

Symlink für das Custom-Plugin anlegen

# Plugin für Didactum-Monitor-01 aktivieren
sudo ln -s /usr/local/share/munin/plugins/snmp__didactum_sensors \
           /etc/munin/plugins/snmp_didactum-monitor-01_didactum_sensors

# Plugin-Liste prüfen
ls -la /etc/munin/plugins/ | grep didactum

Plugin direkt testen (bevor munin-node neu gestartet wird)

# Plugin-Konfiguration testen
sudo munin-run snmp_didactum-monitor-01_didactum_sensors config

# Plugin-Werte testen (normaler Lauf)
sudo munin-run snmp_didactum-monitor-01_didactum_sensors

# Erwartete Ausgabe:
# multigraph didactum_temperature
# temp.value 235
# multigraph didactum_leakage
# leak.value 0
# ...

munin-node neu starten

sudo systemctl restart munin-node
sudo systemctl status munin-node

munin-node-configure für automatische Plugin-Erkennung (optional)

Mit dem munin-node-configure-Skript kann automatisch geprüft werden, welche SNMP-Plugins für ein Gerät verfügbar sind.

# Automatisch verfügbare Plugins für Didactum-Gerät ermitteln
sudo munin-node-configure --shell \
    --snmp 192.168.1.50 \
    --snmpversion 2c \
    --snmpcommunity didactum_munin \
    --libdir /usr/local/share/munin/plugins

9. Munin-Alarme (Warn/Critical) konfigurieren

Munin kann bei Überschreitung von Warn- oder Critical-Schwellwerten Alarme auslösen. Die Schwellwerte werden entweder direkt im Plugin (warning/critical Zeilen im config-Abschnitt) oder in der Plugin-Konfigurationsdatei definiert.

Schwellwerte in der Plugin-Konfigurationsdatei setzen

sudo nano /etc/munin/plugin-conf.d/didactum
# ================================================================
# Didactum Plugin-Konfiguration – Schwellwerte
# WICHTIG: Temperaturschwellen als Rohwert x10 angeben!
# 28 Grad C = 280, 35 Grad C = 350
# ================================================================

[snmp_didactum-monitor-01_didactum_sensors]
    env.host            192.168.1.50
    env.port            161
    env.version         2
    env.community       didactum_munin
    env.timeout         5

    # Temperaturschwellen (Rohwert x10!)
    env.warning_temp    280
    env.critical_temp   350

    # Luftfeuchtigkeitsschwellen (direkt in %)
    env.warning_hum     80
    env.critical_hum    90

Einzelne Datenpunkt-Schwellen in munin.conf überschreiben

sudo nano /etc/munin/munin.conf
[Didactum;didactum-monitor-01]
    address 127.0.0.1
    use_node_name no

    # Einzelne Datenpunkt-Schwellen überschreiben (optional)
    # Format: Plugin.Datenpunkt.warning / .critical
    snmp_didactum-monitor-01_didactum_sensors.temp.warning  280
    snmp_didactum-monitor-01_didactum_sensors.temp.critical 350
    snmp_didactum-monitor-01_didactum_sensors.leak.critical 0.5
    snmp_didactum-monitor-01_didactum_sensors.smoke.critical 0.5

10. E-Mail-Benachrichtigung konfigurieren

Munin sendet Benachrichtigungen über das contacts-System. Bei Überschreitung eines Warn- oder Critical-Schwellwerts wird eine E-Mail gesendet.

Schritt 1 – Munin-Benachrichtigung in munin.conf konfigurieren

sudo nano /etc/munin/munin.conf
# ================================================================
# Munin Benachrichtigungs-Konfiguration für Didactum-Alarme
# ================================================================

# Kontakt definieren
contact.admin.command mail -s "Munin: ${var:host} – ${var:plugin}: ${var:state}" \
    admin@ihredomain.de

# E-Mail-Format
contact.admin.text \
    Zeitpunkt:  ${var:timestamp}\n\
    Host:       ${var:host}\n\
    Plugin:     ${var:plugin}\n\
    Datenpunkt: ${var:graph_title} – ${var:fieldname}\n\
    Status:     ${var:state}\n\
    Wert:       ${var:value}\n\
    Warnung ab: ${var:warnhi}\n\
    Kritisch ab: ${var:crithi}\n\
    Graph-URL:  ${var:url}

# Benachrichtigungen aktivieren (WARNING und CRITICAL)
contact.admin.always_send warning critical

# Benachrichtigungen für Didactum-Host aktivieren
[Didactum;didactum-monitor-01]
    address 127.0.0.1
    use_node_name no
    contacts admin

Schritt 2 – Postfix für lokalen Mailversand installieren

sudo apt install postfix mailutils -y
# Konfigurationstyp: "Internet Site"
# Test:
echo "Test Munin Didactum" | mail -s "Test" admin@ihredomain.de

Schritt 3 – munin-master neu starten

sudo systemctl restart munin-node
# Munin läuft normalerweise per Cron – prüfen:
sudo crontab -l -u munin
# Standardmäßig: */5 * * * * /usr/bin/munin-cron

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

FeldBedeutungBeispiel
.1.x.SENSOR_IDSensor-ID1.3.6.1.4.1.46501.5.1.1.1.101001
.5.x.SENSOR_IDSensor-Name1.3.6.1.4.1.46501.5.1.1.5.101001
.6.x.SENSOR_IDStatus (0=OK, 1=Alarm, 2=Kein Signal)1.3.6.1.4.1.46501.5.1.1.6.101001
.7.x.SENSOR_IDMesswert (aktuell)1.3.6.1.4.1.46501.5.1.1.7.101001

Sensortypen mit OIDs und Munin-Schwellwerten

SensortypSensor-IDOID MesswertOID StatusMunin Schwellwert
Temperatursensor (digital)1010011.3.6.1.4.1.46501.5.1.1.7.1010011.3.6.1.4.1.46501.5.1.1.6.101001warning 280 / critical 350 (Rohwert × 10)
Temperatursensor (analog)2010011.3.6.1.4.1.39052.5.2.1.7.2010011.3.6.1.4.1.39052.5.2.1.6.201001warning 280 / critical 350 (× 10)
Wassersensor / Leckage1070011.3.6.1.4.1.46501.5.1.1.7.1070011.3.6.1.4.1.46501.5.1.1.6.107001critical 0.5 (ab 1 = Wasser)
Luftfeuchtigkeit1020011.3.6.1.4.1.46501.5.1.1.7.1020011.3.6.1.4.1.46501.5.1.1.6.102001warning 80 / critical 90 (direkt %)
Potentialfreier Kontakt1010031.3.6.1.4.1.39052.5.1.1.7.1010031.3.6.1.4.1.39052.5.1.1.6.101003warning 0.5 (ab 1 = aktiv)
Türkontakt1040011.3.6.1.4.1.46501.5.1.1.7.1040011.3.6.1.4.1.46501.5.1.1.6.104001warning 0.5 (ab 1 = geöffnet)
Rauchmelder1060011.3.6.1.4.1.46501.5.1.1.7.1060011.3.6.1.4.1.46501.5.1.1.6.106001critical 0.5 (ab 1 = Alarm)

Sensor-ID herausfinden: Im Didactum Web-Interface unter Systembaum → Sensor auswählen → Details. Diese ID wird ans Ende der OID angehängt und im Plugin in der %oids-Hash-Tabelle aktualisiert.

Temperaturschwellwerte in Munin: Das Didactum-Gerät liefert Temperaturwerte als Rohwert × 10. 28,0 °C = OID-Wert 280. Munin-Schwellwerte (warning/critical) müssen daher ebenfalls × 10 angegeben werden. Im Graphen erscheint der Rohwert; in der Graph-Beschriftung wird auf die ÷10-Umrechnung hingewiesen.

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. Die OIDs im Plugin-Code entsprechend anpassen.

12. Test & Fehlersuche

Plugin direkt testen

# Plugin-Konfiguration anzeigen (config-Modus)
sudo -u munin munin-run \
    snmp_didactum-monitor-01_didactum_sensors config

# Plugin-Werte abfragen (normaler Lauf)
sudo -u munin munin-run \
    snmp_didactum-monitor-01_didactum_sensors

# Erwartete Ausgabe:
# multigraph didactum_temperature
# temp.value 235
# multigraph didactum_leakage
# leak.value 0
# multigraph didactum_humidity
# humidity.value 65
# multigraph didactum_door
# door.value 0
# multigraph didactum_smoke
# smoke.value 0

SNMP direkt testen

snmpget -v 2c -c didactum_munin 192.168.1.50 \
    1.3.6.1.4.1.46501.5.1.1.7.101001
# Erwartete Ausgabe: INTEGER: 235  (= 23,5 Grad C)

snmpget -v 2c -c didactum_munin 192.168.1.50 \
    1.3.6.1.4.1.46501.5.1.1.7.107001
# Erwartete Ausgabe bei trockenem Sensor: INTEGER: 0

Munin-Master manuell ausführen

sudo -u munin munin-cron
# Graphen werden unter /var/cache/munin/www/ erzeugt
ls /var/cache/munin/www/Didactum/didactum-monitor-01/

Fehlermeldungen und Lösungen

ProblemUrsache & Lösung
Plugin gibt „U" (unknown) zurückSNMP-Verbindung fehlgeschlagen → Community String, IP, UDP 161 prüfen
Perl-Fehler beim Plugin-StartFehlende Perl-Module → sudo apt install libnet-snmp-perl
Symlink nicht gefundenls -la /etc/munin/plugins/ | grep didactum – Symlink prüfen und ggf. neu anlegen
Temperaturwert erscheint 10× zu hoch im GraphKein Problem – Rohwert × 10 ist korrekt. Schwellwerte ebenfalls × 10 setzen (280, 350)
Keine E-Mail bei AlarmPostfix läuft nicht; contacts-Konfiguration fehlt; munin-cron läuft nicht
Graph erscheint nicht im Web-Interfacemunin-cron noch nicht gelaufen; Plugin gibt „U" zurück → 5 Minuten warten
Plugin-Datei: „Permission denied"sudo chmod +x /usr/local/share/munin/plugins/snmp__didactum_sensors

Munin Logs einsehen

# Munin Master Log
sudo tail -f /var/log/munin/munin-update.log

# Munin Node Log
sudo tail -f /var/log/munin/munin-node.log

# Alarm-Log
sudo tail -f /var/log/munin/munin-limits.log

13. Abschluss-Checkliste

Didactum-Gerät

  • SNMP aktiviert (v2c)
  • Community String gesetzt (nicht „public"): didactum_munin
  • snmpwalk vom Munin-Server erfolgreich
  • MIB-Datei heruntergeladen

Munin-Server

  • Pakete munin, munin-node, libnet-snmp-perl installiert
  • MIB-Datei unter /usr/share/snmp/mibs/ gespeichert
  • Plugin-Datei /usr/local/share/munin/plugins/snmp__didactum_sensors erstellt
  • Plugin-Datei ausführbar (chmod +x)
  • Symlink in /etc/munin/plugins/ angelegt
  • Plugin-Konfiguration in /etc/munin/plugin-conf.d/didactum gesetzt
  • munin.conf: Host-Eintrag und contacts angelegt

Plugin-Test

  • munin-run config: Alle Graphen-Definitionen erscheinen fehlerfrei
  • munin-run (normaler Lauf): Alle Sensorwerte werden zurückgegeben (keine „U")
  • munin-node neu gestartet
  • munin-cron einmal manuell ausgeführt
  • Graphen im Web-Interface sichtbar

Alarme & Benachrichtigung

  • Temperaturschwellen als Rohwert × 10 gesetzt (280 / 350)
  • Leckage critical-Schwelle: 0.5
  • Postfix installiert und Test-Mail erhalten
  • contacts in munin.conf konfiguriert
  • Test-Alarm ausgelöst und E-Mail empfangen

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.