From d8145f96424c8e304a8cf85a4ae83a79e921d572 Mon Sep 17 00:00:00 2001 From: Kevin Duret Date: Fri, 31 Jan 2014 10:43:43 +0100 Subject: [PATCH] Delete bad path --- .../server/dell/mode/components/fan.pm | 99 ------------- .../server/dell/mode/components/psu.pm | 122 ---------------- .../hardware/server/dell/mode/hardware.pm | 133 ------------------ .../hardware/server/dell/plugin.pm | 64 --------- 4 files changed, 418 deletions(-) delete mode 100644 centreon-plugins/hardware/server/dell/mode/components/fan.pm delete mode 100644 centreon-plugins/hardware/server/dell/mode/components/psu.pm delete mode 100644 centreon-plugins/hardware/server/dell/mode/hardware.pm delete mode 100644 centreon-plugins/hardware/server/dell/plugin.pm diff --git a/centreon-plugins/hardware/server/dell/mode/components/fan.pm b/centreon-plugins/hardware/server/dell/mode/components/fan.pm deleted file mode 100644 index 622044424..000000000 --- a/centreon-plugins/hardware/server/dell/mode/components/fan.pm +++ /dev/null @@ -1,99 +0,0 @@ -################################################################################ -# Copyright 2005-2013 MERETHIS -# Centreon is developped by : Julien Mathis and Romain Le Merlus under -# GPL Licence 2.0. -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation ; either version 2 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see . -# -# Linking this program statically or dynamically with other modules is making a -# combined work based on this program. Thus, the terms and conditions of the GNU -# General Public License cover the whole combination. -# -# As a special exception, the copyright holders of this program give MERETHIS -# permission to link this program with independent modules to produce an executable, -# regardless of the license terms of these independent modules, and to copy and -# distribute the resulting executable under terms of MERETHIS choice, provided that -# MERETHIS also meet, for each linked independent module, the terms and conditions -# of the license of that module. An independent module is a module which is not -# derived from this program. If you modify this program, you may extend this -# exception to your version of the program, but you are not obliged to do so. If you -# do not wish to do so, delete this exception statement from your version. -# -# For more information : contact@centreon.com -# Authors : Quentin Garnier -# -#################################################################################### - -package hardware::server::dell::mode::components::fan; - -my %status = ( - 1 => ['other', 'CRITICAL'], - 2 => ['unknown', 'UNKNOWN'], - 3 => ['ok', 'OK'], - 4 => ['nonCriticalUpper', 'WARNING'], - 5 => ['criticalUpper', 'CRITICAL'], - 6 => ['nonRecoverableUpper', 'CRITICAL'], - 7 => ['nonCriticalLower', 'WARNING'], - 8 => ['criticalLower', 'CRITICAL'], - 9 => ['nonRecoverableLower', 'CRITICAL'], - 10 => ['failed', 'CRITICAL'] - -); - -sub check { - my ($self) = @_; - - # In MIB '10892.mib' - $self->{output}->output_add(long_msg => "Checking fans"); - $self->{components}->{fan} = {name => 'fans', total => 0}; - return if ($self->check_exclude('fan')); - - my $oid_coolingDeviceStatus = '.1.3.6.1.4.1.674.10892.1.700.12.1.5.1'; - my $oid_coolingDeviceReading = '.1.3.6.1.4.1.674.10892.1.700.12.1.6.1'; - my $oid_coolingDeviceLocationName = '.1.3.6.1.4.1.674.10892.1.700.12.1.8.1'; - - my $result = $self->{snmp}->get_table(oid => $oid_coolingDeviceStatus); - return if (scalar(keys %$result) <= 0); - - my $result2 = $self->{snmp}->get_leef(oids => [$oid_coolingDeviceReading, $oid_coolingDeviceLocationName], - instances => [keys %$result], - instance_regexp => '(\d+\.\d+)$'); - return if (scalar(keys %$result2) <= 0); - - foreach my $key ($self->{snmp}->oid_lex_sort(keys %$result)) { - /(\d+)\.(\d+)$/; - my ($chassis_Index, $fan_Index) = ($1, $2); - my $instance = $chassis_Index . '.' . $fan_Index; - - my $fan_Status = $result->{$_}; - my $fan_Reading = $result2->{$oid_coolingDeviceReading . '.' . $instance}; - my $fan_LocationName = $result->{$oid_coolingDeviceLocationName . '.' . $instance}; - - $self->{components}->{fan}->{total}++; - $self->{output}->output_add(long_msg => sprintf("fan %d status is %s, speed is %d [chassis: %d, location: %s].", - $fan_Index, ${$status{$fan_Status}}[0], $fan_Reading, - $chassis_Index, $fan_LocationName - )); - if ($fan_status != 3) { - $self->{output}->output_add(severity => ${$status{$fan_Status}}[1], - short_msg => sprintf("fan %d status is %s", - $fan_Index, ${$status{$fan_Status}}[0])); - } - - if (defined($fan_currentspeed)) { - $self->{output}->perfdata_add(label => "fan_" . $fan_Index . "_speed", unit => 'rpm', - value => $fan_Reading); - } - } -} - -1; diff --git a/centreon-plugins/hardware/server/dell/mode/components/psu.pm b/centreon-plugins/hardware/server/dell/mode/components/psu.pm deleted file mode 100644 index 3efa1c67e..000000000 --- a/centreon-plugins/hardware/server/dell/mode/components/psu.pm +++ /dev/null @@ -1,122 +0,0 @@ -################################################################################ -# Copyright 2005-2013 MERETHIS -# Centreon is developped by : Julien Mathis and Romain Le Merlus under -# GPL Licence 2.0. -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation ; either version 2 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see . -# -# Linking this program statically or dynamically with other modules is making a -# combined work based on this program. Thus, the terms and conditions of the GNU -# General Public License cover the whole combination. -# -# As a special exception, the copyright holders of this program give MERETHIS -# permission to link this program with independent modules to produce an executable, -# regardless of the license terms of these independent modules, and to copy and -# distribute the resulting executable under terms of MERETHIS choice, provided that -# MERETHIS also meet, for each linked independent module, the terms and conditions -# of the license of that module. An independent module is a module which is not -# derived from this program. If you modify this program, you may extend this -# exception to your version of the program, but you are not obliged to do so. If you -# do not wish to do so, delete this exception statement from your version. -# -# For more information : contact@centreon.com -# Authors : Quentin Garnier -# -#################################################################################### - -package hardware::server::dell::mode::components::psu; - -my %status = ( - 1 => ['other', 'CRITICAL'], - 2 => ['unknown', 'UNKNOWN'], - 3 => ['ok', 'OK'], - 4 => ['nonCritical', 'WARNING'], - 5 => ['critical', 'CRITICAL'], - 6 => ['nonRecoverable', 'CRITICAL'], -); - -my %type = ( - 1 => 'other', - 2 => 'unknown', - 3 => 'Linear', - 4 => 'switching', - 5 => 'Battery', - 6 => 'UPS', - 7 => 'Converter', - 8 => 'Regulator', - 9 => 'AC', - 10 => 'DC', - 11 => 'VRM', -); - -my %state = ( - 1 => 'present', - 2 => 'failure', - 4 => 'predictiveFailure', - 8 => 'ACLost', - 16 => 'ACLostOrOutOfRange', - 32 => 'ACPresentButOutOfRange', - 64 => 'configurationError', -); - -my %ConfigurationErrorType = ( - 1 => 'vendorMismatch', - 2 => 'revisionMismatch', - 3 => 'processorMissing', -); - -sub check { - my ($self) = @_; - - # In MIB '10892.mib' - $self->{output}->output_add(long_msg => "Checking power supplies"); - $self->{components}->{psu} = {name => 'power supplies', total => 0}; - return if ($self->check_exclude('psu')); - - my $oid_powerSupplyStatus = '.1.3.6.1.4.1.674.10892.1.600.12.1.5.1'; - my $oid_powerSupplyType = '.1.3.6.1.4.1.674.10892.1.600.12.1.7.1'; - my $oid_powerSupplySensorState = '.1.3.6.1.4.1.674.10892.1.600.12.1.11.1'; - my $oid_powerSupplyConfigurationErrorType = '1.3.6.1.4.1.674.10892.1.600.12.1.12.1'; - - my $result = $self->{snmp}->get_table(oid => $oid_powerSupplyStatus); - return if (scalar(keys %$result) <= 0); - - my $result2 = $self->{snmp}->get_leef(oids => [$oid_powerSupplyType, $oid_powerSupplySensorState, $oid_powerSupplyConfigurationErrorType], - instances => [keys %$result], - instance_regexp => '(\d+\.\d+)$'); - return if (scalar(keys %$result2) <= 0); - - foreach my $key ($self->{snmp}->oid_lex_sort(keys %$result)) { - /(\d+)\.(\d+)$/; - my ($chassis_Index, $psu_Index) = ($1, $2); - my $instance = $chassis_Index . '.' . $psu_Index; - - my $psu_Status = $result->{$_}; - my $psu_Type = $result2->{$oid_powerSupplyType . '.' . $instance}; - my $psu_SensorState = $result->{$oid__powerSupplySensorState . '.' . $instance}; - my $psu_ConfigurationErrorType = $result->{$oid__powerSupplyConfigurationErrorType . '.' . $instance}; - - $self->{components}->{psu}->{total}++; - $self->{output}->output_add(long_msg => sprintf("psu %d status is %s, state is %s [chassis: %d].", - $psu_Index, ${$status{$fan_Status}}[0], ${$state{$fan_State}}[0], - $chassis_Index - )); - if ($psu_Status != 3) { - $self->{output}->output_add(severity => ${$status{$psu_Status}}[1], - short_msg => sprintf("psu %d status is %s", - $psu_Index, ${$status{$psu_Status}}[0])); - } - - } -} - -1; diff --git a/centreon-plugins/hardware/server/dell/mode/hardware.pm b/centreon-plugins/hardware/server/dell/mode/hardware.pm deleted file mode 100644 index 789f50df1..000000000 --- a/centreon-plugins/hardware/server/dell/mode/hardware.pm +++ /dev/null @@ -1,133 +0,0 @@ -################################################################################ -# Copyright 2005-2013 MERETHIS -# Centreon is developped by : Julien Mathis and Romain Le Merlus under -# GPL Licence 2.0. -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation ; either version 2 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see . -# -# Linking this program statically or dynamically with other modules is making a -# combined work based on this program. Thus, the terms and conditions of the GNU -# General Public License cover the whole combination. -# -# As a special exception, the copyright holders of this program give MERETHIS -# permission to link this program with independent modules to produce an executable, -# regardless of the license terms of these independent modules, and to copy and -# distribute the resulting executable under terms of MERETHIS choice, provided that -# MERETHIS also meet, for each linked independent module, the terms and conditions -# of the license of that module. An independent module is a module which is not -# derived from this program. If you modify this program, you may extend this -# exception to your version of the program, but you are not obliged to do so. If you -# do not wish to do so, delete this exception statement from your version. -# -# For more information : contact@centreon.com -# Authors : Quentin Garnier -# -#################################################################################### - -package hardware::server::dell::mode::hardware; - -use base qw(centreon::plugins::mode); - -use strict; -use warnings; -use centreon::plugins::misc; -use hardware::server::dell::mode::components::fan; - -sub new { - my ($class, %options) = @_; - my $self = $class->SUPER::new(package => __PACKAGE__, %options); - bless $self, $class; - - $self->{version} = '1.0'; - $options{options}->add_options(arguments => - { - "exclude" => { name => 'exclude' }, - }); - - $self->{product_name} = undef; - $self->{serial} = undef; - $self->{romversion} = undef; - $self->{components} = {}; - return $self; -} - -sub check_options { - my ($self, %options) = @_; - $self->SUPER::init(%options); -} - -sub run { - my ($self, %options) = @_; - # $options{snmp} = snmp object - $self->{snmp} = $options{snmp}; - - $self->get_system_information(); - hardware::server::dell::mode::components::fan::check($self); - - my $total_components = 0; - my $display_by_component = ''; - my $display_by_component_append = ''; - foreach my $comp (keys %{$self->{components}}) { - $total_components += $self->{components}->{$comp}->{total}; - $display_by_component .= $display_by_component_append . $self->{components}->{$comp}->{total} . ' ' . $self->{components}->{$comp}->{name}; - $display_by_component_append = ', '; - } - - $self->{output}->output_add(severity => 'OK', - short_msg => sprintf("All %s components [%s] are ok - Product Name: %s", - $total_components, - $display_by_component, - $self->{product_name})); - - $self->{output}->display(); - $self->{output}->exit(); -} - -sub get_system_information { - my ($self) = @_; - - # In '10892-MIB' - my $oid_chassisModelName = ".1.3.6.1.4.1.674.10892.1.300.10.1.9.1"; - - my $result = $self->{snmp}->get_leef(oids => [$oid_chassisModelName]); - - $self->{product_name} = defined($result->{$oid_chassisModelName}) ? centreon::plugins::misc::trim($result->{$oid_chassisModelName}) : 'unknown'; -} - -sub check_exclude { - my ($self, $section) = @_; - - if (defined($self->{option_results}->{exclude}) && $self->{option_results}->{exclude} =~ /(^|\s|,)$section(\s|,|$)/) { - $self->{output}->output_add(long_msg => sprintf("Skipping $section section.")); - return 1; - } - return 0; -} - -1; - -__END__ - -=head1 MODE - -Check Hardware (CPUs, Power Supplies, Power converters, Fans). - -=over 8 - -=item B<--exclude> - -Exclude some parts (comma seperated list) (Example: --exclude=psu,pc). - -=back - -=cut - diff --git a/centreon-plugins/hardware/server/dell/plugin.pm b/centreon-plugins/hardware/server/dell/plugin.pm deleted file mode 100644 index aadb96296..000000000 --- a/centreon-plugins/hardware/server/dell/plugin.pm +++ /dev/null @@ -1,64 +0,0 @@ -################################################################################ -# Copyright 2005-2013 MERETHIS -# Centreon is developped by : Julien Mathis and Romain Le Merlus under -# GPL Licence 2.0. -# -# This program is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation ; either version 2 of the License. -# -# This program is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. See the GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along with -# this program; if not, see . -# -# Linking this program statically or dynamically with other modules is making a -# combined work based on this program. Thus, the terms and conditions of the GNU -# General Public License cover the whole combination. -# -# As a special exception, the copyright holders of this program give MERETHIS -# permission to link this program with independent modules to produce an executable, -# regardless of the license terms of these independent modules, and to copy and -# distribute the resulting executable under terms of MERETHIS choice, provided that -# MERETHIS also meet, for each linked independent module, the terms and conditions -# of the license of that module. An independent module is a module which is not -# derived from this program. If you modify this program, you may extend this -# exception to your version of the program, but you are not obliged to do so. If you -# do not wish to do so, delete this exception statement from your version. -# -# For more information : contact@centreon.com -# Authors : Quentin Garnier -# -#################################################################################### - -package hardware::server::dell::plugin; - -use strict; -use warnings; -use base qw(centreon::plugins::script_snmp); - -sub new { - my ($class, %options) = @_; - my $self = $class->SUPER::new(package => __PACKAGE__, %options); - bless $self, $class; - # $options->{options} = options object - - $self->{version} = '1.0'; - %{$self->{modes}} = ( - 'hardware' => 'hardware::server::dell::mode::hardware', - ); - - return $self; -} - -1; - -__END__ - -=head1 PLUGIN DESCRIPTION - -Check Dell servers in SNMP thanks to Dell Openmanage. - -=cut