Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:nagios:nagios-usbbakupplatte]] 

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

anwenderwiki:nagios:nagios-usbbakupplatte [2013/03/29 14:50] (aktuell)
Zeile 1: Zeile 1:
 +{{tag>​nagios monitoring backup externe_festplatte}}
 +
 +===== USB Backup-Platte mit Nagios überwachen =====
 +
 +**Problematik:​** USB-Backup-Platten am Server sind normalerweise nicht gemounted, sondern mondo-rescue mounted sie erst, wenn es ein Bakup schreiben will. Nach dem Bakup werden die USB-Platten wieder "​unmounted"​.
 +
 +Das Nagios-plugin ''​**check_disk**''​ kann aber nur Partitionen überwachen,​ die gemounted sind.
 +
 +**Lösung:​** neues Plugin schreiben, das die Partition ggf. mounted, dann **''​check_disk''​** aufruft und schließlich die Partition wieder unmounted. Da Nagios während einem Bakup abgeschaltet wird, dürfte es keine Konflikte mit den mount-Befehlen geben.
 +
 +Neues Plugin: ''​**/​usr/​lib/​nagios/​plugins/​check_disk_partition**''​
 +
 +   #​!/​bin/​bash
 +   #
 +   # exit 0 OK
 +   # exit 1 warning
 +   # exit 2 critical
 +   
 +   ​helpmessage () {
 +      echo "Usage check_disk_partition -w <​warning>​ -c <​critical>​ -p <​device>​ -m <​mountpoint>"​
 +      exit 0
 +   }
 +   
 +   while getopts w:c:p:m:h opt
 +   do
 +      case $opt in
 +        w)     ​warn=$OPTARG
 +               ;;
 +        c)     ​critical=$OPTARG
 +               ;; ​
 +        p)     ​device=$OPTARG
 +               ;;
 +        m)     ​mountpoint=$OPTARG
 +               ;;
 +        h)     ​helpmessage
 +               ;;
 +      esac
 +   done
 +      ​
 +   ​mounten="​ja" ​  
 +   mount | grep $device > /dev/null && mounten="​nein" ​  # Das device ist bereits gemounted
 +    ​
 +   if [ "​$mounten"​ = "​ja"​ ]; then
 +      mount $device $mountpoint || exit 2
 +   fi
 +   
 +   /​usr/​lib/​nagios/​plugins/​check_disk -w $warn -c $critical -p $device
 +   ​exitstatus=$?​
 +   
 +   if [ "​$mounten"​ = "​ja"​ ]; then
 +      umount $device || exit 2
 +   fi
 +   
 +   exit $exitstatus
 +
 +**Hinweis:​** Diese Datei muss vom Besitzer ausführbar sein!
 +
 +**Zur Beachtung:​** Das einfache script fängt keine unvorhergesehenen Fehler, wie z.B. dass der mountpoint oder das device nicht existiert, ab!
 +
 +In einer neuen Datei z.B. **''​testeusb.cfg''​** im Verzeichnis **''/​etc/​nagios3/​conf.d''​** ist der neue Service einzutragen. Der verwendete mountpoint (hier: /​mnt/​usbplatte) muss auch angelegt werden. Ebenso muss ggf. der hostname angepasst werden. Das **normal_check_interval** ist dabei auf 1 Tag (1440 Minuten) gesetzt. Da Nagios nach der crontab-daily immer um 6.25 Uhr neu gestartet wird, gibt es immer morgens diesen check_disk_partition.
 +
 +   ​define command{
 +     ​command_name ​   check_disk_partition
 +     ​command_line ​   sudo /​usr/​lib/​nagios/​plugins/​check_disk_partition -w $ARG1$ -c $ARG2$ -p $ARG3$ -m $ARG4$
 +     }
 +   
 +   ​define service{
 +     ​use ​                     linuxmuster-service
 +     ​host_name ​                ​server.schule.local
 +     ​service_description ​     BACKUP-USB-Platte /dev/sdb1
 +     ​notification_options ​    ​w,​u,​c,​r
 +     ​normal_check_interval ​   1440
 +     ​retry_check_interval ​    1440
 +     ​check_command ​           check_disk_partition!40%!20%!/​dev/​sdb1!/​mnt/​usbplatte ​
 +     }
 +
 +Und schließlich die Datei **''​sudoers''​** mit **''​visudo''​** editieren (da das script für den mount-Befehl root-Rechte benötigt) - einfach auf der Konsolo **''​visudo''​** eintippen:
 +
 +Die folgenden Zeilen mit check_disk_partition außerhalb der vom Nagios Paket angebrachten Kommentare ergänzen:
 +
 +   ...
 +   # Manuell eingerichtete Nagios Checks
 +   ​Cmnd_Alias ​ NAGIOS_MANUAL=/​usr/​lib/​nagios/​plugins/​check_disk_partition
 +   ​nagios ALL=NOPASSWD:​ NAGIOS_MANUAL
 +   ...
 +
 +Diese Änderungen überleben nun auch Paketupdates von ''​linuxmuster-nagios''​.
 +
 +Zuletzt nach den Änderungen ist ein Neuladen der Konfiguration notwendig:
 +
 +  /​etc/​init.d/​nagios3 reload
 +
 +**Probleme:​** Jede Partition hat einen maximalen mount-count,​ der durch das mounten von Nagios nun viel früher erreicht wird. Nach dem Erreichen des maximalen mount-count sollte die Partition mit **''​e2fsck''​** kurz überprüft werden.
  
 [[anwenderwiki:nagios:nagios-usbbakupplatte]] anwenderwiki/nagios/nagios-usbbakupplatte.txt · Zuletzt geändert: 2013/03/29 14:50 (Externe Bearbeitung)