mirror of
https://github.com/opinkerfi/nagios-plugins.git
synced 2024-11-24 19:33:46 +01:00
commit
6b15a3932b
@ -24,6 +24,7 @@
|
|||||||
-h | --help : Display this help
|
-h | --help : Display this help
|
||||||
-w | --warning : % free space to send warning alert (default 10)
|
-w | --warning : % free space to send warning alert (default 10)
|
||||||
-c | --critical : % free space to send critical alert (default 5)
|
-c | --critical : % free space to send critical alert (default 5)
|
||||||
|
-I | --inodes : Check for inodes
|
||||||
-H | --host : host you want to check by NRPE (default localhost)
|
-H | --host : host you want to check by NRPE (default localhost)
|
||||||
-u | --user : user for NRPE connection (default nagios)
|
-u | --user : user for NRPE connection (default nagios)
|
||||||
-i | --ignore : Filesystem you want to ignore
|
-i | --ignore : Filesystem you want to ignore
|
||||||
@ -94,6 +95,9 @@ not be used.
|
|||||||
|
|
||||||
$Log: check_disk.pl,v $
|
$Log: check_disk.pl,v $
|
||||||
|
|
||||||
|
Revision 1.10 2013/03/01 14:28:00 tryggvi@ok.is
|
||||||
|
o Added support for inodes
|
||||||
|
|
||||||
Revision 1.9 2010/02/27 00:55:00 palli@ok.is
|
Revision 1.9 2010/02/27 00:55:00 palli@ok.is
|
||||||
o Changed UNKNOWN return code from -1 to 3
|
o Changed UNKNOWN return code from -1 to 3
|
||||||
o Modified to use check_nrpe instead of ssh
|
o Modified to use check_nrpe instead of ssh
|
||||||
@ -129,7 +133,7 @@ use Pod::Usage;
|
|||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
my ($opt_c, $opt_w, $opt_h, $opt_i,$opt_f,$opt_s,$opt_u,$opt_H,$opt_C,$opt_v,
|
my ($opt_c, $opt_w, $opt_h, $opt_i,$opt_f,$opt_s,$opt_u,$opt_H,$opt_C,$opt_v,
|
||||||
$opt_html, $opt_srvperf, $opt_r, $opt_R);
|
$opt_html, $opt_srvperf, $opt_r, $opt_R, $opt_inodes);
|
||||||
|
|
||||||
$ENV{'PATH'} = "/usr/lib/nagios/plugins:/usr/lib64/nagios/plugins:/usr/local/libexec:/usr/libexec:/usr/local/nagios/libexec";
|
$ENV{'PATH'} = "/usr/lib/nagios/plugins:/usr/lib64/nagios/plugins:/usr/local/libexec:/usr/libexec:/usr/local/nagios/libexec";
|
||||||
|
|
||||||
@ -140,12 +144,13 @@ $opt_c = "5"; # Valeur par defaut de critical
|
|||||||
$opt_H = "localhost";
|
$opt_H = "localhost";
|
||||||
$opt_R = q/^$/;
|
$opt_R = q/^$/;
|
||||||
$opt_r = "";
|
$opt_r = "";
|
||||||
|
my $cmd = "/bin/df -k";
|
||||||
|
my $multiply = 1024; # For bytes
|
||||||
|
|
||||||
my $exclude_re = "(^//|^none)";
|
my $exclude_re = "(^//|^none)";
|
||||||
|
|
||||||
my %alldisks; # Tous les disques trouves avec la commande df
|
my %alldisks; # Tous les disques trouves avec la commande df
|
||||||
my %checkdisks; # seulement les disque a verifier
|
my %checkdisks; # seulement les disque a verifier
|
||||||
my $cmd = "/bin/df -k";
|
|
||||||
my $output ;
|
my $output ;
|
||||||
my $retour = 'OK';
|
my $retour = 'OK';
|
||||||
my %EXIT_CODES = (
|
my %EXIT_CODES = (
|
||||||
@ -168,6 +173,7 @@ GetOptions(
|
|||||||
"i=s" => \$opt_i, "ignore=s" => \$opt_i,
|
"i=s" => \$opt_i, "ignore=s" => \$opt_i,
|
||||||
"f=s" => \$opt_f, "filesystem=s" => \$opt_f,
|
"f=s" => \$opt_f, "filesystem=s" => \$opt_f,
|
||||||
"C=s" => \$opt_C, "conf=s" => \$opt_C,
|
"C=s" => \$opt_C, "conf=s" => \$opt_C,
|
||||||
|
"I" => \$opt_inodes, "inodes" => \$opt_inodes,
|
||||||
"v" => \$opt_v, "verbose" => \$opt_v,
|
"v" => \$opt_v, "verbose" => \$opt_v,
|
||||||
"r=s" => \$opt_r, "R=s" => \$opt_R,
|
"r=s" => \$opt_r, "R=s" => \$opt_R,
|
||||||
"html" => \$opt_html,
|
"html" => \$opt_html,
|
||||||
@ -197,10 +203,20 @@ my $args;
|
|||||||
# ->{critical} : taux critique en % espace libre
|
# ->{critical} : taux critique en % espace libre
|
||||||
#
|
#
|
||||||
|
|
||||||
|
if(defined($opt_inodes)){
|
||||||
|
# Using -i for inodes
|
||||||
|
$cmd = "/bin/df -i";
|
||||||
|
$multiply = 1000;
|
||||||
|
}
|
||||||
|
|
||||||
#Si on est en local inutile de faire du nrpe
|
#Si on est en local inutile de faire du nrpe
|
||||||
if($opt_H ne "localhost" and $opt_H ne "127.0.0.1") {
|
if($opt_H ne "localhost" and $opt_H ne "127.0.0.1") {
|
||||||
#$cmd = "ssh $opt_u\@$opt_H '$cmd'";
|
#$cmd = "ssh $opt_u\@$opt_H '$cmd'";
|
||||||
$cmd = "check_nrpe -H $opt_H -c get_disks";
|
if(defined($opt_inodes)){
|
||||||
|
$cmd = "check_nrpe -H $opt_H -c get_disks_inodes";
|
||||||
|
} else {
|
||||||
|
$cmd = "check_nrpe -H $opt_H -c get_disks";
|
||||||
|
}
|
||||||
#$cmd = "cat /tmp/df";
|
#$cmd = "cat /tmp/df";
|
||||||
#print "$cmd";
|
#print "$cmd";
|
||||||
}
|
}
|
||||||
@ -242,9 +258,9 @@ foreach my $l (@output) {
|
|||||||
my ($s,$u,$f,$pu,$d) = ($1,$2,$3,$4,$5);
|
my ($s,$u,$f,$pu,$d) = ($1,$2,$3,$4,$5);
|
||||||
$alldisks{$d}->{pused} = $pu;
|
$alldisks{$d}->{pused} = $pu;
|
||||||
$alldisks{$d}->{pfree} = 100-$pu;
|
$alldisks{$d}->{pfree} = 100-$pu;
|
||||||
$alldisks{$d}->{somme} = $s*1024;
|
$alldisks{$d}->{somme} = $s*$multiply;
|
||||||
$alldisks{$d}->{used} = $u*1024;
|
$alldisks{$d}->{used} = $u*$multiply;
|
||||||
$alldisks{$d}->{free} = $f*1024;
|
$alldisks{$d}->{free} = $f*$multiply;
|
||||||
|
|
||||||
# par defaut on prend les taux Warn et Crit specifies
|
# par defaut on prend les taux Warn et Crit specifies
|
||||||
updateRates($d,$opt_w,$opt_c,$alldisks{$d}->{somme});
|
updateRates($d,$opt_w,$opt_c,$alldisks{$d}->{somme});
|
||||||
@ -259,9 +275,9 @@ foreach my $l (@output) {
|
|||||||
my ($d,$s,$u,$f,$pu) = ("/$1",$2,$3,$4,$5);
|
my ($d,$s,$u,$f,$pu) = ("/$1",$2,$3,$4,$5);
|
||||||
$alldisks{$d}->{pused} = $pu;
|
$alldisks{$d}->{pused} = $pu;
|
||||||
$alldisks{$d}->{pfree} = 100-$pu;
|
$alldisks{$d}->{pfree} = 100-$pu;
|
||||||
$alldisks{$d}->{somme} = $s*1024;
|
$alldisks{$d}->{somme} = $s*$multiply;
|
||||||
$alldisks{$d}->{used} = $u*1024;
|
$alldisks{$d}->{used} = $u*$multiply;
|
||||||
$alldisks{$d}->{free} = $f*1024;
|
$alldisks{$d}->{free} = $f*$multiply;
|
||||||
#print $l;
|
#print $l;
|
||||||
#print "pused = $pu\n";
|
#print "pused = $pu\n";
|
||||||
#print "pfree = 100-$pu\n";
|
#print "pfree = 100-$pu\n";
|
||||||
@ -438,14 +454,15 @@ sub byte2percent {
|
|||||||
print "Erreur : unite inconnue ($unit)\n";
|
print "Erreur : unite inconnue ($unit)\n";
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($unit eq 'K') {
|
if($unit eq 'K') {
|
||||||
$return = sprintf("%d",100*(1024*$value)/$max);
|
$return = sprintf("%d",100*($multiply*$value)/$max);
|
||||||
} elsif ($unit eq 'M') {
|
} elsif ($unit eq 'M') {
|
||||||
$return = sprintf("%d",100*(1024*1024*$value)/$max);
|
$return = sprintf("%d",100*($multiply*$multiply*$value)/$max);
|
||||||
} elsif ($unit eq 'G') {
|
} elsif ($unit eq 'G') {
|
||||||
$return = sprintf("%d",100*(1024*1024*1024*$value)/$max);
|
$return = sprintf("%d",100*($multiply*$multiply*$multiply*$value)/$max);
|
||||||
} elsif ($unit eq 'T') {
|
} elsif ($unit eq 'T') {
|
||||||
$return = sprintf("%d",100*(1024*1024*1024*1024*$value)/$max);
|
$return = sprintf("%d",100*($multiply*$multiply*$multiply*$multiply*$value)/$max);
|
||||||
}
|
}
|
||||||
#Borne a 100 %
|
#Borne a 100 %
|
||||||
if($return > 100) {
|
if($return > 100) {
|
||||||
@ -460,8 +477,8 @@ sub byte2human {
|
|||||||
|
|
||||||
my @units = qw/B K M G T/;
|
my @units = qw/B K M G T/;
|
||||||
|
|
||||||
while (($value / 1024) >= 1) {
|
while (($value / $multiply) >= 1) {
|
||||||
$value /= 1024;
|
$value /= $multiply;
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
return sprintf('%.1f%s',$value, $units[$i]);
|
return sprintf('%.1f%s',$value, $units[$i]);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Summary: A Nagios plugin to check disks via NRPE
|
Summary: A Nagios plugin to check disks via NRPE
|
||||||
Name: nagios-okplugin-check_disks
|
Name: nagios-okplugin-check_disks
|
||||||
Version: 1.0.3
|
Version: 1.0.4
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
@ -40,6 +40,9 @@ rm -rf %{buildroot}
|
|||||||
%{_libdir}/nagios/plugins/check_disks.pl
|
%{_libdir}/nagios/plugins/check_disks.pl
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Mar 02 2013 Tryggvi Farestveit <tryggvi@linux.is> 1.0.4-1
|
||||||
|
- Added support for inodes
|
||||||
|
|
||||||
* Wed May 16 2012 Tomas Edwardsson <tommi@tommi.org> 1.0.3-1
|
* Wed May 16 2012 Tomas Edwardsson <tommi@tommi.org> 1.0.3-1
|
||||||
- Updated version of nagios-okplugin-check_disks (tommi@tommi.org)
|
- Updated version of nagios-okplugin-check_disks (tommi@tommi.org)
|
||||||
- Issue #56, temporary fix for selinux and disk checks (tommi@tommi.org)
|
- Issue #56, temporary fix for selinux and disk checks (tommi@tommi.org)
|
||||||
|
Loading…
Reference in New Issue
Block a user