centreon-plugins/hardware/server/cisco/ucs/mode/components/resources.pm

222 lines
6.4 KiB
Perl

#
# Copyright 2019 Centreon (http://www.centreon.com/)
#
# Centreon is a full-fledged industry-strength solution that meets
# the needs in IT infrastructure and application monitoring for
# service performance.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
package hardware::server::cisco::ucs::mode::components::resources;
use strict;
use warnings;
use Exporter;
our $thresholds;
our %mapping_presence;
our %mapping_operability;
our %mapping_overall_status;
our %mapping_drive_status;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw($thresholds %mapping_presence %mapping_operability %mapping_overall_status %mapping_drive_status);
%mapping_drive_status = (
0 => 'unknown',
1 => 'online',
2 => 'unconfiguredGood',
3 => 'globalHotSpare',
4 => 'dedicatedHotSpare',
5 => 'jbod',
6 => 'offline',
7 => 'rebuilding',
8 => 'copyback',
9 => 'failed',
10 => 'unconfiguredBad',
11 => 'predictiveFailure',
12 => 'disabledForRemoval',
13 => 'foreignConfiguration',
);
%mapping_presence = (
0 => 'unknown',
1 => 'empty',
10 => 'equipped',
11 => 'missing',
12 => 'mismatch',
13 => 'equippedNotPrimary',
20 => 'equippedIdentityUnestablishable',
21 => 'mismatchIdentityUnestablishable',
30 => 'inaccessible',
40 => 'unauthorized',
100 => 'notSupported',
);
%mapping_operability = (
0 => 'unknown',
1 => 'operable',
2 => 'inoperable',
3 => 'degraded',
4 => 'poweredOff',
5 => 'powerProblem',
6 => 'removed',
7 => 'voltageProblem',
8 => 'thermalProblem',
9 => 'performanceProblem',
10 => 'accessibilityProblem',
11 => 'identityUnestablishable',
12 => 'biosPostTimeout',
13 => 'disabled',
51 => 'fabricConnProblem',
52 => 'fabricUnsupportedConn',
81 => 'config',
82 => 'equipmentProblem',
83 => 'decomissioning',
84 => 'chassisLimitExceeded',
100 => 'notSupported',
101 => 'discovery',
102 => 'discoveryFailed',
104 => 'postFailure',
105 => 'upgradeProblem',
106 => 'peerCommProblem',
107 => 'autoUpgrade',
108 => 'linkActivateBlocked',
);
%mapping_overall_status = (
0 => 'indeterminate',
1 => 'unassociated',
10 => 'ok',
11 => 'discovery',
12 => 'config',
13 => 'unconfig',
14 => 'power-off',
15 => 'restart',
20 => 'maintenance',
21 => 'test',
29 => 'compute-mismatch',
30 => 'compute-failed',
31 => 'degraded',
32 => 'discovery-failed',
33 => 'config-failure',
34 => 'unconfig-failed',
35 => 'test-failed',
36 => 'maintenance-failed',
40 => 'removed',
41 => 'disabled',
50 => 'inaccessible',
60 => 'thermal-problem',
61 => 'power-problem',
62 => 'voltage-problem',
63 => 'inoperable',
101 => 'decommissioning',
201 => 'bios-restore',
202 => 'cmos-reset',
203 => 'diagnostics',
204 => 'diagnostic-failed',
);
$thresholds = {
'default.drivestatus' => [
['unknown', 'UNKNOWN'],
['online', 'OK'],
['unconfiguredGood', 'OK'],
['globalHotSpare', 'OK'],
['dedicatedHotSpare', 'OK'],
['jbod', 'OK'],
['offline', 'OK'],
['rebuilding', 'WARNING'],
['copyback', 'OK'],
['failed', 'CRITICAL'],
['unconfiguredBad', 'CRITICAL'],
['predictiveFailure', 'WARNING'],
['disabledForRemoval', 'OK'],
['foreignConfiguration', 'OK'],
],
'default.presence' => [
['unknown', 'UNKNOWN'],
['empty', 'OK'],
['equipped', 'OK'],
['missing', 'WARNING'],
['mismatch', 'WARNING'],
['equippedNotPrimary', 'OK'],
['equippedIdentityUnestablishable', 'WARNING'],
['mismatchIdentityUnestablishable', 'WARNING'],
['inaccessible', 'UNKNOWN'],
['unauthorized', 'UNKNOWN'],
['notSupported', 'WARNING'],
],
'default.operability' => [
['unknown', 'UNKNOWN'],
['operable', 'OK'],
['inoperable', 'CRITICAL'],
['degraded', 'WARNING'],
['poweredOff', 'WARNING'],
['powerProblem', 'CRITICAL'],
['removed', 'WARNING'],
['voltageProblem', 'CRITICAL'],
['thermalProblem', 'CRITICAL'],
['performanceProblem', 'CRITICAL'],
['accessibilityProblem', 'WARNING'],
['identityUnestablishable', 'WARNING'],
['biosPostTimeout', 'WARNING'],
['disabled', 'OK'],
['fabricConnProblem', 'WARNING'],
['fabricUnsupportedConn', 'WARNING'],
['config', 'OK'],
['equipmentProblem', 'CRITICAL'],
['decomissioning', 'WARNING'],
['chassisLimitExceeded', 'WARNING'],
['notSupported', 'WARNING'],
['discovery', 'OK'],
['discoveryFailed', 'WARNING'],
['postFailure', 'WARNING'],
['upgradeProblem', 'WARNING'],
['peerCommProblem', 'WARNING'],
['autoUpgrade', 'OK'],
],
'default.overall_status' => [
['indeterminate', 'UNKNOWN'],
['unassociated', 'OK'],
['ok', 'OK'],
['discovery', 'OK'],
['config', 'OK'],
['unconfig', 'OK'],
['power-off', 'WARNING'],
['restart', 'WARNING'],
['maintenance', 'OK'],
['test', 'OK'],
['compute-mismatch', 'WARNING'],
['compute-failed', 'WARNING'],
['degraded', 'WARNING'],
['discovery-failed', 'WARNING'],
['config-failure', 'WARNING'],
['unconfig-failed', 'WARNING'],
['test-failed', 'WARNING'],
['maintenance-failed', 'WARNING'],
['removed', 'WARNING'],
['disabled', 'OK'],
['inaccessible', 'WARNING'],
['thermal-problem', 'CRITICAL'],
['power-problem', 'CRITICAL'],
['voltage-problem', 'CRITICAL'],
['inoperable', 'CRITICAL'],
['decommissioning', 'WARNING'],
['bios-restore', 'WARNING'],
['cmos-reset', 'WARNING'],
['diagnostics', 'OK'],
['diagnostic-failed', 'WARNING'],
],
};
1;