mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-04-07 20:35:27 +02:00
(plugin) storage::dell::compellent::snmp - mode hardware add option --add-name-instance (#4510)
This commit is contained in:
parent
65ef6bca0c
commit
a3a1d559f7
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scCacheStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.28.1.3', map => \%map_sc_status },
|
||||
scCacheName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.28.1.4' },
|
||||
scCacheName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.28.1.4' }
|
||||
};
|
||||
my $oid_scCacheEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.28.1';
|
||||
|
||||
@ -47,18 +47,23 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scCacheStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCacheEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'cache', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'cache', instance => $instance, name => $result->{scCacheName}));
|
||||
$self->{components}->{cache}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("cache '%s' status is '%s' [instance = %s]",
|
||||
$result->{scCacheName}, $result->{scCacheStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'cache', value => $result->{scCacheStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"cache '%s' status is '%s' [instance: %s]",
|
||||
$result->{scCacheName}, $result->{scCacheStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'cache', name => $result->{scCacheName}, value => $result->{scCacheStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Cache '%s' status is '%s'", $result->{scCacheName}, $result->{scCacheStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Cache '%s' status is '%s'", $result->{scCacheName}, $result->{scCacheStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scCtlrStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.13.1.3', map => \%map_sc_status },
|
||||
scCtlrName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.13.1.4' },
|
||||
scCtlrName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.13.1.4' }
|
||||
};
|
||||
my $oid_scCtlrEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.13.1';
|
||||
|
||||
@ -47,18 +47,23 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scCtlrStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCtlrEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'ctrl', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'ctrl', instance => $instance, name => $result->{scCtlrName}));
|
||||
$self->{components}->{ctrl}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("controller '%s' status is '%s' [instance = %s]",
|
||||
$result->{scCtlrName}, $result->{scCtlrStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrl', value => $result->{scCtlrStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"controller '%s' status is '%s' [instance: %s]",
|
||||
$result->{scCtlrName}, $result->{scCtlrStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrl', name => $result->{scCtlrName}, value => $result->{scCtlrStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Controller '%s' status is '%s'", $result->{scCtlrName}, $result->{scCtlrStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Controller '%s' status is '%s'", $result->{scCtlrName}, $result->{scCtlrStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ my $mapping = {
|
||||
scCtlrFanWarnLwrRpm => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.8' },
|
||||
scCtlrFanWarnUprRpm => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.9' },
|
||||
scCtlrFanCritLwrRpm => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.10' },
|
||||
scCtlrFanCritUprRpm => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.11' },
|
||||
scCtlrFanCritUprRpm => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1.11' }
|
||||
};
|
||||
my $oid_scCtlrFanEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.16.1';
|
||||
|
||||
@ -52,22 +52,33 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scCtlrFanStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCtlrFanEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'ctrlfan', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'ctrlfan', instance => $instance, name => $result->{scCtlrFanName}));
|
||||
|
||||
$self->{components}->{ctrlfan}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("controller fan '%s' status is '%s' [instance = %s] [value = %s]",
|
||||
$result->{scCtlrFanName}, $result->{scCtlrFanStatus}, $instance,
|
||||
$result->{scCtlrFanCurrentRpm}));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlfan', value => $result->{scCtlrFanStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"controller fan '%s' status is '%s' [instance: %s] [value: %s]",
|
||||
$result->{scCtlrFanName}, $result->{scCtlrFanStatus}, $instance,
|
||||
$result->{scCtlrFanCurrentRpm}
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlfan', name => $result->{scCtlrFanName}, value => $result->{scCtlrFanStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Controller fan '%s' status is '%s'", $result->{scCtlrFanName}, $result->{scCtlrFanStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Controller fan '%s' status is '%s'", $result->{scCtlrFanName}, $result->{scCtlrFanStatus})
|
||||
);
|
||||
}
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'ctrlfan', instance => $instance, value => $result->{scCtlrFanCurrentRpm});
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(
|
||||
section => 'ctrlfan',
|
||||
instance => $instance,
|
||||
name => $result->{scCtlrFanName},
|
||||
value => $result->{scCtlrFanCurrentRpm}
|
||||
);
|
||||
if ($checked == 0) {
|
||||
$result->{scCtlrFanWarnLwrRpm} = (defined($result->{scCtlrFanWarnLwrRpm}) && $result->{scCtlrFanWarnLwrRpm} =~ /[0-9]/) ?
|
||||
$result->{scCtlrFanWarnLwrRpm} : '';
|
||||
@ -81,15 +92,18 @@ sub check {
|
||||
my $crit_th = $result->{scCtlrFanCritLwrRpm} . ':' . $result->{scCtlrFanCritUprRpm};
|
||||
$self->{perfdata}->threshold_validate(label => 'warning-ctrlfan-instance-' . $instance, value => $warn_th);
|
||||
$self->{perfdata}->threshold_validate(label => 'critical-ctrlfan-instance-' . $instance, value => $crit_th);
|
||||
|
||||
|
||||
$warn = $self->{perfdata}->get_perfdata_for_output(label => 'warning-ctrlfan-instance-' . $instance);
|
||||
$crit = $self->{perfdata}->get_perfdata_for_output(label => 'critical-ctrlfan-instance-' . $instance);
|
||||
}
|
||||
|
||||
|
||||
if (!$self->{output}->is_status(value => $exit2, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit2,
|
||||
short_msg => sprintf("Controller fan '%s' is %s rpm", $result->{scCtlrFanName}, $result->{scCtlrFanCurrentRpm}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit2,
|
||||
short_msg => sprintf("Controller fan '%s' is %s rpm", $result->{scCtlrFanName}, $result->{scCtlrFanCurrentRpm})
|
||||
);
|
||||
}
|
||||
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'ctrlfan', unit => 'rpm',
|
||||
nlabel => 'hardware.controller.fan.speed.rpm',
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scCtlrPowerStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.17.1.3', map => \%map_sc_status },
|
||||
scCtlrPowerName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.17.1.4' },
|
||||
scCtlrPowerName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.17.1.4' }
|
||||
};
|
||||
my $oid_scCtlrPowerEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.17.1';
|
||||
|
||||
@ -47,18 +47,23 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scCtlrPowerStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCtlrPowerEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'ctrlpower', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'ctrlpower', instance => $instance, name => $result->{scCtlrPowerName}));
|
||||
$self->{components}->{ctrlpower}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("controller power supply '%s' status is '%s' [instance = %s]",
|
||||
$result->{scCtlrPowerName}, $result->{scCtlrPowerStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlpower', value => $result->{scCtlrPowerStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"controller power supply '%s' status is '%s' [instance: %s]",
|
||||
$result->{scCtlrPowerName}, $result->{scCtlrPowerStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlpower', name => $result->{scCtlrPowerName}, value => $result->{scCtlrPowerStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Controller power supply '%s' status is '%s'", $result->{scCtlrPowerName}, $result->{scCtlrPowerStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Controller power supply '%s' status is '%s'", $result->{scCtlrPowerName}, $result->{scCtlrPowerStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ my $mapping = {
|
||||
scCtlrTempWarnLwrC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.8' },
|
||||
scCtlrTempWarnUprC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.9' },
|
||||
scCtlrTempCritLwrC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.10' },
|
||||
scCtlrTempCritUprC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.11' },
|
||||
scCtlrTempCritUprC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1.11' }
|
||||
};
|
||||
my $oid_scCtlrTempEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.19.1';
|
||||
|
||||
@ -52,22 +52,33 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scCtlrTempStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCtlrTempEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'ctrltemp', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'ctrltemp', instance => $instance, name => $result->{scCtlrTempName}));
|
||||
|
||||
$self->{components}->{ctrltemp}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("controller temperature '%s' status is '%s' [instance = %s] [value = %s]",
|
||||
$result->{scCtlrTempName}, $result->{scCtlrTempStatus}, $instance,
|
||||
$result->{scCtlrTempCurrentC}));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrltemp', value => $result->{scCtlrTempStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"controller temperature '%s' status is '%s' [instance: %s] [value: %s]",
|
||||
$result->{scCtlrTempName}, $result->{scCtlrTempStatus}, $instance,
|
||||
$result->{scCtlrTempCurrentC}
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrltemp', name => $result->{scCtlrTempName}, value => $result->{scCtlrTempStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Controller temperature '%s' status is '%s'", $result->{scCtlrTempName}, $result->{scCtlrTempStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Controller temperature '%s' status is '%s'", $result->{scCtlrTempName}, $result->{scCtlrTempStatus})
|
||||
);
|
||||
}
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'ctrltemp', instance => $instance, value => $result->{scCtlrTempCurrentC});
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(
|
||||
section => 'ctrltemp',
|
||||
instance => $instance,
|
||||
name => $result->{scCtlrTempName},
|
||||
value => $result->{scCtlrTempCurrentC}
|
||||
);
|
||||
if ($checked == 0) {
|
||||
$result->{scCtlrTempWarnLwrC} = (defined($result->{scCtlrTempWarnLwrC}) && $result->{scCtlrTempWarnLwrC} =~ /[0-9]/) ?
|
||||
$result->{scCtlrTempWarnLwrC} : '';
|
||||
@ -85,11 +96,14 @@ sub check {
|
||||
$warn = $self->{perfdata}->get_perfdata_for_output(label => 'warning-ctrltemp-instance-' . $instance);
|
||||
$crit = $self->{perfdata}->get_perfdata_for_output(label => 'critical-ctrltemp-instance-' . $instance);
|
||||
}
|
||||
|
||||
|
||||
if (!$self->{output}->is_status(value => $exit2, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit2,
|
||||
short_msg => sprintf("Controller temperature '%s' is %s C", $result->{scCtlrTempName}, $result->{scCtlrTempCurrentC}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit2,
|
||||
short_msg => sprintf("Controller temperature '%s' is %s C", $result->{scCtlrTempName}, $result->{scCtlrTempCurrentC})
|
||||
);
|
||||
}
|
||||
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'ctrltemp', unit => 'C',
|
||||
nlabel => 'hardware.controller.temperature.celsius',
|
||||
|
@ -31,7 +31,7 @@ my $mapping = {
|
||||
scCtlrVoltageWarnLwrV => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.8' },
|
||||
scCtlrVoltageWarnUprV => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.9' },
|
||||
scCtlrVoltageCritLwrV => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.10' },
|
||||
scCtlrVoltageCritUprV => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.11' },
|
||||
scCtlrVoltageCritUprV => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1.11' }
|
||||
};
|
||||
my $oid_scCtlrVoltageEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.18.1';
|
||||
|
||||
@ -53,21 +53,32 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scCtlrVoltageEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'ctrlvoltage', instance => $instance));
|
||||
next if ($self->check_filter(section => 'ctrlvoltage', instance => $instance, name => $result->{scCtlrVoltageName}));
|
||||
|
||||
$self->{components}->{ctrlvoltage}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("controller voltage '%s' status is '%s' [instance = %s] [value = %s]",
|
||||
$result->{scCtlrVoltageName}, $result->{scCtlrVoltageStatus}, $instance,
|
||||
$result->{scCtlrVoltageCurrentV}));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlvoltage', value => $result->{scCtlrVoltageStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"controller voltage '%s' status is '%s' [instance: %s] [value: %s]",
|
||||
$result->{scCtlrVoltageName}, $result->{scCtlrVoltageStatus}, $instance,
|
||||
$result->{scCtlrVoltageCurrentV}
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'ctrlvoltage', name => $result->{scCtlrVoltageName}, value => $result->{scCtlrVoltageStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Controller voltage '%s' status is '%s'", $result->{scCtlrVoltageName}, $result->{scCtlrVoltageStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Controller voltage '%s' status is '%s'", $result->{scCtlrVoltageName}, $result->{scCtlrVoltageStatus})
|
||||
);
|
||||
}
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'ctrlvoltage', instance => $instance, value => $result->{scCtlrVoltageCurrentV});
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(
|
||||
section => 'ctrlvoltage',
|
||||
instance => $instance,
|
||||
name => $result->{scCtlrVoltageName},
|
||||
value => $result->{scCtlrVoltageCurrentV}
|
||||
);
|
||||
if ($checked == 0) {
|
||||
$result->{scCtlrVoltageWarnLwrV} = (defined($result->{scCtlrVoltageWarnLwrV}) && $result->{scCtlrVoltageWarnLwrV} =~ /[0-9]/) ?
|
||||
$result->{scCtlrVoltageWarnLwrV} : '';
|
||||
@ -85,11 +96,14 @@ sub check {
|
||||
$warn = $self->{perfdata}->get_perfdata_for_output(label => 'warning-ctrlvoltage-instance-' . $instance);
|
||||
$crit = $self->{perfdata}->get_perfdata_for_output(label => 'critical-ctrlvoltage-instance-' . $instance);
|
||||
}
|
||||
|
||||
|
||||
if (!$self->{output}->is_status(value => $exit2, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit2,
|
||||
short_msg => sprintf("Controller voltage '%s' is %s V", $result->{scCtlrVoltageName}, $result->{scCtlrVoltageCurrentV}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit2,
|
||||
short_msg => sprintf("Controller voltage '%s' is %s V", $result->{scCtlrVoltageName}, $result->{scCtlrVoltageCurrentV})
|
||||
);
|
||||
}
|
||||
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'ctrlvoltage', unit => 'V',
|
||||
nlabel => 'hardware.controller.voltage.volt',
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scDiskStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.14.1.3', map => \%map_sc_status },
|
||||
scDiskNamePosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.14.1.4' },
|
||||
scDiskNamePosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.14.1.4' }
|
||||
};
|
||||
my $oid_scDiskEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.14.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scDiskEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'disk', instance => $instance));
|
||||
next if ($self->check_filter(section => 'disk', instance => $instance, name => $result->{scDiskNamePosition}));
|
||||
$self->{components}->{disk}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("disk '%s' status is '%s' [instance = %s]",
|
||||
$result->{scDiskNamePosition}, $result->{scDiskStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'disk', value => $result->{scDiskStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"disk '%s' status is '%s' [instance: %s]",
|
||||
$result->{scDiskNamePosition}, $result->{scDiskStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'disk', name => $result->{scDiskNamePosition}, value => $result->{scDiskStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Disk '%s' status is '%s'", $result->{scDiskNamePosition}, $result->{scDiskStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Disk '%s' status is '%s'", $result->{scDiskNamePosition}, $result->{scDiskStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,18 +51,18 @@ sub check {
|
||||
next if ($oid !~ /^$mapping->{scDiskFolderStatus}->{oid}\.(.*)$/);
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scDiskFolderEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'diskfolder', instance => $instance));
|
||||
|
||||
next if ($self->check_filter(section => 'diskfolder', instance => $instance, name => $result->{scDiskFolderName}));
|
||||
$self->{components}->{diskfolder}->{total}++;
|
||||
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"disk folder '%s' status is '%s' [instance = %s]",
|
||||
$result->{scDiskFolderName}, $result->{scDiskFolderStatus}, $instance,
|
||||
"disk folder '%s' status is '%s' [instance: %s]",
|
||||
$result->{scDiskFolderName}, $result->{scDiskFolderStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'diskfolder', value => $result->{scDiskFolderStatus});
|
||||
my $exit = $self->get_severity(label => 'default', section => 'diskfolder', name => $result->{scDiskFolderName}, value => $result->{scDiskFolderStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scEnclStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.15.1.3', map => \%map_sc_status },
|
||||
scEnclName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.15.1.4' },
|
||||
scEnclName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.15.1.4' }
|
||||
};
|
||||
my $oid_scEnclEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.15.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scEnclEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'encl', instance => $instance));
|
||||
next if ($self->check_filter(section => 'encl', instance => $instance, name => $result->{scEnclName}));
|
||||
$self->{components}->{encl}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("enclosure '%s' status is '%s' [instance = %s]",
|
||||
$result->{scEnclName}, $result->{scEnclStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encl', value => $result->{scEnclStatus});
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"enclosure '%s' status is '%s' [instance: %s]",
|
||||
$result->{scEnclName}, $result->{scEnclStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encl', name => $result->{scEnclName}, value => $result->{scEnclStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Enclosure '%s' status is '%s'", $result->{scEnclName}, $result->{scEnclStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Enclosure '%s' status is '%s'", $result->{scEnclName}, $result->{scEnclStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scEnclFanEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'enclfan', instance => $instance));
|
||||
next if ($self->check_filter(section => 'enclfan', instance => $instance, name => $result->{scEnclFanLocation}));
|
||||
$self->{components}->{enclfan}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("enclosure fan '%s' status is '%s' [instance = %s]",
|
||||
$result->{scEnclFanLocation}, $result->{scEnclFanStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'enclfan', value => $result->{scEnclFanStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"enclosure fan '%s' status is '%s' [instance: %s]",
|
||||
$result->{scEnclFanLocation}, $result->{scEnclFanStatus}, $instance,
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'enclfan', name => $result->{scEnclFanLocation}, value => $result->{scEnclFanStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Enclosure fan '%s' status is '%s'", $result->{scEnclFanLocation}, $result->{scEnclFanStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Enclosure fan '%s' status is '%s'", $result->{scEnclFanLocation}, $result->{scEnclFanStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scEnclIoModStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.22.1.3', map => \%map_sc_status },
|
||||
scEnclIoModPosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.22.1.4' },
|
||||
scEnclIoModPosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.22.1.4' }
|
||||
};
|
||||
my $oid_scEnclIoModEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.22.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scEnclIoModEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'encliomod', instance => $instance));
|
||||
next if ($self->check_filter(section => 'encliomod', instance => $instance, name => $result->{scEnclIoModPosition}));
|
||||
$self->{components}->{encliomod}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("enclosure I/O module '%s' status is '%s' [instance = %s]",
|
||||
$result->{scEnclIoModPosition}, $result->{scEnclIoModStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encliomod', value => $result->{scEnclIoModStatus});
|
||||
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"enclosure I/O module '%s' status is '%s' [instance: %s]",
|
||||
$result->{scEnclIoModPosition}, $result->{scEnclIoModStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encliomod', name => $result->{scEnclIoModPosition}, value => $result->{scEnclIoModStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Enclosure I/O module '%s' status is '%s'", $result->{scEnclIoModPosition}, $result->{scEnclIoModStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Enclosure I/O module '%s' status is '%s'", $result->{scEnclIoModPosition}, $result->{scEnclIoModStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scEnclPowerStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.21.1.3', map => \%map_sc_status },
|
||||
scEnclPowerPosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.21.1.4' },
|
||||
scEnclPowerPosition => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.21.1.4' }
|
||||
};
|
||||
my $oid_scEnclPowerEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.21.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scEnclPowerEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'enclpower', instance => $instance));
|
||||
next if ($self->check_filter(section => 'enclpower', instance => $instance, name => $result->{scEnclPowerPosition}));
|
||||
$self->{components}->{enclpower}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("enclosure power supply '%s' status is '%s' [instance = %s]",
|
||||
$result->{scEnclPowerPosition}, $result->{scEnclPowerStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'enclpower', value => $result->{scEnclPowerStatus});
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"enclosure power supply '%s' status is '%s' [instance: %s]",
|
||||
$result->{scEnclPowerPosition}, $result->{scEnclPowerStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'enclpower', name => $result->{scEnclPowerPosition}, value => $result->{scEnclPowerStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Enclosure power supply '%s' status is '%s'", $result->{scEnclPowerPosition}, $result->{scEnclPowerStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Enclosure power supply '%s' status is '%s'", $result->{scEnclPowerPosition}, $result->{scEnclPowerStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
my $mapping = {
|
||||
scEnclTempStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.3', map => \%map_sc_status },
|
||||
scEnclTempLocation => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.4' },
|
||||
scEnclTempCurrentC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.5' },
|
||||
scEnclTempCurrentC => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.23.1.5' }
|
||||
};
|
||||
my $oid_scEnclTempEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.23.1';
|
||||
|
||||
@ -49,35 +49,48 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scEnclTempEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'encltemp', instance => $instance));
|
||||
next if ($self->check_filter(section => 'encltemp', instance => $instance, name => $result->{scEnclTempLocation}));
|
||||
|
||||
$self->{components}->{encltemp}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("enclosure temperature '%s' status is '%s' [instance = %s] [value = %s]",
|
||||
$result->{scEnclTempLocation}, $result->{scEnclTempStatus}, $instance,
|
||||
defined($result->{scEnclTempCurrentC}) ? $result->{scEnclTempCurrentC} : '-'));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encltemp', value => $result->{scEnclTempStatus});
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"enclosure temperature '%s' status is '%s' [instance: %s] [value: %s]",
|
||||
$result->{scEnclTempLocation}, $result->{scEnclTempStatus}, $instance,
|
||||
defined($result->{scEnclTempCurrentC}) ? $result->{scEnclTempCurrentC} : '-'
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'encltemp', name => $result->{scEnclTempLocation}, value => $result->{scEnclTempStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Enclosure temperature '%s' status is '%s'", $result->{scEnclTempLocation}, $result->{scEnclTempStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Enclosure temperature '%s' status is '%s'", $result->{scEnclTempLocation}, $result->{scEnclTempStatus})
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
next if (!defined($result->{scEnclTempCurrentC}));
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'encltemp', instance => $instance, value => $result->{scEnclTempCurrentC});
|
||||
|
||||
my ($exit2, $warn, $crit, $checked) = $self->get_severity_numeric(
|
||||
section => 'encltemp',
|
||||
instance => $instance,
|
||||
name => $result->{scEnclTempLocation},
|
||||
value => $result->{scEnclTempCurrentC}
|
||||
);
|
||||
if (!$self->{output}->is_status(value => $exit2, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit2,
|
||||
short_msg => sprintf("Enclosure temperature '%s' is %s C", $result->{scEnclTempLocation}, $result->{scEnclTempCurrentC}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit2,
|
||||
short_msg => sprintf("Enclosure temperature '%s' is %s C", $result->{scEnclTempLocation}, $result->{scEnclTempCurrentC})
|
||||
);
|
||||
}
|
||||
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'encltemp', unit => 'C',
|
||||
nlabel => 'hardware.enclosure.temperature.celsius',
|
||||
instances => $instance,
|
||||
value => $result->{scEnclTempCurrentC},
|
||||
warning => $warn,
|
||||
critical => $crit,
|
||||
critical => $crit
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ our @EXPORT_OK = qw(%map_sc_status);
|
||||
%map_sc_status = (
|
||||
1 => 'up',
|
||||
2 => 'down',
|
||||
3 => 'degraded',
|
||||
3 => 'degraded'
|
||||
);
|
||||
|
||||
1;
|
||||
1;
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scScStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.29.1.3', map => \%map_sc_status },
|
||||
scScName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.29.1.4' },
|
||||
scScName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.29.1.4' }
|
||||
};
|
||||
my $oid_scScEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.29.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scScEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'sc', instance => $instance));
|
||||
next if ($self->check_filter(section => 'sc', instance => $instance, name => $result->{scScName}));
|
||||
$self->{components}->{sc}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("storage center '%s' status is '%s' [instance = %s]",
|
||||
$result->{scScName}, $result->{scScStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'sc', value => $result->{scScStatus});
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"storage center '%s' status is '%s' [instance: %s]",
|
||||
$result->{scScName}, $result->{scScStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'sc', name => $result->{scScName}, value => $result->{scScStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Storage center '%s' status is '%s'", $result->{scScName}, $result->{scScStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Storage center '%s' status is '%s'", $result->{scScName}, $result->{scScStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scServerStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.3', map => \%map_sc_status },
|
||||
scServerName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.4' },
|
||||
scServerName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.27.1.4' }
|
||||
};
|
||||
my $oid_scServerEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.27.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scServerEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'server', instance => $instance));
|
||||
next if ($self->check_filter(section => 'server', instance => $instance, name => $result->{scServerName}));
|
||||
$self->{components}->{server}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("server '%s' status is '%s' [instance = %s]",
|
||||
$result->{scServerName}, $result->{scServerStatus}, $instance,
|
||||
));
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'server', value => $result->{scServerStatus});
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"server '%s' status is '%s' [instance: %s]",
|
||||
$result->{scServerName}, $result->{scServerStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'server', name => $result->{scServerName}, value => $result->{scServerStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Server '%s' status is '%s'", $result->{scServerName}, $result->{scServerStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Server '%s' status is '%s'", $result->{scServerName}, $result->{scServerStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ use storage::dell::compellent::snmp::mode::components::resources qw(%map_sc_stat
|
||||
|
||||
my $mapping = {
|
||||
scVolumeStatus => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.26.1.3', map => \%map_sc_status },
|
||||
scVolumeName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.26.1.4' },
|
||||
scVolumeName => { oid => '.1.3.6.1.4.1.674.11000.2000.500.1.2.26.1.4' }
|
||||
};
|
||||
my $oid_scVolumeEntry = '.1.3.6.1.4.1.674.11000.2000.500.1.2.26.1';
|
||||
|
||||
@ -48,17 +48,22 @@ sub check {
|
||||
my $instance = $1;
|
||||
my $result = $self->{snmp}->map_instance(mapping => $mapping, results => $self->{results}->{$oid_scVolumeEntry}, instance => $instance);
|
||||
|
||||
next if ($self->check_filter(section => 'volume', instance => $instance));
|
||||
next if ($self->check_filter(section => 'volume', instance => $instance, name => $result->{scVolumeName}));
|
||||
$self->{components}->{volume}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("volume '%s' status is '%s' [instance = %s]",
|
||||
$result->{scVolumeName}, $result->{scVolumeStatus}, $instance,
|
||||
));
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"volume '%s' status is '%s' [instance: %s]",
|
||||
$result->{scVolumeName}, $result->{scVolumeStatus}, $instance
|
||||
)
|
||||
);
|
||||
|
||||
my $exit = $self->get_severity(label => 'default', section => 'volume', value => $result->{scVolumeStatus});
|
||||
my $exit = $self->get_severity(label => 'default', section => 'volume', name => $result->{scVolumeName}, value => $result->{scVolumeStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Volume '%s' status is '%s'", $result->{scVolumeName}, $result->{scVolumeStatus}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf("Volume '%s' status is '%s'", $result->{scVolumeName}, $result->{scVolumeStatus})
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -146,4 +146,3 @@ You can use the following variables: %{status}
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
|
@ -85,6 +85,10 @@ Can be: 'ctrl', 'disk', 'diskfolder', 'encl', 'ctrlfan', 'ctrlpower', 'ctrlvolta
|
||||
Exclude the items given as a comma-separated list (example: --filter=ctrlfan --filter=enclpower).
|
||||
You can also exclude items from specific instances: --filter=ctrlfan,1
|
||||
|
||||
=item B<--add-name-instance>
|
||||
|
||||
Add literal description for instance value (used in filter and threshold options).
|
||||
|
||||
=item B<--no-component>
|
||||
|
||||
Define the expected status if no components are found (default: critical).
|
||||
|
@ -29,7 +29,6 @@ sub new {
|
||||
my $self = $class->SUPER::new(package => __PACKAGE__, %options);
|
||||
bless $self, $class;
|
||||
|
||||
$self->{version} = '1.0';
|
||||
$self->{modes} = {
|
||||
'global-status' => 'storage::dell::compellent::snmp::mode::globalstatus',
|
||||
'hardware' => 'storage::dell::compellent::snmp::mode::hardware',
|
||||
|
Loading…
x
Reference in New Issue
Block a user