mirror of
https://github.com/centreon/centreon-plugins.git
synced 2025-07-26 23:24:27 +02:00
Fix #1768
This commit is contained in:
parent
5d13fb53eb
commit
99a3283fd5
@ -28,14 +28,14 @@ use centreon::plugins::templates::catalog_functions qw(catalog_status_threshold
|
||||
|
||||
sub custom_stack_status_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
|
||||
my $msg = sprintf("Stack status is '%s'", $self->{result_values}->{stack_status});
|
||||
return $msg;
|
||||
}
|
||||
|
||||
sub custom_status_output {
|
||||
my ($self, %options) = @_;
|
||||
|
||||
|
||||
my $msg = sprintf("State is '%s', Role is '%s'", $self->{result_values}->{state}, $self->{result_values}->{role});
|
||||
return $msg;
|
||||
}
|
||||
|
@ -1,3 +1,13 @@
|
||||
2019-12-XX Quentin Garnier <qgarnier@centreon.com>
|
||||
* Plugin added: CouchDB Rest API
|
||||
* Plugin added: Maltem Insight Performance Rest API
|
||||
* Plugin added: Hikvision camera SNMP
|
||||
* Plugin added: Avaya CM SNMP
|
||||
* Plugin added: Palo Alto SSH
|
||||
* Mode added: [linux/snmp] 'udpcon'
|
||||
* Mode added: [cisco/standard/snmp] 'load'
|
||||
* Fix: Ctrl+F "Fix" on commits page
|
||||
|
||||
2019-10-16 Colin Gagnaire <cgagnaire@centreon.com>
|
||||
* Plugin added: ABB CMS700 SNMP
|
||||
* Mode added: [linux/local] 'discovery-nmap'
|
||||
|
@ -37,14 +37,18 @@ my $oid_extremeFanStatusEntry = '.1.3.6.1.4.1.1916.1.1.1.9.1';
|
||||
sub load {
|
||||
my ($self) = @_;
|
||||
|
||||
push @{$self->{request}}, { oid => $oid_extremeFanStatusEntry, end => $mapping->{extremeFanOperational}->{oid} };
|
||||
push @{$self->{request}}, {
|
||||
oid => $oid_extremeFanStatusEntry,
|
||||
start => $mapping->{extremeFanOperational}->{oid},
|
||||
end => $mapping->{extremeFanSpeed}->{oid}
|
||||
};
|
||||
}
|
||||
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
|
||||
$self->{output}->output_add(long_msg => "Checking fans");
|
||||
$self->{components}->{fan} = {name => 'fans', total => 0, skip => 0};
|
||||
$self->{components}->{fan} = { name => 'fans', total => 0, skip => 0 };
|
||||
return if ($self->check_filter(section => 'fan'));
|
||||
|
||||
my ($exit, $warn, $crit, $checked);
|
||||
@ -56,19 +60,37 @@ sub check {
|
||||
next if ($self->check_filter(section => 'fan', instance => $instance));
|
||||
|
||||
$self->{components}->{fan}->{total}++;
|
||||
$self->{output}->output_add(long_msg => sprintf("Fan '%s' status is '%s' [instance = %s, speed = %s]",
|
||||
$instance, $result->{extremeFanOperational}, $instance, defined($result->{extremeFanSpeed}) ? $result->{extremeFanSpeed} : 'unknown'));
|
||||
$self->{output}->output_add(long_msg =>
|
||||
sprintf(
|
||||
"Fan '%s' status is '%s' [instance = %s, speed = %s]",
|
||||
$instance,
|
||||
$result->{extremeFanOperational},
|
||||
$instance,
|
||||
defined($result->{extremeFanSpeed}) ? $result->{extremeFanSpeed} : 'unknown'
|
||||
)
|
||||
);
|
||||
$exit = $self->get_severity(section => 'fan', value => $result->{extremeFanOperational});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Fan '%s' status is '%s'", $instance, $result->{extremeFanOperational}));
|
||||
next;
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Fan '%s' status is '%s'",
|
||||
$instance,
|
||||
$result->{extremeFanOperational}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'fan', instance => $instance, value => $result->{extremeFanSpeed});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Fan '%s' is '%s' rpm", $instance, $result->{extremeFanSpeed}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Fan '%s' is '%s' rpm",
|
||||
$instance,
|
||||
$result->{extremeFanSpeed}
|
||||
)
|
||||
);
|
||||
}
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'fan', unit => 'rpm',
|
||||
@ -76,7 +98,8 @@ sub check {
|
||||
instances => $instance,
|
||||
value => $result->{extremeFanSpeed},
|
||||
warning => $warn,
|
||||
critical => $crit, min => 0
|
||||
critical => $crit,
|
||||
min => 0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ sub check {
|
||||
my ($self) = @_;
|
||||
|
||||
$self->{output}->output_add(long_msg => "Checking poes");
|
||||
$self->{components}->{poe} = {name => 'poes', total => 0, skip => 0};
|
||||
$self->{components}->{poe} = { name => 'poes', total => 0, skip => 0 };
|
||||
return if ($self->check_filter(section => 'poe'));
|
||||
|
||||
my ($exit, $warn, $crit, $checked);
|
||||
@ -70,22 +70,39 @@ sub check {
|
||||
sprintf("%.3f", $result2->{extremePethSlotMeasuredPower} / 1000) : 'unknown';
|
||||
|
||||
$self->{components}->{poe}->{total}++;
|
||||
$self->{output}->output_add(long_msg => sprintf("Poe '%s' status is '%s' [instance = %s, power = %s]",
|
||||
$instance, $result->{extremePethSlotPoeStatus},
|
||||
$instance, $result2->{extremePethSlotMeasuredPower}));
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
"Poe '%s' status is '%s' [instance = %s, power = %s]",
|
||||
$instance,
|
||||
$result->{extremePethSlotPoeStatus},
|
||||
$instance,
|
||||
$result2->{extremePethSlotMeasuredPower}
|
||||
)
|
||||
);
|
||||
$exit = $self->get_severity(section => 'poe', value => $result->{extremePethSlotPoeStatus});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Poe '%s' status is '%s'", $instance, $result->{extremePethSlotPoeStatus}));
|
||||
next;
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Poe '%s' status is '%s'",
|
||||
$instance,
|
||||
$result->{extremePethSlotPoeStatus}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
next if ($result2->{extremePethSlotMeasuredPower} !~ /\d+/);
|
||||
|
||||
($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'poe', instance => $instance, value => $result2->{extremePethSlotMeasuredPower});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Poe '%s' is '%s' W", $instance, $result2->{extremePethSlotMeasuredPower}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Poe '%s' is '%s' W",
|
||||
$instance,
|
||||
$result2->{extremePethSlotMeasuredPower}
|
||||
)
|
||||
);
|
||||
}
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'poe_power', unit => 'W',
|
||||
@ -93,7 +110,8 @@ sub check {
|
||||
instances => $instance,
|
||||
value => $result2->{extremePethSlotMeasuredPower},
|
||||
warning => $warn,
|
||||
critical => $crit, min => 0
|
||||
critical => $crit,
|
||||
min => 0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -54,14 +54,22 @@ sub check_fan_speed {
|
||||
|
||||
my ($exit, $warn, $crit, $checked) = $self->get_severity_numeric(section => 'psu.fan', instance => $options{instance}, value => $options{value});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Power supply fan '%s' is '%s' rpm", $options{instance}, $options{value}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Power supply fan '%s' is '%s' rpm",
|
||||
$options{instance},
|
||||
$options{value}
|
||||
)
|
||||
);
|
||||
}
|
||||
$self->{output}->perfdata_add(label => 'psu_fan_' . $options{instance}, unit => 'rpm',
|
||||
value => $options{value},
|
||||
warning => $warn,
|
||||
critical => $crit, min => 0
|
||||
);
|
||||
$self->{output}->perfdata_add(
|
||||
label => 'psu_fan_' . $options{instance}, unit => 'rpm',
|
||||
value => $options{value},
|
||||
warning => $warn,
|
||||
critical => $crit,
|
||||
min => 0
|
||||
);
|
||||
}
|
||||
|
||||
sub check {
|
||||
@ -109,7 +117,8 @@ sub check {
|
||||
instances => $instance,
|
||||
value => $power,
|
||||
warning => $warn,
|
||||
critical => $crit, min => 0
|
||||
critical => $crit,
|
||||
min => 0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ sub check {
|
||||
my ($self) = @_;
|
||||
|
||||
$self->{output}->output_add(long_msg => "Checking slots");
|
||||
$self->{components}->{slot} = {name => 'slots', total => 0, skip => 0};
|
||||
$self->{components}->{slot} = { name => 'slots', total => 0, skip => 0 };
|
||||
return if ($self->check_filter(section => 'slot'));
|
||||
|
||||
foreach my $oid ($self->{snmp}->oid_lex_sort(keys %{$self->{results}->{$oid_extremeSlotEntry}})) {
|
||||
@ -72,14 +72,26 @@ sub check {
|
||||
}
|
||||
|
||||
$self->{components}->{slot}->{total}++;
|
||||
$self->{output}->output_add(long_msg => sprintf("Slot '%s' status is '%s' [instance = %s]",
|
||||
$result->{extremeSlotName}, $result->{extremeSlotModuleState}, $instance));
|
||||
$self->{output}->output_add(long_msg =>
|
||||
sprintf(
|
||||
"Slot '%s' status is '%s' [instance = %s]",
|
||||
$result->{extremeSlotName},
|
||||
$result->{extremeSlotModuleState},
|
||||
$instance
|
||||
)
|
||||
);
|
||||
my $exit = $self->get_severity(section => 'slot', value => $result->{extremeSlotModuleState});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Slot '%s' status is '%s'", $result->{extremeSlotName}, $result->{extremeSlotModuleState}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
"Slot '%s' status is '%s'",
|
||||
$result->{extremeSlotName},
|
||||
$result->{extremeSlotModuleState}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1;
|
||||
1;
|
||||
|
@ -36,8 +36,8 @@ sub load {
|
||||
sub check {
|
||||
my ($self) = @_;
|
||||
|
||||
$self->{output}->output_add(long_msg => "Checking temperatures");
|
||||
$self->{components}->{temperature} = {name => 'temperatures', total => 0, skip => 0};
|
||||
$self->{output}->output_add(long_msg => 'Checking temperatures');
|
||||
$self->{components}->{temperature} = { name => 'temperatures', total => 0, skip => 0 };
|
||||
return if ($self->check_filter(section => 'temperature'));
|
||||
|
||||
return if (!defined($self->{results}->{$mapping->{extremeCurrentTemperature}->{oid}}->{$mapping->{extremeCurrentTemperature}->{oid} . '.0'}));
|
||||
@ -47,16 +47,26 @@ sub check {
|
||||
next if ($self->check_filter(section => 'temperature', instance => $instance));
|
||||
$self->{components}->{temperature}->{total}++;
|
||||
|
||||
$self->{output}->output_add(long_msg => sprintf("temperature is %dC [instance: %s].",
|
||||
$result->{extremeCurrentTemperature},
|
||||
$instance));
|
||||
$self->{output}->output_add(
|
||||
long_msg => sprintf(
|
||||
'temperature is %dC [instance: %s].',
|
||||
$result->{extremeCurrentTemperature},
|
||||
$instance
|
||||
)
|
||||
);
|
||||
my ($exit, $warn, $crit) = $self->get_severity_numeric(section => 'temperature', instance => $instance, value => $result->{extremeCurrentTemperature});
|
||||
if (!$self->{output}->is_status(value => $exit, compare => 'ok', litteral => 1)) {
|
||||
$self->{output}->output_add(severity => $exit,
|
||||
short_msg => sprintf("Temperature is %s degree centigrade", $result->{extremeCurrentTemperature}));
|
||||
$self->{output}->output_add(
|
||||
severity => $exit,
|
||||
short_msg => sprintf(
|
||||
'Temperature is %s degree centigrade',
|
||||
$result->{extremeCurrentTemperature}
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
$self->{output}->perfdata_add(
|
||||
label => "temp", unit => 'C',
|
||||
label => 'temp', unit => 'C',
|
||||
nlabel => 'hardware.temperature.celsius',
|
||||
value => $result->{extremeCurrentTemperature},
|
||||
warning => $warn,
|
||||
|
Loading…
x
Reference in New Issue
Block a user