Hetzner - DokuWiki

Monitoring mit Munin

Inhaltsverzeichnis

S.M.A.R.T. Monitoring mit Munin

Munin ist ein mit anderen Monitoring Lösungen vergleichbar einfaches Tool. Die Seite hier beschreibt das (nicht ganz intuitive) Vorgehen um die Daten auch über den 3ware RAID Controller auszulesen.

Diese Anleitung bezieht sich auf Debian Sarge (3.0), wird aber für Etch (4.0) bis auf das Verwenden der backports fast identisch sein.

Da von munin erst neuere Versionen S.M.A.R.T. Daten von Festplatten hinter RAID Controllern auslesen können greifen wir auf Backports zurück.

Falls Sie noch Debian Sarge (3.0) verwenden, so ist der folgende Schritt für Sie interessant. Verwenden Sie hingegen bereits Debian Etch, so können Sie den Schritt mit dem Backports-Archiv überspringen.

In die Datei:

# nano /etc/apt/sources.list

fügen wir ein:

#
# backports (aktuellere munin version)
#
deb http://www.backports.org/debian/ sarge-backports main contrib non-free

danach aktualisieren wir die Paketlisten:

# apt-get update

und testen was wir alles zu aktualisieren haben:

# apt-get install -t sarge-backports munin munin-node -s

wenn in der Liste keine unverträglichkeiten auftauchen munin installieren:

# apt-get install -t sarge-backports munin munin-node

Gleiches tun wir mit den smartmontools (installiert smartctl, das Programm das dann den Festplattenstatus ausliest)

# apt-get install -t sarge-backports smartmontools -s

und nach einer Kontrolle was passieren soll die Installation:

# apt-get install -t sarge-backports smartmontools

Wer diese Tools bereits installiert hat kann genau gleich vorgehen wie oben beschrieben.

Danach liegen in /etc/munin/plugins Verknüpfungen zu den Scripten die zu einer Status-Grafik umgewandelt werden.

Hier legen wir pro Festplatte zwei neue Softlinks an:

# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/smart_ smart_twe0-0
# ln -s /usr/share/munin/plugins/smart_ smart_twe0-1

Normalerweise würde man hier einen Softlink (z.B. wenn man nur eine Festplatte besitzt) in der Form:

# ln -s /usr/share/munin/plugins/smart_ smart_twe0-1

anlegen. Da wir aber beide Festplatten beobachten wollen müssen wir diese etwas eigenwillige Form verwenden.

Um zu überprüfen ob twe0 überhaupt eine Festplatte ist kann dies mit smartctl vorher getestet werden:

# smartctl -a /dev/twe0 -d 3ware,0

wäre dabei die erste Festplatte

# smartctl -a /dev/twe0 -d 3ware,1

die zweite. Anhand der Ausgabe:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar SE family
Device Model:     WDC WD1600JB-22GVC0
Serial Number:    WD-WCAL9xxxxxxx

kann man sehen ob es so stimmt. Jetzt müssen wir noch die munin-Konfiguration anpassen:

# nano /etc/munin/plugin-conf.d/munin-node

Am Ende der Datei fügen wir die beiden Festplatten hinzu:

[smart_*]
user root
group disk
[smart_twe0-0]
env.smartargs -H -l error -d 3ware,0
[smart_twe0-1]
env.smartargs -H -l error -d 3ware,1

Danach munin neu starten:

# /etc/init.d/munin-node restart

Als Ergebnis erhalten wir zwei (resp. pro Festplatte eine) S.M.A.R.T. Zustandsgrafiken:

Festplatten-Temperatur ausgeben

Will man noch die Temperatur der Festplatten sehen kann man einen Softlink auf das Script hddtemp anlegen:

# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/hddtemp_smartctl hddtemp_smartctl

Die Konfiguration ist ähnlich wie oben:

# nano /etc/munin/plugin-conf.d/munin-node
[hddtemp_smartctl]
user root
env.drives twe0_0 twe0_1
env.type_twe0_0 3ware,0
env.type_twe0_1 3ware,1

und munin neu starten nicht vergessen. Danach kann man auf den von munin erzeugten Seiten den Verlauf beobachten:

Hddtemp smartctl-day.png

Konfiguration für Linux Software Raid

Falls man keinen 3ware Controller im Einsatz hat und mit Linux Software Raid arbeitet sehen die Konfigurationen sehr ähnlich aus. Man erzeugt ebenfalls Soft-Links für die beiden Devices:

# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/smart_ smart_sda
# ln -s /usr/share/munin/plugins/smart_ smart_sdb

Anschliessend fügt man die Plugin-Konfiguration hinzu:

# nano /etc/munin/plugin-conf.d/munin-node

Am Ende der Datei einfügen:

[smart_*]
user root
group disk


[smart_sda]
env.smartargs -H -l error -d ata

[smart_sdb]
env.smartargs -H -l error -d ata

Hard-Disk Temperaturen mit Software Raid

# cd /etc/munin/plugins
# ln -s /usr/share/munin/plugins/hddtemp_smartctl hddtemp_smartctl

Bearbeiten der Plugin Konfiguration:

#nano /etc/munin/plugin-conf.d/munin-node

Und fügt am Ende der Datei den folgenden Abschnitt ein:

[hddtemp_smartctl]
user root
env.drives sda sdb
env.type_sda ata
env.type_sdb ata

Anschliessend nicht vergessen Munin neu zu starten:

# /etc/init.d/munin-node restart

freier FTP Backupspace monitoren

Es wird lftp benötigt.

# apt-get install lftp

Folgendes Skript in /usr/share/munin/plugins/ einbinden

#!/bin/bash
MAXLABEL=20
if [ "$1" == "autoconf" ]; then
	echo yes
 exit 0
fi
if [ "$1" == "config" ]; then
 echo 'graph_title Backup-Space'
 echo 'graph_args --base 1000 -l 0'
 echo 'graph_vlabel Space in GB'
 echo 'graph_category Backup'
 echo 'graph_order max space'
 echo 'space.label Current'
 echo 'space.draw LINE'
 echo 'max.label Max'
 echo 'max.draw AREA'
 exit 0
fi
echo -en "space.value " && echo du . | lftp -u ${user},${pass} ${ip} | awk -v LIMIT="${max}" '$1~/[0-9]+/ {QUOTA=LIMIT*1024*1024; print ($1)/1024/1024 }' | tail -1
echo -en "max.value " && echo ${max}

und verlinken

ln -s /usr/share/munin/plugins/backup_space.sh /etc/munin/plugins/backup_space

In /etc/munin/plugin-conf.d/munin-node

[backup_space]
env.user username
env.pass passwort
env.ip ftpserver
env.max 100

einfügen.

Munin neustarten:

# /etc/init.d/munin-node restart
oder
service munin-node restart

Überprüfung des Skriptes

/etc/munin/plugins# munin-run backup_space

Bei der Meldung

Certificate verification: Not trusted

in /etc/lftp.conf

set ssl:verify-certificate no

eintragen und speichern.

Die Ausagbe sollte in etwa so aussehen

space.value 17.8776
max.value 100


© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.