#!/usr/bin/perl use strict ; use Nagios::Report ; use Getopt::Std ; use vars qw($opt_t) ; getopt 't' ; my $usage = < Displays those hosts with less than 100% total time up during the timeperiod. timeperiod ::= today | yesterday | thisweek | lastweek | thismonth | lastmonth | thisyear | lastyear last12hours | last24hours | last7days | last31days USAGE die $usage unless $opt_t ; die $usage unless $opt_t =~ /^(?:today|yesterday|this(?:week|month|year)|last(?:week|month|year|24hours|12hours|7days|31days))/ ; my $x = Nagios::Report->new(q, [ qw(24x7) ], $opt_t) or die "Can't construct Nagios::Report object." ; $x->mkreport( [ qw( HOST_NAME PERCENT_TOTAL_TIME_UP DOWN UP OUTAGE ) ], sub { my %F = @_; my $u = $F{PERCENT_TOTAL_TIME_UP}; $u =~ s/%//; $u < 100 }, &comp(alpha => 0, ascend => 0, fields => [qw(TOTAL_TIME_DOWN TOTAL_TIME_UNREACHABLE)]), undef, 1, ) ; $x->debug_dump(20) ;