r52346 - in /trunk/libnagios-object-perl: Build.PL ChangeLog MANIFEST META.yml debian/changelog lib/Nagios/Host.pm lib/Nagios/Object.pm lib/Nagios/Service.pm lib/Nagios/StatusLog.pm t/70status.dat t/70status.t

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Mon Feb 8 23:12:27 UTC 2010


Author: jawnsy-guest
Date: Mon Feb  8 23:12:21 2010
New Revision: 52346

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=52346
Log:
New upstream release

Removed:
    trunk/libnagios-object-perl/lib/Nagios/Host.pm
    trunk/libnagios-object-perl/lib/Nagios/Service.pm
Modified:
    trunk/libnagios-object-perl/Build.PL
    trunk/libnagios-object-perl/ChangeLog
    trunk/libnagios-object-perl/MANIFEST
    trunk/libnagios-object-perl/META.yml
    trunk/libnagios-object-perl/debian/changelog
    trunk/libnagios-object-perl/lib/Nagios/Object.pm
    trunk/libnagios-object-perl/lib/Nagios/StatusLog.pm
    trunk/libnagios-object-perl/t/70status.dat
    trunk/libnagios-object-perl/t/70status.t

Modified: trunk/libnagios-object-perl/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/Build.PL?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/Build.PL (original)
+++ trunk/libnagios-object-perl/Build.PL Mon Feb  8 23:12:21 2010
@@ -4,7 +4,7 @@
 
 my $build = Module::Build->new(
     dist_name      => 'Nagios-Object',
-    dist_version   => "0.21.8",
+    dist_version   => "0.21.9",
     dist_author    => 'Duncan Ferguson <duncs at cpan.org>',
     dist_abstract  => 'Nagios::Object - Nagios object configuration parsing.',
     license        => 'gpl',

Modified: trunk/libnagios-object-perl/ChangeLog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/ChangeLog?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/ChangeLog (original)
+++ trunk/libnagios-object-perl/ChangeLog Mon Feb  8 23:12:21 2010
@@ -105,3 +105,5 @@
        - Run 'perltidy -pbp' across all perl code
 0.21.8 - Apply speedup patch for v2 to v3 from PJNewman's patch (RT#47912)
        - Apply patch from Stephen Gran to add in more missing methods (RT#49411)
+0.21.9 - Fixed speedup patch using logic similar to Nagios' for parsing status.dat
+       - Added more comprehensive test for parsing status file

Modified: trunk/libnagios-object-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/MANIFEST?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/MANIFEST (original)
+++ trunk/libnagios-object-perl/MANIFEST Mon Feb  8 23:12:21 2010
@@ -7,10 +7,8 @@
 ChangeLog
 lib/Nagios/Config.pm
 lib/Nagios/Config/File.pm
-lib/Nagios/Host.pm
 lib/Nagios/Object.pm
 lib/Nagios/Object/Config.pm
-lib/Nagios/Service.pm
 lib/Nagios/StatusLog.pm
 MANIFEST
 META.yml

Modified: trunk/libnagios-object-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/META.yml?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/META.yml (original)
+++ trunk/libnagios-object-perl/META.yml Mon Feb  8 23:12:21 2010
@@ -1,6 +1,6 @@
 ---
 name: Nagios-Object
-version: 0.21.8
+version: 0.21.9
 author:
   - 'Duncan Ferguson <duncs at cpan.org>'
 abstract: 'Nagios::Object - Nagios object configuration parsing.'
@@ -24,8 +24,8 @@
     file: lib/Nagios/Config/File.pm
     version: 35
   Nagios::Host:
-    file: lib/Nagios/Host.pm
-    version: 0.21
+    file: lib/Nagios/Object.pm
+    version: 0
   Nagios::Host::Status:
     file: lib/Nagios/StatusLog.pm
     version: 0.1
@@ -45,8 +45,8 @@
     file: lib/Nagios/StatusLog.pm
     version: 0.1
   Nagios::Service:
-    file: lib/Nagios/Service.pm
-    version: 0.21
+    file: lib/Nagios/Object.pm
+    version: 0
   Nagios::Service::Status:
     file: lib/Nagios/StatusLog.pm
     version: 0.1
@@ -55,7 +55,7 @@
     version: 0
   Nagios::StatusLog:
     file: lib/Nagios/StatusLog.pm
-    version: 40
+    version: 41
 generated_by: Module::Build version 0.33
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html

Modified: trunk/libnagios-object-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/debian/changelog?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/debian/changelog (original)
+++ trunk/libnagios-object-perl/debian/changelog Mon Feb  8 23:12:21 2010
@@ -1,9 +1,13 @@
-libnagios-object-perl (0.21.8-2) UNRELEASED; urgency=low
+libnagios-object-perl (0.21.9-1) UNRELEASED; urgency=low
 
+  [ gregor herrmann ]
   * debian/control: Changed: (build-)depend on perl instead of perl-
     modules.
 
- -- gregor herrmann <gregoa at debian.org>  Fri, 23 Oct 2009 02:25:33 +0200
+  [ Jonathan Yu ]
+  * New upstream release
+
+ -- Jonathan Yu <jawnsy at cpan.org>  Mon, 08 Feb 2010 18:19:08 -0500
 
 libnagios-object-perl (0.21.8-1) unstable; urgency=low
 

Modified: trunk/libnagios-object-perl/lib/Nagios/Object.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/lib/Nagios/Object.pm?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/lib/Nagios/Object.pm (original)
+++ trunk/libnagios-object-perl/lib/Nagios/Object.pm Mon Feb  8 23:12:21 2010
@@ -46,11 +46,7 @@
 sub NAGIOS_V3_ONLY    { 1 << 9 }    # not valid for nagios v1 or v2
 
 # export constants - the :all tag will export them all
-our %EXPORT_TAGS = (
-    all => [
-        qw(NAGIOS_NO_INHERIT NAGIOS_PERL_ONLY NAGIOS_V1 NAGIOS_V2 NAGIOS_V3 NAGIOS_V1_ONLY NAGIOS_V2_ONLY NAGIOS_V3_ONLY NAGIOS_NO_DISPLAY)
-    ]
-);
+our %EXPORT_TAGS = ( all => [ qw(NAGIOS_NO_INHERIT NAGIOS_PERL_ONLY NAGIOS_V1 NAGIOS_V2 NAGIOS_V3 NAGIOS_V1_ONLY NAGIOS_V2_ONLY NAGIOS_V3_ONLY NAGIOS_NO_DISPLAY) ] );
 Exporter::export_ok_tags('all');
 
 # we also export %nagios_setup only if it is asked for by name
@@ -71,7 +67,7 @@
     Service => {
         use                 => [ 'Nagios::Service', 10 ],
         service_description => [ 'STRING',          10 ],
-        display_name        => ['STRING',             280],
+        display_name        => [ 'STRING',          280 ],
         host_name      => [ ['Nagios::Host'],         10 ],
         servicegroups  => [ ['Nagios::ServiceGroup'], 280 ],
         hostgroup_name => [ ['Nagios::HostGroup'],    256 ],
@@ -294,8 +290,8 @@
         notification_interval => [ 'INTEGER',   280 ],
         name                  => [ 'host_name', 280 ],
         comment               => [ 'comment',   280 ],
-        escalation_options    => [[qw(d u r)],  280 ],
-        file                  => [ 'filename',  280 ]
+        escalation_options => [ [qw(d u r)], 280 ],
+        file => [ 'filename', 280 ]
     },
     HostDependency => {
         use                      => [ 'Nagios::HostDependency', 280 ],
@@ -464,13 +460,11 @@
 
     #print "type: $type, key: $nagios_setup_key\n";
 
-    confess
-        "invalid type '$type' for Nagios::Object - does not exist in \%nagios_setup"
+    confess "invalid type '$type' for Nagios::Object - does not exist in \%nagios_setup"
         if ( !exists $nagios_setup{$nagios_setup_key} );
 
     # set everything to undef by default
-    my %default
-        = map { $_ => undef } keys %{ $nagios_setup{$nagios_setup_key} };
+    my %default = map { $_ => undef } keys %{ $nagios_setup{$nagios_setup_key} };
 
     # if pre_link is set, don't set objects' resolved/registered flag
     if ($pre_link) {
@@ -497,8 +491,7 @@
             # timeranges must be parsed into ARRAYs, so parse it here so that
             # users don't have to figure out the arrays and so we don't have
             # to export parse_time_range
-            if ( $nagios_setup{$nagios_setup_key}->{$key}[0] eq 'TIMERANGE' )
-            {
+            if ( $nagios_setup{$nagios_setup_key}->{$key}[0] eq 'TIMERANGE' ) {
                 $args{$key} = parse_time_range( $args{$key} );
             }
             $default{$key} = $args{$key};
@@ -633,8 +626,7 @@
             return $self->{_use};
         }
         else {
-            confess
-                "Unable to walk object heirarchy without object configuration.";
+            confess "Unable to walk object heirarchy without object configuration.";
         }
     }
 }
@@ -662,9 +654,7 @@
 
     if ( $name_method eq 'generated' ) {
         $_name_hack++;
-        return
-            ref($self) . '-'
-            . $_name_hack;    # FIXME: this should work but feels wrong
+        return ref($self) . '-' . $_name_hack;    # FIXME: this should work but feels wrong
     }
 
     if ( !$self->register ) {
@@ -846,7 +836,7 @@
 
     if ( !$pre_link && !$fast_mode && exists $vf->{$key} ) {
 
-       # validate passed in arugments against arrayref in $vf (\%valid_fields)
+        # validate passed in arugments against arrayref in $vf (\%valid_fields)
         $self->_validate( $key, $value, @{ $vf->{$key} } );
     }
 
@@ -885,9 +875,7 @@
             # process single values as an arrayref anyways for consistency
             if ( ref($value) ne 'ARRAY' ) { $value = [$value] }
             foreach my $val (@$value) {
-                croak "object isa '"
-                    . ref($val)
-                    . "' when it should be a '$type'"
+                croak "object isa '" . ref($val) . "' when it should be a '$type'"
                     if ( ref($val) ne $type->[0] );
             }
         }
@@ -963,8 +951,7 @@
         return $self->set_hostgroup( [ @existing, shift ] );
     }
     else {
-        confess
-            "Called set_hostgroup() on an object that doesn't support it.";
+        confess "Called set_hostgroup() on an object that doesn't support it.";
     }
 }
 
