1
package HP::Proliant::Component::DiskSubsystem::Scsi::SNMP;
2
our @ISA = qw(HP::Proliant::Component::DiskSubsystem::Scsi
3
HP::Proliant::Component::SNMP);
6
use constant { OK => 0, WARNING => 1, CRITICAL => 2, UNKNOWN => 3 };
14
physical_drives => [],
25
my $snmpwalk = $self->{rawdata};
29
cpqScsiCntlrEntry => '1.3.6.1.4.1.232.5.2.2.1.1',
30
cpqScsiCntlrIndex => '1.3.6.1.4.1.232.5.2.2.1.1.1',
31
cpqScsiCntlrBusIndex => '1.3.6.1.4.1.232.5.2.2.1.1.2',
32
cpqScsiCntlrSlot => '1.3.6.1.4.1.232.5.2.2.1.1.6',
33
cpqScsiCntlrStatus => '1.3.6.1.4.1.232.5.2.2.1.1.7',
34
cpqScsiCntlrCondition => '1.3.6.1.4.1.232.5.2.2.1.1.12',
35
cpqScsiCntlrHwLocation => '1.3.6.1.4.1.232.5.2.2.1.1.16',
36
cpqScsiCntlrStatusValue => {
41
cpqScsiCntlrConditionValue => {
49
# INDEX { cpqScsiCntlrIndex, cpqScsiCntlrBusIndex }
50
foreach ($self->get_entries($oids, 'cpqScsiCntlrEntry')) {
51
push(@{$self->{controllers}},
52
HP::Proliant::Component::DiskSubsystem::Scsi::Controller->new(%{$_}));
56
cpqScsiLogDrvEntry => '1.3.6.1.4.1.232.5.2.3.1.1',
57
cpqScsiLogDrvCntlrIndex => '1.3.6.1.4.1.232.5.2.3.1.1.1',
58
cpqScsiLogDrvBusIndex => '1.3.6.1.4.1.232.5.2.3.1.1.2',
59
cpqScsiLogDrvIndex => '1.3.6.1.4.1.232.5.2.3.1.1.3',
60
cpqScsiLogDrvFaultTol => '1.3.6.1.4.1.232.5.2.3.1.1.4',
61
cpqScsiLogDrvStatus => '1.3.6.1.4.1.232.5.2.3.1.1.5',
62
cpqScsiLogDrvSize => '1.3.6.1.4.1.232.5.2.3.1.1.6',
63
cpqScsiLogDrvPhyDrvIDs => '1.3.6.1.4.1.232.5.2.3.1.1.7',
64
cpqScsiLogDrvCondition => '1.3.6.1.4.1.232.5.2.3.1.1.8',
65
cpqScsiLogDrvStatusValue => {
71
6 => "readyForRebuild",
76
cpqScsiLogDrvConditionValue => {
82
cpqScsiLogDrvFaultTolValue => {
87
5 => "distribDataGuard",
91
# INDEX { cpqScsiLogDrvCntlrIndex, cpqScsiLogDrvBusIndex, cpqScsiLogDrvIndex }
92
foreach ($self->get_entries($oids, 'cpqScsiLogDrvEntry')) {
93
push(@{$self->{logical_drives}},
94
HP::Proliant::Component::DiskSubsystem::Scsi::LogicalDrive->new(%{$_}));
98
cpqScsiPhyDrvEntry => '1.3.6.1.4.1.232.5.2.4.1.1',
99
cpqScsiPhyDrvCntlrIndex => '1.3.6.1.4.1.232.5.2.4.1.1.1',
100
cpqScsiPhyDrvBusIndex => '1.3.6.1.4.1.232.5.2.4.1.1.2',
101
cpqScsiPhyDrvIndex => '1.3.6.1.4.1.232.5.2.4.1.1.3',
102
cpqScsiPhyDrvStatus => '1.3.6.1.4.1.232.5.2.4.1.1.9',
103
cpqScsiPhyDrvSize => '1.3.6.1.4.1.232.5.2.4.1.1.7',
104
cpqScsiPhyDrvCondition => '1.3.6.1.4.1.232.5.2.4.1.1.26',
105
cpqScsiPhyDrvConditionValue => {
111
cpqScsiPhyDrvStatusValue => {
115
4 => "notConfigured",
118
7 => "missingWasFailed",
119
8 => "predictiveFailure",
120
9 => "missingWasPredictiveFailure",
122
11 => "missingWasOffline",
127
# INDEX { cpqScsiPhyDrvCntlrIndex, cpqScsiPhyDrvBusIndex, cpqScsiPhyDrvIndex }
128
foreach ($self->get_entries($oids, 'cpqScsiPhyDrvEntry')) {
129
push(@{$self->{physical_drives}},
130
HP::Proliant::Component::DiskSubsystem::Scsi::PhysicalDrive->new(%{$_}));