forked from pool/monitoring-plugins-bonding
- do also check for churned state on lacp interfaces and warn
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/monitoring-plugins-bonding?expand=0&rev=9
This commit is contained in:
parent
c4e4161757
commit
859a598b6f
@ -52,6 +52,8 @@ sub read_proc_bond {
|
||||
while (($_ = <F>||"") !~ /^$/) {
|
||||
$data->{'slaves'}->{$slave}->{'mii'} = $1 if /^MII Status: (.+)$/;
|
||||
$data->{'slaves'}->{$slave}->{'failure-count'} = $1 if /^Link Failure Count: (.+)$/;
|
||||
$data->{'slaves'}->{$slave}->{'actor-churn'} = $1 if /^Actor Churn State: (.+)$/;
|
||||
$data->{'slaves'}->{$slave}->{'partner-churn'} = $1 if /^Partner Churn State: (.+)$/;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -67,17 +69,31 @@ sub check_bond {
|
||||
return (0, "Unable to read bond information") unless $data;
|
||||
my $error = 0;
|
||||
my $config_str;
|
||||
my $status = $data->{'status'};
|
||||
if (defined $data->{'slaves'}) {
|
||||
foreach (keys %{$data->{'slaves'}}) {
|
||||
$status = "warn" if $data->{'slaves'}->{$_}->{'actor-churn'}
|
||||
&& $data->{'slaves'}->{$_}->{'actor-churn'} eq "churned";
|
||||
$status = "warn" if $data->{'slaves'}->{$_}->{'partner-churn'}
|
||||
&& $data->{'slaves'}->{$_}->{'partner-churn'} eq "churned";
|
||||
}
|
||||
}
|
||||
if (defined $data->{'active'}) {
|
||||
$config_str = sprintf "$interface_name %s on %s: members =", $data->{'status'}, $data->{'active'} ;
|
||||
} elsif (defined $data->{'slaves'}) {
|
||||
$config_str = sprintf "$interface_name %s: members =", $data->{'status'};
|
||||
$config_str = sprintf "$interface_name %s: members =", $status;
|
||||
} else {
|
||||
$config_str = sprintf "$interface_name %s has no physical devices", $data->{'status'};
|
||||
$error = 1;
|
||||
}
|
||||
foreach (keys %{$data->{'slaves'}}) {
|
||||
$config_str.= " $_ (" . $data->{'slaves'}->{$_}->{'mii'} . ")";
|
||||
my $result = $data->{'slaves'}->{$_}->{'mii'};
|
||||
$result = "churned" unless $data->{'slaves'}->{$_}->{'actor-churn'} eq 'none';
|
||||
$result = "churned" unless $data->{'slaves'}->{$_}->{'partner-churn'} eq 'none';
|
||||
$config_str.= " $_ (" . $result . ")";
|
||||
$error = 1 unless $data->{'slaves'}->{$_}->{'mii'} eq 'up';
|
||||
$error = 1 unless $data->{'slaves'}->{$_}->{'actor-churn'} eq 'none';
|
||||
$error = 1 unless $data->{'slaves'}->{$_}->{'partner-churn'} eq 'none';
|
||||
$error = 2 if ($data->{'status'} ne 'up');
|
||||
}
|
||||
return $error, $config_str;
|
||||
|
@ -1,3 +1,8 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jul 12 13:04:59 CEST 2018 - ro@suse.de
|
||||
|
||||
- do also check for churned state on lacp interfaces and warn
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 15:00:43 CEST 2017 - ro@suse.de
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package monitoring-plugins-bonding
|
||||
#
|
||||
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -20,7 +20,7 @@ Name: monitoring-plugins-bonding
|
||||
Version: 0.002
|
||||
Release: 0
|
||||
Summary: Nagios Network Bonding Check
|
||||
License: GPL-2.0+ or Artistic-1.0
|
||||
License: GPL-2.0-or-later OR Artistic-1.0
|
||||
Group: System/Monitoring
|
||||
Url: http://www.monitoringexchange.org/inventory/Check-Plugins/Operating-Systems/Linux/Network-Bonding
|
||||
Source0: check_bonding.pl
|
||||
|
Loading…
Reference in New Issue
Block a user