monitoring-plugins/plugins-scripts/utils.pm.in
Monitoring Plugins Development Team 63734f52ab Project rename initial commit.
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.
2014-01-19 14:18:47 -05:00

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;