mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-02-19 02:27:55 -05:00
This is an initial take at renaming the project to Monitoring Plugins. It's not expected to be fully complete, and it is expected to break things (The perl module for instance). More testing will be required before this goes mainline.
67 lines
1.4 KiB
Perl
67 lines
1.4 KiB
Perl
# Utility drawer for monitoring plugins.
|
|
#
|
|
# This will be deprecated soon. Please use Monitoring::Plugin from CPAN
|
|
# for new plugins
|
|
|
|
package utils;
|
|
|
|
require Exporter;
|
|
@ISA = qw(Exporter);
|
|
@EXPORT_OK = qw($TIMEOUT %ERRORS &print_revision &support &usage);
|
|
|
|
#use strict;
|
|
#use vars($TIMEOUT %ERRORS);
|
|
sub print_revision ($$);
|
|
sub usage;
|
|
sub support();
|
|
sub is_hostname;
|
|
|
|
## updated by autoconf
|
|
$PATH_TO_RPCINFO = "@PATH_TO_RPCINFO@" ;
|
|
$PATH_TO_LMSTAT = "@PATH_TO_LMSTAT@" ;
|
|
$PATH_TO_SMBCLIENT = "@PATH_TO_SMBCLIENT@" ;
|
|
$PATH_TO_MAILQ = "@PATH_TO_MAILQ@";
|
|
$PATH_TO_QMAIL_QSTAT = "@PATH_TO_QMAIL_QSTAT@";
|
|
|
|
## common variables
|
|
$TIMEOUT = 15;
|
|
%ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4);
|
|
|
|
## utility subroutines
|
|
sub print_revision ($$) {
|
|
my $commandName = shift;
|
|
my $pluginRevision = shift;
|
|
print "$commandName v$pluginRevision (@PACKAGE@ @VERSION@)\n";
|
|
print "@WARRANTY@";
|
|
}
|
|
|
|
sub support () {
|
|
my $support='@SUPPORT@';
|
|
$support =~ s/@/\@/g;
|
|
$support =~ s/\\n/\n/g;
|
|
print $support;
|
|
}
|
|
|
|
sub usage {
|
|
my $format=shift;
|
|
printf($format,@_);
|
|
exit $ERRORS{'UNKNOWN'};
|
|
}
|
|
|
|
sub is_hostname {
|
|
my $host1 = shift;
|
|
return 0 unless defined $host1;
|
|
if ($host1 =~ m/^[\d\.]+$/ && $host1 !~ /\.$/) {
|
|
if ($host1 =~ m/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
} elsif ($host1 =~ m/^[a-zA-Z0-9][-a-zA-Z0-9]*(\.[a-zA-Z0-9][-a-zA-Z0-9]*)*\.?$/) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
1;
|