#!/usr/bin/perl -w ############################################################################## # # NAME: csRosetta # # AUTHORS: Simone Badoer # # CREATED: 28-Jul-2011 # ############################################################################## =head1 NAME csRosetta =head1 SYNOPSIS csRosetta /=head1 DESCRIPTION csRosetta probe =cut use strict; use warnings; use Nagios::Plugin; use constant PROGNAME => "csRosetta"; use constant VERSION => '1.0'; use constant DESCRIPTION => 'csRosetta probe'; use constant EXTRA_DESC => ""; use constant LICENSE => ''; use constant SHORTNAME => 'csRosetta-probe'; use constant USAGE => "usage csRosetta"; # Create Nagios::Plugin instance my $plugin = Nagios::Plugin->new (usage => USAGE, shortname => SHORTNAME, version => VERSION, blurb => DESCRIPTION, extra => EXTRA_DESC, license => LICENSE, plugin => PROGNAME); #$plugin->add_arg( # spec => 'H=s', # help => "-H\n Hostname.\n", # required => 1, #); #$plugin->add_arg( # spec => 'vo=s', # help => "--vo\n VO.\n", # required => 1, #); #$plugin->add_arg( # spec => 'x=s', # help => "-x\n X509_USER_PROXY.\n", # required => 1, #); $plugin->getopts(); local $SIG{ALRM} = sub { $plugin->nagios_die("Timeout occured during csRosetta."); }; local $SIG{TERM} = sub { $plugin->nagios_die("Plugin received TERM signal."); }; ######################## # # MAIN # ######################## system("export LCG_CATALOG_TYPE=lfc; export LFC_HOST=lfcserver.cnaf.infn.it; export LCG_GFAL_INFOSYS=bdii-wenmr.pd.infn.it:2170; lcg-cp -v --vo enmr.eu lfn:/grid/enmr.eu/badoer/run-csRosetta.nagios.sh file://`pwd`/run-csRosetta.nagios.sh>lcg-cp.out"); system("sh run-csRosetta.nagios.sh > rosetta.out"); my $id=`id`; my $list=`ls -l`; my $lcgcpOutput=`cat lcg-cp.out`; my $rosettaCat=`cat rosetta.out`; my $rosettaOutput=`cat rosetta.out | grep DONE`; if ($rosettaOutput) { $plugin->nagios_exit(OK,"$rosettaOutput"); } else { $plugin->nagios_exit(WARNING," - csRosetta error.\nid \n$id\nlcg-cp -v --vo enmr.eu lfn:/grid/enmr.eu/badoer/run-csRosetta.nagios.sh file://`pwd`/run-csRosetta.nagios.sh\n$lcgcpOutput\nls -l\n$list\ncat rosetta.out\n$rosettaCat"); }