1
package HP::Proliant::Component::DiskSubsystem::Sas::SNMP;
2
our @ISA = qw(HP::Proliant::Component::DiskSubsystem::Sas
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
cpqSasHbaEntry => "1.3.6.1.4.1.232.5.5.1.1.1",
30
cpqSasHbaIndex => "1.3.6.1.4.1.232.5.5.1.1.1.1",
31
cpqSasHbaLocation => "1.3.6.1.4.1.232.5.5.1.1.1.2",
32
cpqSasHbaSlot => "1.3.6.1.4.1.232.5.5.1.1.1.6",
33
cpqSasHbaStatus => "1.3.6.1.4.1.232.5.5.1.1.1.4",
34
cpqSasHbaStatusValue => {
39
cpqSasHbaCondition => "1.3.6.1.4.1.232.5.5.1.1.1.5",
40
cpqSasHbaConditionValue => {
48
# INDEX { cpqSasHbaIndex }
49
foreach ($self->get_entries($oids, 'cpqSasHbaEntry')) {
50
push(@{$self->{controllers}},
51
HP::Proliant::Component::DiskSubsystem::Sas::Controller->new(%{$_}));
55
cpqSasLogDrvEntry => "1.3.6.1.4.1.232.5.5.3.1.1",
56
cpqSasLogDrvHbaIndex => "1.3.6.1.4.1.232.5.5.3.1.1.1",
57
cpqSasLogDrvIndex => "1.3.6.1.4.1.232.5.5.3.1.1.2",
58
cpqSasLogDrvStatus => "1.3.6.1.4.1.232.5.5.3.1.1.4",
59
cpqSasLogDrvCondition => "1.3.6.1.4.1.232.5.5.3.1.1.5",
60
cpqSasLogDrvRebuildingPercent => "1.3.6.1.4.1.232.5.5.3.1.1.12",
61
cpqSasLogDrvRaidLevel => "1.3.6.1.4.1.232.5.5.3.1.1.3",
62
cpqSasLogDrvRaidLevelValue => {
71
cpqSasLogDrvConditionValue => {
77
cpqSasLogDrvStatusValue => {
86
# INDEX { cpqSasLogDrvCntlrIndex, cpqSasLogDrvIndex }
87
foreach ($self->get_entries($oids, 'cpqSasLogDrvEntry')) {
88
push(@{$self->{logical_drives}},
89
HP::Proliant::Component::DiskSubsystem::Sas::LogicalDrive->new(%{$_}));
93
cpqSasPhyDrvEntry => "1.3.6.1.4.1.232.5.5.2.1.1",
94
cpqSasPhyDrvHbaIndex => "1.3.6.1.4.1.232.5.5.2.1.1.1",
95
cpqSasPhyDrvIndex => "1.3.6.1.4.1.232.5.5.2.1.1.2",
96
cpqSasPhyDrvLocationString => "1.3.6.1.4.1.232.5.5.2.1.1.3",
97
cpqSasPhyDrvStatus => "1.3.6.1.4.1.232.5.5.2.1.1.5",
98
cpqSasPhyDrvSize => "1.3.6.1.4.1.232.5.5.2.1.1.8",
99
cpqSasPhyDrvCondition => "1.3.6.1.4.1.232.5.5.2.1.1.6",
100
cpqSasPhyDrvConditionValue => {
106
cpqSasPhyDrvStatusValue => {
109
3 => "predictiveFailure",
113
7 => "missingWasPredictiveFailure",
114
8 => "missingWasOffline",
115
9 => "missingWasFailed",
119
# INDEX { cpqPhyLogDrvCntlrIndex, cpqSasPhyDrvIndex }
120
foreach ($self->get_entries($oids, 'cpqSasPhyDrvEntry')) {
121
push(@{$self->{physical_drives}},
122
HP::Proliant::Component::DiskSubsystem::Sas::PhysicalDrive->new(%{$_}));