@@ -1023,7 +1010,7 @@
             # name() is a special case and is implemented by hand
             next if ( $method eq 'name' );
 
-        # the members() method in ServiceGroup is implemented manually (below)
+            # the members() method in ServiceGroup is implemented manually (below)
             next
                 if ( $pkg eq 'Nagios::ServiceGroup' && $method eq 'members' );
 
@@ -1078,8 +1065,7 @@
         $pkg->_make_method($setup_field);
     }
     else {
-        confess
-            "Invalid method call.   $pkg does not know about method $method.";
+        confess "Invalid method call.   $pkg does not know about method $method.";
     }
 
     goto \&{$AUTOLOAD};
@@ -1088,6 +1074,8 @@
 # ---------------------------------------------------------------------------- #
 # ---------------------------------------------------------------------------- #
 # special-case methods coded straight into their packages
+
+1;
 
 package Nagios::Host;
 our $VERSION = $Nagios::Object::VERSION;
@@ -1096,12 +1084,16 @@
 sub hostgroups     { shift->hostgroup(@_); }
 sub set_hostgroups { shift->set_hostgroup(@_); }
 
+1;
+
 package Nagios::HostGroup;
 our $VERSION = $Nagios::Object::VERSION;
 
 # aliases
 sub hostgroup     { shift->hostgroup_name(@_); }
 sub set_hostgroup { shift->set_hostgroup_name(@_); }
