From 767ffe1e684312494bf8a814ac1c5121da0942ab Mon Sep 17 00:00:00 2001 From: Gerhard Lausser Date: Fri, 14 Feb 2014 01:35:07 +0100 Subject: [PATCH] rewrite --- plugins-scripts/Classes/AVOS.pm | 50 ++++++--------------- plugins-scripts/Classes/AlliedTelesyn.pm | 54 ++++------------------- plugins-scripts/Classes/BGP.pm | 6 +-- plugins-scripts/Classes/Bluecoat.pm | 7 +-- plugins-scripts/Classes/Brocade.pm | 13 +----- plugins-scripts/Classes/CheckPoint.pm | 8 +--- plugins-scripts/Classes/Cisco.pm | 13 +----- plugins-scripts/Classes/CiscoAsyncOS.pm | 53 +++++----------------- plugins-scripts/Classes/CiscoCCM.pm | 56 ++++++------------------ 9 files changed, 53 insertions(+), 207 deletions(-) diff --git a/plugins-scripts/Classes/AVOS.pm b/plugins-scripts/Classes/AVOS.pm index 287612bb..f20cd7bf 100644 --- a/plugins-scripts/Classes/AVOS.pm +++ b/plugins-scripts/Classes/AVOS.pm @@ -1,46 +1,22 @@ package Classes::AVOS; - +our @ISA = qw(Classes::Bluecoat); use strict; -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - -our @ISA = qw(Classes::Bluecoat); sub init { my $self = shift; - my %params = @_; - $self->{components} = { - powersupply_subsystem => undef, - fan_subsystem => undef, - temperature_subsystem => undef, - cpu_subsystem => undef, - security_subsystem => undef, - }; - $self->{serial} = 'unknown'; - $self->{product} = 'unknown'; - $self->{romversion} = 'unknown'; - # serial is 1.3.6.1.2.1.47.1.1.1.1.11.1 - #$self->collect(); - if (! $self->check_messages()) { - ##$self->set_serial(); - if ($self->mode =~ /device::hardware::health/) { - $self->no_such_mode(); - } elsif ($self->mode =~ /device::hardware::load/) { - $self->analyze_cpu_subsystem(); - $self->check_cpu_subsystem(); - } elsif ($self->mode =~ /device::hardware::memory/) { - $self->analyze_mem_subsystem(); - $self->check_mem_subsystem(); - } elsif ($self->mode =~ /device::licenses::/) { - $self->analyze_key_subsystem(); - $self->check_key_subsystem(); - } elsif ($self->mode =~ /device::connections/) { - $self->analyze_connection_subsystem(); - $self->check_connection_subsystem(); - } elsif ($self->mode =~ /device::security/) { - $self->analyze_security_subsystem(); - $self->check_security_subsystem(); - } + if ($self->mode =~ /device::hardware::load/) { + $self->analyze_and_check_cpu_subsystem(); + } elsif ($self->mode =~ /device::hardware::memory/) { + $self->analyze_and_check_mem_subsystem(); + } elsif ($self->mode =~ /device::licenses::/) { + $self->analyze_and_check_key_subsystem(); + } elsif ($self->mode =~ /device::connections/) { + $self->analyze_and_check_connection_subsystem(); + } elsif ($self->mode =~ /device::security/) { + $self->analyze_and_check_security_subsystem(); + } else { + $self->no_such_mode(); } } diff --git a/plugins-scripts/Classes/AlliedTelesyn.pm b/plugins-scripts/Classes/AlliedTelesyn.pm index 57bb192b..9742f3ed 100644 --- a/plugins-scripts/Classes/AlliedTelesyn.pm +++ b/plugins-scripts/Classes/AlliedTelesyn.pm @@ -1,56 +1,20 @@ package Classes::AlliedTelesyn; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Device); +use strict; sub init { my $self = shift; - my %params = @_; - $self->SUPER::init(%params); - $self->{components} = { - powersupply_subsystem => undef, - fan_subsystem => undef, - temperature_subsystem => undef, - cpu_subsystem => undef, - memory_subsystem => undef, - disk_subsystem => undef, - environmental_subsystem => undef, - }; - $self->{serial} = 'unknown'; - $self->{product} = 'unknown'; - $self->{romversion} = 'unknown'; - # serial is 1.3.6.1.2.1.47.1.1.1.1.11.1 - #$self->collect(); - if (! $self->check_messages()) { - ##$self->set_serial(); - if ($self->mode =~ /device::hardware::health/) { - $self->analyze_environmental_subsystem(); - #$self->auto_blacklist(); - $self->check_environmental_subsystem(); - } elsif ($self->mode =~ /device::hardware::load/) { - $self->analyze_cpu_subsystem(); - #$self->auto_blacklist(); - $self->check_cpu_subsystem(); - } elsif ($self->mode =~ /device::hardware::memory/) { - $self->analyze_mem_subsystem(); - #$self->auto_blacklist(); - $self->check_mem_subsystem(); - } elsif ($self->mode =~ /device::hsrp/) { - $self->analyze_hsrp_subsystem(); - $self->check_interface_subsystem(); - } + if ($self->mode =~ /device::hardware::health/) { + $self->analyze_and_check_environmental_subsystem(); + } elsif ($self->mode =~ /device::hardware::load/) { + $self->analyze_and_check_cpu_subsystem(); + } elsif ($self->mode =~ /device::hardware::memory/) { + $self->analyze_and_check_mem_subsystem(); + } else { + $self->no_such_mode(); } } -sub analyze_hsrp_subsystem { - my $self = shift; - $self->{components}->{hsrp} = - Classes::HSRP::Component::HSRPSubsystem->new(); -} - sub analyze_environmental_subsystem { my $self = shift; $self->{components}->{environmental_subsystem} = diff --git a/plugins-scripts/Classes/BGP.pm b/plugins-scripts/Classes/BGP.pm index 35fcc650..398ab2e6 100644 --- a/plugins-scripts/Classes/BGP.pm +++ b/plugins-scripts/Classes/BGP.pm @@ -1,8 +1,4 @@ package Classes::BGP; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Device); +use strict; diff --git a/plugins-scripts/Classes/Bluecoat.pm b/plugins-scripts/Classes/Bluecoat.pm index e722b0d5..0f683fa8 100644 --- a/plugins-scripts/Classes/Bluecoat.pm +++ b/plugins-scripts/Classes/Bluecoat.pm @@ -1,10 +1,7 @@ package Classes::Bluecoat; - +our @ISA = qw(Classes::Device); use strict; -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - -our @ISA = qw(Classes::Device); use constant trees => ( '1.3.6.1.2.1.1', # RFC1213-MIB @@ -47,8 +44,6 @@ use constant trees => ( sub init { my $self = shift; - my %params = @_; - $self->SUPER::init(%params); if ($self->{productname} =~ /Blue.*Coat.*SG\d+/i) { # product ProxySG Blue Coat SG600 # iso.3.6.1.4.1.3417.2.11.1.3.0 = STRING: "Version: SGOS 5.5.8.1, Release id: 78642 Proxy Edition" diff --git a/plugins-scripts/Classes/Brocade.pm b/plugins-scripts/Classes/Brocade.pm index 68402e9b..f9c994f9 100644 --- a/plugins-scripts/Classes/Brocade.pm +++ b/plugins-scripts/Classes/Brocade.pm @@ -1,10 +1,6 @@ package Classes::Brocade; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Device); +use strict; use constant trees => ( '1.3.6.1.2.1', # mib-2 @@ -17,8 +13,6 @@ use constant trees => ( sub init { my $self = shift; - my %params = @_; - $self->SUPER::init(%params); foreach ($self->get_snmp_table_objects( 'ENTITY-MIB', 'entPhysicalTable')) { if ($_->{entPhysicalDescr} =~ /Brocade/) { @@ -32,19 +26,16 @@ sub init { if ($self->{productname} =~ /EMC\s*DS.*4700M/i) { bless $self, 'Classes::MEOS'; $self->debug('using Classes::MEOS'); - $self->init(); } elsif ($self->{productname} =~ /EMC\s*DS-24M2/i) { bless $self, 'Classes::MEOS'; $self->debug('using Classes::MEOS'); - $self->init(); } elsif ($self->{productname} =~ /FabOS/i) { bless $self, 'Classes::FabOS'; $self->debug('using Classes::FabOS'); - $self->init(); } elsif ($self->{productname} =~ /ICX6/i) { bless $self, 'Classes::Foundry'; $self->debug('using Classes::Foundry'); - $self->init(); } + $self->init(); } diff --git a/plugins-scripts/Classes/CheckPoint.pm b/plugins-scripts/Classes/CheckPoint.pm index ff14026e..fb073a79 100644 --- a/plugins-scripts/Classes/CheckPoint.pm +++ b/plugins-scripts/Classes/CheckPoint.pm @@ -1,10 +1,6 @@ package Classes::CheckPoint; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Device); +use strict; use constant trees => ( '1.3.6.1.4.1.2620', # CHECKPOINT-MIB @@ -12,8 +8,6 @@ use constant trees => ( sub init { my $self = shift; - my %params = @_; - $self->SUPER::init(%params); if ($self->{productname} =~ /(FireWall\-1\s)|(cpx86_64)|(Linux.*\dcp )/i) { bless $self, 'Classes::CheckPoint::Firewall1'; $self->debug('using Classes::CheckPoint::Firewall1'); diff --git a/plugins-scripts/Classes/Cisco.pm b/plugins-scripts/Classes/Cisco.pm index a8122bf0..95fc6feb 100644 --- a/plugins-scripts/Classes/Cisco.pm +++ b/plugins-scripts/Classes/Cisco.pm @@ -1,10 +1,6 @@ package Classes::Cisco; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Device); +use strict; use constant trees => ( '1.3.6.1.2.1', # mib-2 @@ -32,13 +28,8 @@ use constant trees => ( '1.3.6.1.4.1.14179.2', # airespace-wireless-mib ); -sub i_can_handle_this { - my $self = shift; -} - sub init { my $self = shift; - my %params = @_; if ($self->{productname} =~ /Cisco NX-OS/i) { bless $self, 'Classes::CiscoNXOS'; $self->debug('using Classes::CiscoNXOS'); @@ -61,6 +52,6 @@ sub init { bless $self, 'Classes::CiscoCCM'; $self->debug('using Classes::CiscoCCM'); } - $self->SUPER::init(%params); + $self->init(); } diff --git a/plugins-scripts/Classes/CiscoAsyncOS.pm b/plugins-scripts/Classes/CiscoAsyncOS.pm index 5ffea83f..bceefd48 100644 --- a/plugins-scripts/Classes/CiscoAsyncOS.pm +++ b/plugins-scripts/Classes/CiscoAsyncOS.pm @@ -1,50 +1,19 @@ package Classes::CiscoAsyncOS; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Cisco); +use strict; sub init { my $self = shift; - $self->{components} = { - powersupply_subsystem => undef, - fan_subsystem => undef, - temperature_subsystem => undef, - cpu_subsystem => undef, - memory_subsystem => undef, - disk_subsystem => undef, - environmental_subsystem => undef, - connection_subsystem => undef, - key_subsystem => undef, - }; - $self->{serial} = 'unknown'; - $self->{product} = 'unknown'; - $self->{romversion} = 'unknown'; - # serial is 1.3.6.1.2.1.47.1.1.1.1.11.1 - #$self->collect(); - if (! $self->check_messages()) { - ##$self->set_serial(); - if ($self->mode =~ /device::hardware::health/) { - $self->analyze_environmental_subsystem(); - #$self->auto_blacklist(); - $self->check_environmental_subsystem(); - } elsif ($self->mode =~ /device::hardware::load/) { - $self->analyze_cpu_subsystem(); - #$self->auto_blacklist(); - $self->check_cpu_subsystem(); - } elsif ($self->mode =~ /device::hardware::memory/) { - $self->analyze_mem_subsystem(); - #$self->auto_blacklist(); - $self->check_mem_subsystem(); - } elsif ($self->mode =~ /device::licenses::/) { - $self->analyze_key_subsystem(); - $self->check_key_subsystem(); - } elsif ($self->mode =~ /device::shinken::interface/) { - $self->analyze_interface_subsystem(); - $self->shinken_interface_subsystem(); - } + if ($self->mode =~ /device::hardware::health/) { + $self->analyze_and_check_environmental_subsystem(); + } elsif ($self->mode =~ /device::hardware::load/) { + $self->analyze_and_check_cpu_subsystem(); + } elsif ($self->mode =~ /device::hardware::memory/) { + $self->analyze_and_check_mem_subsystem(); + } elsif ($self->mode =~ /device::licenses::/) { + $self->analyze_and_check_key_subsystem(); + } else { + $self->no_such_mode(); } } diff --git a/plugins-scripts/Classes/CiscoCCM.pm b/plugins-scripts/Classes/CiscoCCM.pm index c741d0ed..91efb850 100644 --- a/plugins-scripts/Classes/CiscoCCM.pm +++ b/plugins-scripts/Classes/CiscoCCM.pm @@ -1,51 +1,21 @@ package Classes::CiscoCCM; - -use strict; - -use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 }; - our @ISA = qw(Classes::Cisco); +use strict; sub init { my $self = shift; - $self->{components} = { - powersupply_subsystem => undef, - fan_subsystem => undef, - temperature_subsystem => undef, - cpu_subsystem => undef, - memory_subsystem => undef, - disk_subsystem => undef, - environmental_subsystem => undef, - phone_subsystem => undef, - }; - $self->{serial} = 'unknown'; - $self->{product} = 'unknown'; - $self->{romversion} = 'unknown'; - # serial is 1.3.6.1.2.1.47.1.1.1.1.11.1 - #$self->collect(); - if (! $self->check_messages()) { - ##$self->set_serial(); - if ($self->mode =~ /device::hardware::health/) { - $self->analyze_environmental_subsystem(); - #$self->auto_blacklist(); - $self->check_environmental_subsystem(); - } elsif ($self->mode =~ /device::hardware::load/) { - $self->analyze_cpu_subsystem(); - #$self->auto_blacklist(); - $self->check_cpu_subsystem(); - } elsif ($self->mode =~ /device::hardware::memory/) { - $self->analyze_mem_subsystem(); - #$self->auto_blacklist(); - $self->check_mem_subsystem(); - } elsif ($self->mode =~ /device::phone::cm/) { - $self->analyze_cm_subsystem(); - $self->check_cm_subsystem(); - } elsif ($self->mode =~ /device::phone/) { - $self->analyze_phone_subsystem(); - $self->check_phone_subsystem(); - } else { - $self->no_such_mode(); - } + if ($self->mode =~ /device::hardware::health/) { + $self->analyze_and_check_environmental_subsystem(); + } elsif ($self->mode =~ /device::hardware::load/) { + $self->analyze_and_check_cpu_subsystem(); + } elsif ($self->mode =~ /device::hardware::memory/) { + $self->analyze_and_check_mem_subsystem(); + } elsif ($self->mode =~ /device::phone::cm/) { + $self->analyze_and_check_cm_subsystem(); + } elsif ($self->mode =~ /device::phone/) { + $self->analyze_and_check_phone_subsystem(); + } else { + $self->no_such_mode(); } }