我可以打印出来HostUP 时间百分比从Nagios-报告 Perl 模块 http://search.cpan.org/~hopcrofts/Nagios-Report-0.003/与以下代码:
#!/usr/bin/perl
use strict ;
use Nagios::Report ;
my $x = Nagios::Report->new(q<local_cgi localhost nagiosadmin>)
or die "Can't construct Nagios::Report object." ;
$x->mkreport(
[ qw(HOST_NAME PERCENT_TOTAL_TIME_UP) ],
sub {
my %F = @_; my $u = $F{PERCENT_TOTAL_TIME_UP}; $u =~ s/%//;
},
0,
sub {
my $F = shift @_ ;
}
) ;
$x->debug_dump ;
但我怎样才能只打印出来ServiceUP 时间百分比?我的意思是只输出百分比值。
我尝试了很多选择,但都无法做出正确的选择。
这将生成服务 UP 时间报告,但如何仅检索 UP 时间百分比值而不是完整报告?
#!/usr/bin/perl
use strict ;
use Nagios::Report ;
my $x = Nagios::Report->new(
# Data source
q<local_cgi localhost nagiosadmin>,
# Report period
[ qw(24x7) ],
# Time period
'last7days',
# Service report
1,
# Pre-filter
sub { my %F = @_; my $u = $F{PERCENT_TOTAL_TIME_OK}; $u =~ s/%//; $u < 100 }
)
or die "Can't construct Nagios::Report object." ;
$x->mkreport(
[
qw(
HOST_NAME
PERCENT_TOTAL_TIME_OK
DOWN
UP
OUTAGE
)
],
sub { my %F = @_; my $u = $F{PERCENT_TOTAL_TIME_OK}; $u =~ s/%//; $u < 100 },
undef,
undef,
1,
) ;
$x->debug_dump() ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)