+
+1;
 
 package Nagios::ServiceGroup;
 use Carp;
@@ -1127,8 +1119,7 @@
     # has resolved yet
     if ( $self->resolved ) {
         foreach my $item (@_) {
-            confess
-                "set_members() arguments must be objects after resolve_objects() has been called."
+            confess "set_members() arguments must be objects after resolve_objects() has been called."
                 unless ( ref($item) );
             push @members, $item;
         }
@@ -1165,6 +1156,8 @@
     return @out;
 }
 
+1;
+
 package Nagios::Service;
 our $VERSION = $Nagios::Object::VERSION;
 

Modified: trunk/libnagios-object-perl/lib/Nagios/StatusLog.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/lib/Nagios/StatusLog.pm?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/lib/Nagios/StatusLog.pm (original)
+++ trunk/libnagios-object-perl/lib/Nagios/StatusLog.pm Mon Feb  8 23:12:21 2010
@@ -25,7 +25,7 @@
 
 # NOTE: due to CPAN version checks this cannot currently be changed to a
 # standard version string, i.e. '0.21'
-our $VERSION = '40';
+our $VERSION = '41';
 
 # this is going to be rewritten to use AUTOLOAD + method caching in a future version
 BEGIN {
@@ -457,32 +457,29 @@
     open( $log_fh, "<$self->{LOGFILE}" )
         || croak "could not open file $self->{LOGFILE} for reading: $!";
 
-# change the first line of the RE to this:
-# (info|programstatus|hoststatus|servicestatus|contactstatus|servicecomment|hostcomment|servicedowntime|hostdowntime) \s* {(
-# to make it a bit more careful, but it has a measurable cost on runtime
-    my $entry_re = qr/
-        # capture the type into $1
-        (\w+) \s*
-        # capture all of the text between the brackets into $2
-        {( .*? )}
-        # match the last bracket only if followed by another definition
-        (?=(?: \s* (?:info|programstatus|hoststatus|servicestatus|contacstatus|servicecomment|hostcomment|servicedowntime|hostdowntime) \s* { | \Z) )
-        # capture remaining text (1-2 lines) into $3 for re-processing
-        (.*)$
-    /xs;
-
-    my @lines = <$log_fh>;
-    my $file  = "@lines";
-
-#Drop comments if we don't need them as it should speed things up a little bit.
-#Comment out the line below if you do want to keep comments
-    $file =~ s/#.*\n//mg;
-    $file =~ s/[\r\n]+\s*/\n/g;    # clean up whitespace and newlines
-
-    while ( $file =~ /$entry_re/g ) {
-        ( my $type, my $text ) = ( $1, $2 );
-        my %item = map { split /\s*=\s*/, $_, 2 } split /\n/, $text;
-        $handlers{$type}->( \%item );
+    my %valid_types = map { ( $_ => 1 ) } qw(info programstatus hoststatus servicestatus contactstatus servicecomment hostcomment servicedowntime hostdowntime);
+    my $entry = '';
+    my %attributes;
+    my $type = 0;
+    while ( my $line = <$log_fh> ) {
+        next if ( $line =~ /^\s*#|^\s*$/ );
+        if ( $line =~ /^\s*(\w+)\s*{\s*$/ ) {
+            %attributes = ();
+            if (exists $valid_types{$1}) {
+                $type = $1;
+            } else {
+                $type = 0;
+            }
+        }
+        if ( $line =~ /^\s*}\s*$/ ) {
+            # Only save the object if it is a valid type
+            if ($type) {
+                $handlers{$type}->( \%attributes );
+            }
+        }
+        if ( $line =~ /\s*(\w+)=(.*)$/ ) {
+            $attributes{$1} = $2;
+        }
     }
 
     close($log_fh);

Modified: trunk/libnagios-object-perl/t/70status.dat
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/t/70status.dat?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/t/70status.dat (original)
+++ trunk/libnagios-object-perl/t/70status.dat Mon Feb  8 23:12:21 2010
@@ -74,7 +74,7 @@
 	current_event_id=31
 	current_problem_id=18
 	last_problem_id=0
-	plugin_output=CRITICAL - 192.168.50.10: rta nan, lost 100%
+	plugin_output=CRITICAL - 192.168.50.10: rta nan, lost 100% with {}
 	long_plugin_output=
 	performance_data=rta=0.000ms;500.000;1000.000;0; pl=100%;80;100;;
 	last_check=1233216743
@@ -144,7 +144,7 @@
 	last_time_unknown=0
 	last_time_critical=1233914007
 	plugin_output=CRITICAL - 192.168.50.10: rta nan, lost 100%
-	long_plugin_output=
+	long_plugin_output=IOS (tm) 7200 Software (C7200-P-M), Version 12.2(14)S5, EARLY DEPLOYMENT RELEASE SOFTWARE (fc2)
\nTAC Support: http://www.cisco.com/tac
\nCopyright (c) 1986-2003 by cisco Systems, Inc.
\nCompiled Fri 26-Sep-03 1\n
 	performance_data=rta=0.000ms;100.000;500.000;0; pl=100%;20;60;;
 	last_check=1233914007
 	next_check=1233914307
@@ -183,3 +183,16 @@
 	service_notifications_enabled=1
 	}
 
+contactstatus {
+	contact_name=admin2
+	modified_attributes=0
+	modified_host_attributes=0
+	modified_service_attributes=0
+	host_notification_period=24x7
+	service_notification_period=24x7
+	last_host_notification=1
+	last_service_notification=0
+	host_notifications_enabled=1
+	service_notifications_enabled=1
+	}
+

Modified: trunk/libnagios-object-perl/t/70status.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libnagios-object-perl/t/70status.t?rev=52346&op=diff
==============================================================================
--- trunk/libnagios-object-perl/t/70status.t (original)
+++ trunk/libnagios-object-perl/t/70status.t Mon Feb  8 23:12:21 2010
@@ -1,14 +1,12 @@
 #!/usr/bin/perl
 use strict;
 use warnings;
-use Test::More tests => 2;
+use Test::More tests => 8;
 use Test::NoWarnings;
 use Test::Exception;
 
 use lib qw( ../lib ./lib );
 use Nagios::StatusLog;
-
-my $host = 'localhost';
 
 ( my $filename = $0 ) =~ s/t$/dat/;
 
@@ -18,3 +16,158 @@
 );
 
 isa_ok( $log, 'Nagios::StatusLog' );
+
+my $admin_contact = $log->contact("admin");
+isa_ok( $admin_contact, "Nagios::Contact::Status" );
+is_deeply( $admin_contact, {
+    contact_name => "admin",
+    host_notification_period => "24x7",
+    host_notifications_enabled => 1,
+    last_host_notification => 0,
+    last_service_notification => 0,
+    modified_attributes => 0,
+    modified_host_attributes => 0,
+    modified_service_attributes => 0,
+    service_notification_period => "24x7",
+    service_notifications_enabled => 1,
+    }, "Attributes for admin right" );
+
+my $admin2 = $log->contact("admin2");
+isa_ok( $admin2, "Nagios::Contact::Status");
+is_deeply( $admin2, {
+    contact_name => "admin2",
+    host_notification_period => "24x7",
+    host_notifications_enabled => 1,
+    last_host_notification => 1,
+    last_service_notification => 0,
+    modified_attributes => 0,
+    modified_host_attributes => 0,
+    modified_service_attributes => 0,
+    service_notification_period => "24x7",
+    service_notifications_enabled => 1,
+    }, "Attributes for admin right" );
+
+
+my $host = $log->host("doesnt_exist_1");
+my $hostattrs = attributes_hash($host);
+is_deeply( $hostattrs, { 
+         'acknowledgement_type' => 0,
+         'active_checks_enabled' => 1,
+         'check_command' => 'check_host_15!-H $HOSTADDRESS$ -t 3 -w 500.0,80% -c 1000.0,100%',
+         'check_execution_time' => 3.186,
+         'check_interval' => "0.000000",
+         'check_latency' => 0.067,
+         'check_options' => 0,
+         'check_period' => '',
+         'check_type' => 0,
+         'current_attempt' => 1,
+         'current_event_id' => 31,
+         'current_notification_id' => 553,
+         'current_notification_number' => 46,
+         'current_problem_id' => 18,
+         'current_state' => 2,
+         'event_handler' => '',
+         'event_handler_enabled' => 0,
+         'failure_prediction_enabled' => 1,
+         'flap_detection_enabled' => 1,
+         'has_been_checked' => 1,
+         'host_name' => 'doesnt_exist_1',
+         'is_flapping' => 0,
+         'last_check' => 1233216743,
+         'last_event_id' => 24,
+         'last_hard_state' => 2,
+         'last_hard_state_change' => 1233216701,
+         'last_notification' => 1233911011,
+         'last_problem_id' => 0,
+         'last_state_change' => 1233216701,
+         'last_time_down' => 1231947569,
+         'last_time_unreachable' => 1231947633,
+         'last_time_up' => 1231947413,
+         'last_update' => 1233914050,
+         'long_plugin_output' => '',
+         'max_attempts' => 2,
+         'modified_attributes' => 1,
+         'next_check' => 0,
+         'next_notification' => 1233914611,
+         'no_more_notifications' => 0,
+         'notification_period' => '24x7',
+         'notifications_enabled' => 1,
+         'obsess_over_host' => 0,
+         'passive_checks_enabled' => 1,
+         'percent_state_change' => "0.00",
+         'performance_data' => 'rta=0.000ms;500.000;1000.000;0; pl=100%;80;100;;',
+         'plugin_output' => 'CRITICAL - 192.168.50.10: rta nan, lost 100% with {}',
+         'problem_has_been_acknowledged' => 0,
+         'process_performance_data' => 1,
+         'retry_interval' => "1.000000",
+         'scheduled_downtime_depth' => 0,
+         'should_be_scheduled' => 0,
+         'state_type' => 1,
+ }, "Host attributes correct" );
+
+
+my $service = $log->service( "doesnt_exist_1", "TCP/IP" );
+my $serviceattrs = attributes_hash( $service );
+is_deeply( $serviceattrs, {
+               'acknowledgement_type' => 0,
+            'active_checks_enabled' => 1,
+            'check_command' => 'check_icmp!-H $HOSTADDRESS$ -w 100.0,20% -c 500.0,60%',
+            'check_execution_time' => 3.677,
+            'check_interval' => "5.000000",
+            'check_latency' => 0.218,
+            'check_options' => 0,
+            'check_period' => '24x7',
+            'check_type' => 0,
+            'current_attempt' => 1,
+            'current_event_id' => 23,
+            'current_notification_id' => 0,
+            'current_notification_number' => 0,
+            'current_problem_id' => 17,
+            'current_state' => 2,
+            'event_handler' => '',
+            'event_handler_enabled' => 1,
+            'failure_prediction_enabled' => 1,
+            'flap_detection_enabled' => 1,
+            'has_been_checked' => 1,
+            'host_name' => 'doesnt_exist_1',
+            'is_flapping' => 0,
+            'last_check' => 1233914007,
+            'last_event_id' => 0,
+            'last_hard_state' => 2,
+            'last_hard_state_change' => 1233216735,
+            'last_notification' => 0,
+            'last_problem_id' => 0,
+            'last_state_change' => 1233216735,
+            'last_time_critical' => 1233914007,
+            'last_time_ok' => 1231947411,
+            'last_time_unknown' => 0,
+            'last_time_warning' => 0,
+            'last_update' => 1233914050,
+            'long_plugin_output' => 'IOS (tm) 7200 Software (C7200-P-M), Version 12.2(14)S5, EARLY DEPLOYMENT RELEASE SOFTWARE (fc2)
\nTAC Support: http://www.cisco.com/tac
\nCopyright (c) 1986-2003 by cisco Systems, Inc.
\nCompiled Fri 26-Sep-03 1\n',
+            'max_attempts' => 3,
+            'modified_attributes' => 1,
+            'next_check' => 1233914307,
+            'next_notification' => 0,
+            'no_more_notifications' => 0,
+            'notification_period' => '24x7',
+            'notifications_enabled' => 1,
+            'obsess_over_service' => 0,
+            'passive_checks_enabled' => 1,
+            'percent_state_change' => "0.00",
+            'performance_data' => 'rta=0.000ms;100.000;500.000;0; pl=100%;20;60;;',
+            'plugin_output' => 'CRITICAL - 192.168.50.10: rta nan, lost 100%',
+            'problem_has_been_acknowledged' => 0,
+            'process_performance_data' => 1,
+            'retry_interval' => "1.000000",
+            'scheduled_downtime_depth' => 0,
+            'service_description' => 'TCP/IP',
+            'should_be_scheduled' => 1,
+            'state_type' => 1,
+}, "service attributes okay" );
+
+sub attributes_hash {
+    my $host = shift;
+    my %attrs = %$host;
+    delete $attrs{__parent};
+    \%attrs;
+}




More information about the Pkg-perl-cvs-commits mailing list