128 lines
4.2 KiB
Perl
128 lines
4.2 KiB
Perl
#
|
|
# Copyright 2021 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 network::alcatel::omniswitch::snmp::mode::components::resources;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use Exporter;
|
|
|
|
our %physical_class;
|
|
our %phys_oper_status;
|
|
our %phys_admin_status;
|
|
our %oids;
|
|
our $mapping;
|
|
|
|
our @ISA = qw(Exporter);
|
|
our @EXPORT_OK = qw(%physical_class %phys_oper_status %phys_admin_status %oids $mapping);
|
|
|
|
%physical_class = (
|
|
1 => 'other',
|
|
2 => 'unknown',
|
|
3 => 'chassis',
|
|
4 => 'backplane',
|
|
5 => 'container',
|
|
6 => 'powerSupply',
|
|
7 => 'fan',
|
|
8 => 'sensor',
|
|
9 => 'module',
|
|
10 => 'port',
|
|
11 => 'stack',
|
|
);
|
|
|
|
%phys_oper_status = (
|
|
1 => 'up',
|
|
2 => 'down',
|
|
3 => 'testing',
|
|
4 => 'unknown',
|
|
5 => 'secondary',
|
|
6 => 'not present',
|
|
7 => 'unpowered',
|
|
8 => 'master',
|
|
9 => 'idle',
|
|
10 => 'pwrsave',
|
|
);
|
|
|
|
%phys_admin_status = (
|
|
1 => 'unknown',
|
|
2 => 'powerOff',
|
|
3 => 'powerOn',
|
|
4 => 'reset',
|
|
5 => 'takeover',
|
|
6 => 'resetAll',
|
|
7 => 'standby',
|
|
8 => 'resetWithFabric',
|
|
9 => 'takeoverWithFabrc',
|
|
10 => 'vcTakeover',
|
|
11 => 'resetVcAll',
|
|
);
|
|
|
|
%oids = (
|
|
common => {
|
|
entPhysicalDescr => '.1.3.6.1.2.1.47.1.1.1.1.2',
|
|
entPhysicalClass => '.1.3.6.1.2.1.47.1.1.1.1.5',
|
|
entPhysicalName => '.1.3.6.1.2.1.47.1.1.1.1.7',
|
|
},
|
|
aos6 => {
|
|
entreprise_alcatel_base => '.1.3.6.1.4.1.6486.800',
|
|
|
|
chasEntPhysAdminStatus => '.1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.1',
|
|
chasEntPhysOperStatus => '.1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.2',
|
|
chasEntPhysPower => '.1.3.6.1.4.1.6486.800.1.1.1.1.1.1.1.4',
|
|
|
|
chasHardwareBoardTemp => '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.4',
|
|
chasTempThreshold => '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.7',
|
|
chasDangerTempThreshold => '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.3.1.8',
|
|
|
|
alaChasEntPhysFanStatus => '.1.3.6.1.4.1.6486.800.1.1.1.3.1.1.11.1.2',
|
|
},
|
|
aos7 => {
|
|
entreprise_alcatel_base => '.1.3.6.1.4.1.6486.801',
|
|
|
|
chasEntPhysAdminStatus => '.1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.1',
|
|
chasEntPhysOperStatus => '.1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.2',
|
|
chasEntPhysPower => '.1.3.6.1.4.1.6486.801.1.1.1.1.1.1.1.3',
|
|
|
|
chasTempThreshold => '.1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.5',
|
|
chasDangerTempThreshold => '.1.3.6.1.4.1.6486.801.1.1.1.3.1.1.3.1.6',
|
|
|
|
alaChasEntPhysFanStatus => '.1.3.6.1.4.1.6486.801.1.1.1.3.1.1.11.1.2',
|
|
},
|
|
);
|
|
|
|
$mapping = {
|
|
aos6 => {
|
|
entPhysicalDescr => { oid => $oids{common}->{entPhysicalDescr} },
|
|
entPhysicalName => { oid => $oids{common}->{entPhysicalName} },
|
|
chasEntPhysAdminStatus => { oid => $oids{aos6}->{chasEntPhysAdminStatus}, map => \%phys_admin_status, default => 'unknown' },
|
|
chasEntPhysOperStatus => { oid => $oids{aos6}->{chasEntPhysOperStatus}, map => \%phys_oper_status, default => 'unknown' },
|
|
chasEntPhysPower => { oid => $oids{aos6}->{chasEntPhysPower}, default => -1 },
|
|
},
|
|
aos7 => {
|
|
entPhysicalDescr => { oid => $oids{common}->{entPhysicalDescr} },
|
|
entPhysicalName => { oid => $oids{common}->{entPhysicalName} },
|
|
chasEntPhysAdminStatus => { oid => $oids{aos7}->{chasEntPhysAdminStatus}, map => \%phys_admin_status, default => 'unknown' },
|
|
chasEntPhysOperStatus => { oid => $oids{aos7}->{chasEntPhysOperStatus}, map => \%phys_oper_status, default => 'unknown' },
|
|
chasEntPhysPower => { oid => $oids{aos7}->{chasEntPhysPower}, default => -1 },
|
|
},
|
|
};
|
|
|
|
1;
|