diff --git a/snmp_standard/mode/bgppeerstate.pm b/snmp_standard/mode/bgppeerstate.pm deleted file mode 100644 index 0caa89709..000000000 --- a/snmp_standard/mode/bgppeerstate.pm +++ /dev/null @@ -1,120 +0,0 @@ -################################################################################ -## Copyright 2005-2013 MERETHIS -## Centreon is developped by : Julien Mathis and Romain Le Merlus under -## GPL Licence 2.0. -## -## This program is free software; you can redistribute it and/or modify it under -## the terms of the GNU General Public License as published by the Free Software -## Foundation ; either version 2 of the License. -## -## This program is distributed in the hope that it will be useful, but WITHOUT ANY -## WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -## PARTICULAR PURPOSE. See the GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License along with -## this program; if not, see . -## -## Linking this program statically or dynamically with other modules is making a -## combined work based on this program. Thus, the terms and conditions of the GNU -## General Public License cover the whole combination. -## -## As a special exception, the copyright holders of this program give MERETHIS -## permission to link this program with independent modules to produce an executable, -## regardless of the license terms of these independent modules, and to copy and -## distribute the resulting executable under terms of MERETHIS choice, provided that -## MERETHIS also meet, for each linked independent module, the terms and conditions -## of the license of that module. An independent module is a module which is not -## derived from this program. If you modify this program, you may extend this -## exception to your version of the program, but you are not obliged to do so. If you -## do not wish to do so, delete this exception statement from your version. -## -## For more information : contact@centreon.com -## Authors : Simon Bomm -## -##################################################################################### - -package snmp_standard::mode::bgppeerstate; - -use base qw(centreon::plugins::mode); - -use strict; -use warnings; - -my %map_states_peer = ( - 1 => 'idle', - 2 => 'connect', - 3 => 'active', - 4 => 'opensent', - 5 => 'openconfirm', - 6 => 'established', -); - -my %map_admin_state = ( - 1 => 'stop', - 2 => 'start', -); - -sub new { - my ($class, %options) = @_; - my $self = $class->SUPER::new(package => __PACKAGE__, %options); - bless $self, $class; - - $self->{version} = '1.0'; - return $self; -} - -sub run { - my ($self, %options) = @_; - # $options{snmp} = snmp object - $self->{snmp} = $options{snmp}; - - my $oid_bgpPeerEntry = '.1.3.6.1.2.1.15.3.1'; - my $oid_bgpPeerState = '.1.3.6.1.2.1.15.3.1.2'; - my $oid_bgpPeerAdminStatus = '.1.3.6.1.2.1.15.3.1.3'; - my $oid_bgpPeerRemoteAs = '.1.3.6.1.2.1.15.3.1.9'; - - my $result = $self->{snmp}->get_table(oid => $oid_bgpPeerEntry); - - foreach my $key ($self->{snmp}->oid_lex_sort(keys %$result)) { - next if ($key !~ /^$oid_bgpPeerState\.(.*)$/); - my $instance = $1; - - my $bgpPeerState = $result->{$oid_bgpPeerState . '.' . $instance}; - my $bgpPeerAdminStatus = $result->{$oid_bgpPeerAdminStatus . '.' . $instance}; - my $bgpPeerRemoteAs = $result->{$oid_bgpPeerRemoteAs . '.' . $instance}; - - $self->{output_add}->output_add(long_msg => sprintf("Peer '%s' (Remote AS: '%d') state is '%s'", - $instance, $bgpPeerRemoteAs, $map_states_peer{$bgpPeerState})); - - $self->{output}->output_add(severity => 'OK', - short_msg => sprintf("All peers are in an Established state")); - - if ($bgpPeerState != 6) { - $self->{output}->output_add(severity => 'CRITICAL', - short_msg => sprintf("Peer '%s' (Remote AS number: '%d') state is '%s'", - $instance, $bgpPeerRemoteAs, $map_states_peer{$bgpPeerState})); - } elsif ($bgpPeerAdminStatus < 2) { - $self->{output}->output_add(severity => 'CRITICAL', - short_msg => sprintf("Peer '%s' (Remote AS number: '%d') admin state is '%s'", - $instance, $bgpPeerRemoteAs, $map_admin_state{$bgpPeerAdminStatus})); - } - - } - -} - -1; - -__END__ - -=head1 MODE - -Check remote BGP Peer State (BGP4-MIB.mib and rfc4273) - -=over 8 - -=back - -=cut - -