����JFIF��x�x����'
| Server IP : 78.140.185.180 / Your IP : 216.73.216.38 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 : /proc/self/root/proc/self/root/proc/self/root/lib64/nagios/plugins/extra/ |
Upload File : |
#!/usr/bin/env perl
use extreme;
use Carp;
use File::Slurp;
use WHM::Client;
use IPC::Run 'run';
# check os release
my $release = read_file '/etc/redhat-release';
if (($release =~ /(\d+(\.\d+)?)/) && ($1 < 7)){
say "CloudLinux release less than the required version!";
exit 0;
}
sub lvectl_json ( $func, %params ) {
my $lvectl = '/sbin/lvectl';
croak "executable file $lvectl not found" if !-x $lvectl;
my $opt_string = q{};
for my $key ( keys %params ) {
$opt_string .= q{ } if length $opt_string;
$opt_string .= "--$key=$params{$key}";
}
my @cmd = split /\s+/, "$lvectl --json $func $opt_string";
my ( $out, $err );
run \@cmd, \undef, \$out, \$err;
croak "$out" if $? != 0;
$out = JSON::XS->new->utf8->decode($out);
if ( exists $out->{status} ) {
croak $out if $out->{status} eq 'ERROR';
return $out;
}
else {
return $out->{data};
}
}
my (@result, @skip_list);
my $whm_cli = WHM::Client->local();
my $skip_list = '/etc/skipresellerslimits';
@skip_list = read_file($skip_list) if -f $skip_list;
chomp @skip_list;
for my $reseller ($whm_cli->listresellers()->{reseller}->@*) {
next if $reseller eq 'billing';
next if $reseller ~~ @skip_list;
my $clresources = lvectl_json( "list-reseller $reseller");
my $resources;
for my $res ($clresources->@*){
$resources = $res if $res->{ID} eq 'limit';
}
next if $resources;
push @result, "$reseller doesn't have CloudLinux limits";
}
if (@result) {
say join( "\n", @result );
exit 2;
}
say "resellers cloudlinux limits is OK";