24. January 2010: Munin und Tomato

Munin ist eine System-Überwachung für Linux und, nachdem ich meinen Homeserver “neu aufsetzen” durfte, auch meine neue Lösung zur Überwachung des Heim-Netzwerks. Da Munin schön modular aufgebaut ist und den Status mehrerer Systeme zentral zusammenfasst, lag es nur nah auch den Router, der unter Tomato läuft, mit in die Überwachung zu integrieren.

Da es keine Möglichkeit gibt eine Munin-Node nativ unter Tomato laufen zu lassen, muss man auf SNMP zurückgreifen. Denn einen SNMPd gibt es mit integrierten Bibliotheken in kompakter Form bereits fertig zum Download. Nachdem er einmal entpackt ist, kopiert man ihn (über eine CIFS-Freigabe) auf den Router – oder lässt ihn direkt von der Freigabe aus laufen, je nach belieben. In meinem Fall wollte ich ihn auf dem verbleibenden JFFS-Speicherbereich laufen lassen. Dazu muss unter dem JFFS-Punkt Execute when Mounted folgender Aufruf hinterlegt werden:

/jffs/snmpd -c /jffs/snmpd.conf &

Der SNMP-Dienst sollte jetzt laufen. Ein beliebiger SNMP-Client sollte jetzt Daten auslesen können. Eben auch Munin, für das jedoch zunächst die SNMP-Plugins auf dem überwachenden Rechner entsprechend eingerichtet werden müssen. Zunächst legt man eine virtuelle Node in /etc/munin/munin.conf an:

[abeir.selune]
address 127.0.0.1
use_node_name yes
[shar.selune]
address 127.0.0.1
use_node_name no

Anschließend kann man sich mit munin-node-configure --snmp shar.selune --snmpversion 2c --snmpcommunity public die notwendigen Links generieren lassen – einfach die Ausgabe kopieren und entsprechend ausführen. Startet man noch den Munin-Dienst neu (/etc/init.d/munin-node restart) braucht man nur noch ein wenig zu warten und die ersten Daten fließen in die Auswertung mit ein: