2013-01-11 36 views
6

मैं बाहर होस्ट यूपी समय प्रतिशत Nagios-Report Perl Module से निम्न कोड के साथ मुद्रित कर सकते हैं:Nagios-रिपोर्ट पर्ल मॉड्यूल से Nagios सेवा यूपी समय का प्रतिशत प्रिंट आउट कैसे

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

लेकिन कैसे मैं केवल सेवा प्रिंट कर सकते हैं यूपी समय प्रतिशत? मेरा मतलब केवल प्रतिशत मूल्य का उत्पादन करना है।

मैंने कई विकल्पों की कोशिश की लेकिन इसे सही नहीं मिला।

+1

मेरा सुझाव है कि आप उस पृष्ठ को पढ़ लें जो आपने लिंक किया था और 'सेवा' की खोज की थी। उदाहरण के लिए, निम्न पाठ उपयोग पर संकेत देता है: 'HOST_OR_SERVICE होस्ट रिपोर्ट की बजाय सेवा रिपोर्ट निर्दिष्ट करने वाला एक वैकल्पिक स्केलर है। यदि सेट नहीं है, तो होस्ट रिपोर्ट तैयार की जाती है। –

+0

धन्यवाद, मुझे समझ में नहीं आता कि सेवा रिपोर्ट कैसे तैयार की जाए। मुझे क्या सेट करना चाहिए? – Zim3r

+1

@ Zim3r शायद मेरा $ x = नागियो :: रिपोर्ट-> नया (q ) –

उत्तर

2

यह सेवा यूपी टाइम रिपोर्ट तैयार करेगा, लेकिन मैं पूरी रिपोर्ट के बजाय यूपी टाइम प्रतिशत मूल्य कैसे प्राप्त कर सकता हूं?

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