加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何从Nagios-Report Perl模块打印Nagios服务UP时间百分比

发布时间:2020-12-15 23:36:36 所属栏目:大数据 来源:网络整理
导读:我可以使用以下代码从 Nagios-Report Perl Module打印出Host UP Time百分比: #!/usr/bin/perluse strict ;use Nagios::Report ;my $x = Nagios::Report-new(qlocal_cgi localhost nagiosadmin) or die "Can't construct Nagios::Report object." ;$x-mkrepo
我可以使用以下代码从 Nagios-Report Perl Module打印出Host UP Time百分比:

#!/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/%//;
                    },sub {
                        my $F = shift @_ ;
                }
) ;
$x->debug_dump ;

但是,我怎样才能打印出服务时间百分比?我的意思是只输出百分比值.

我尝试了很多选择,但无法做到正确.

解决方法

这将生成服务更新时间报告,但我如何才能检索更新时间百分比值而不是完整报告?

#!/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,1,) ;

$x->debug_dump() ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读