Skip to content

Commit

Permalink
rewrite....
Browse files Browse the repository at this point in the history
  • Loading branch information
lausser committed Feb 15, 2014
1 parent e08e06d commit b3870c9
Show file tree
Hide file tree
Showing 13 changed files with 140 additions and 462 deletions.
88 changes: 14 additions & 74 deletions plugins-scripts/Classes/AVOS.pm
Original file line number Diff line number Diff line change
@@ -1,82 +1,22 @@
package Classes::AVOS;

use strict;

use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 };

our @ISA = qw(Classes::Bluecoat);
use strict;

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::health/) {
} elsif ($self->mode =~ /device::hardware::load/) {
$self->analyze_and_check_cpu_subsystem("Classes::AVOS::Component::CpuSubsystem");
} elsif ($self->mode =~ /device::hardware::memory/) {
$self->analyze_and_check_mem_subsystem("Classes::AVOS::Component::MemSubsystem");
} elsif ($self->mode =~ /device::licenses::/) {
$self->analyze_and_check_key_subsystem("Classes::AVOS::Component::KeySubsystem");
} elsif ($self->mode =~ /device::connections/) {
$self->analyze_and_check_connection_subsystem("Classes::AVOS::Component::ConnectionSubsystem");
} elsif ($self->mode =~ /device::security/) {
$self->analyze_and_check_security_subsystem("Classes::AVOS::Component::SecuritySubsystem");
} else {
$self->no_such_mode();
}
}

sub analyze_environmental_subsystem {
my $self = shift;
$self->{components}->{environmental_subsystem} =
Classes::AVOS::Component::EnvironmentalSubsystem->new();
}

sub analyze_cpu_subsystem {
my $self = shift;
$self->{components}->{cpu_subsystem} =
Classes::AVOS::Component::CpuSubsystem->new();
}

sub analyze_mem_subsystem {
my $self = shift;
$self->{components}->{mem_subsystem} =
Classes::AVOS::Component::MemSubsystem->new();
}

sub analyze_key_subsystem {
my $self = shift;
$self->{components}->{key_subsystem} =
Classes::AVOS::Component::KeySubsystem->new();
}

sub analyze_security_subsystem {
my $self = shift;
$self->{components}->{security_subsystem} =
Classes::AVOS::Component::SecuritySubsystem->new();
}

sub analyze_connection_subsystem {
my $self = shift;
$self->{components}->{connection_subsystem} =
Classes::AVOS::Component::ConnectionSubsystem->new();
}

74 changes: 11 additions & 63 deletions plugins-scripts/Classes/AlliedTelesyn.pm
Original file line number Diff line number Diff line change
@@ -1,71 +1,19 @@
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("Classes::AlliedTelesyn::Component::EnvironmentalSubsystem");
} elsif ($self->mode =~ /device::hardware::load/) {
$self->analyze_and_check_cpu_subsystem("Classes::AlliedTelesyn::Component::CpuSubsystem");
} elsif ($self->mode =~ /device::hardware::memory/) {
$self->analyze_and_check_mem_subsystem("Classes::AlliedTelesyn::Component::MemSubsystem");
} elsif ($self->mode =~ /device::hsrp/) {
$self->analyze_and_check_hsrp_subsystem("Classes::HSRP::Component::HSRPSubsystem");
} 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} =
Classes::AlliedTelesyn::Component::EnvironmentalSubsystem->new();
}

sub analyze_cpu_subsystem {
my $self = shift;
$self->{components}->{cpu_subsystem} =
Classes::AlliedTelesyn::Component::CpuSubsystem->new();
}

sub analyze_mem_subsystem {
my $self = shift;
$self->{components}->{mem_subsystem} =
Classes::AlliedTelesyn::Component::MemSubsystem->new();
}

6 changes: 1 addition & 5 deletions plugins-scripts/Classes/BGP.pm
Original file line number Diff line number Diff line change
@@ -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;

10 changes: 2 additions & 8 deletions plugins-scripts/Classes/Bluecoat.pm
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package Classes::Bluecoat;

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.1', # RFC1213-MIB
Expand Down Expand Up @@ -47,11 +43,9 @@ 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"
# iso.3.6.1.4.1.3417.2.11.1.3.0 = STRING: "Version: SGOS 5.5.8.1, Release id: 78642 Proxy Edition"
bless $self, 'Classes::SGOS';
$self->debug('using Classes::SGOS');
$self->init();
Expand Down
8 changes: 1 addition & 7 deletions plugins-scripts/Classes/Brocade.pm
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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/) {
Expand Down
8 changes: 1 addition & 7 deletions plugins-scripts/Classes/CheckPoint.pm
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
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
);

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');
Expand Down
15 changes: 4 additions & 11 deletions plugins-scripts/Classes/Cisco.pm
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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');
Expand All @@ -61,6 +52,8 @@ sub init {
bless $self, 'Classes::CiscoCCM';
$self->debug('using Classes::CiscoCCM');
}
$self->SUPER::init(%params);
if (ref($self) ne "Classes::Cisco") {
$self->init();
}
}

75 changes: 9 additions & 66 deletions plugins-scripts/Classes/CiscoAsyncOS.pm
Original file line number Diff line number Diff line change
@@ -1,74 +1,17 @@
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("Classes::CiscoAsyncOS::Component::EnvironmentalSubsystem");
} elsif ($self->mode =~ /device::hardware::load/) {
$self->analyze_and_check_cpu_subsystem("Classes::CiscoAsyncOS::Component::CpuSubsystem");
} elsif ($self->mode =~ /device::hardware::memory/) {
$self->analyze_and_check_mem_subsystem("Classes::CiscoAsyncOS::Component::MemSubsystem");
} elsif ($self->mode =~ /device::licenses::/) {
$self->analyze_and_check_key_subsystem("Classes::CiscoAsyncOS::Component::KeySubsystem");
}
}

sub analyze_environmental_subsystem {
my $self = shift;
$self->{components}->{environmental_subsystem} =
Classes::CiscoAsyncOS::Component::EnvironmentalSubsystem->new();
}

sub analyze_cpu_subsystem {
my $self = shift;
$self->{components}->{cpu_subsystem} =
Classes::CiscoAsyncOS::Component::CpuSubsystem->new();
}

sub analyze_mem_subsystem {
my $self = shift;
$self->{components}->{mem_subsystem} =
Classes::CiscoAsyncOS::Component::MemSubsystem->new();
}

sub analyze_key_subsystem {
my $self = shift;
$self->{components}->{key_subsystem} =
Classes::CiscoAsyncOS::Component::KeySubsystem->new();
}

Loading

0 comments on commit b3870c9

Please sign in to comment.