use strict; use warnings; # Messages # ******** my $message_ok = "OK"; my $message_warning = "WARNING"; my $message_critical = "CRITICAL"; my $message_unknown = "UNKNOWN"; # Exit Status # *********** my $exit_ok = "0"; my $exit_warning = "1"; my $exit_critical = "2"; my $exit_unknown = "3"; # other Variable # *********** my $status = 3; # Wenn kein Status dann 3 (UNKNOWN) #~ my @werte=`/usr/sbin/mpt-status`; my @werte = `cat test4`; #test ausgabe my $zeile=""; #aktuelle Zeile fürs einlesen my $ausgabe; #Zeile für die Ausgabe # Programmierung # ******** foreach $zeile (@werte){ if($zeile =~ m/OPTIMAL/g){ exit "0"; } if($zeile =~ m/ONLINE/g){ exit "0"; } if($zeile =~ m/RESYNC_IN_PROGRESS/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s(\w.+)/; my $state = $ausgabe =~ /state\s\s(\w.+)/; my $flags = $ausgabe =~ /flags\s\s(\w.+)/; printf "phy: $phy, state: $state, flags: $flags ....RESYNC\n"; exit "1"; } else{ if($zeile =~ m/MISSING/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s(\w.+)/; my $state = $ausgabe =~ /state\s\s(\w.+)/; my $flags = $ausgabe =~ /flags\s\s(\w.+)/; printf "phy: $phy, state: $state, flags: $flags ....MISS\n"; exit "2"; } else{ if($zeile =~ m/OUT_OF_SYNC/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s \s([\w.]+)/; my $state = $ausgabe =~ /state\s \s([\w.]+)/; my $flags = $ausgabe =~ /flags\s \s([\w.]+)/; printf "phy: $phy, state: $state, flags: $flags ...OUT\n"; exit "2"; } else{ if($zeile =~ m/OFFLINE/g){ $ausgabe=$zeile; my $phy = $ausgabe =~ /phy\s \s([\w.]+)/; my $state = $ausgabe =~ /state\s \s([\w.]+)/; my $flags = $ausgabe =~ /flags\s \s([\w.]+)/; printf "phy: $phy, state: $state, flags: $flags ....Offline\n"; exit "2"; } }}} }