Check OpenBGPD sessions Nagios|Icinga|shinken|etc plugin
Project description
Bugtracker: https://github.com/jpcw/checkopenbgpd/issues
usage
This check runs bgpctl show and check that all bgp sessions are up.
sample outputs :
Ok
$ check_openbgpd CHECKBGPCTL OK - All bgp sessions in correct state | 'PEER-1'=529581;;;0
Sometimes you have some peer sessions in idle state, and it ‘s not critical. Typically a session which depends on a slave carp interface. You have an option ‘–idle-list’, the plugin will take care if the session is in this list, and returns an ‘OK’ state for this session.
$ check_openbgpd --idle-list PEER-2 OTHER-PEER CHECKBGPCTL OK - All bgp sessions in correct state | 'PEER-1'=529581;;;0 'PEER-2'=0;;;0 'OTHER-PEER'=0;;;0
Critical
Critical state is reached with first idle session not escaped in the optionnal ‘–idle-list’
$ check_openbgpd CHECKBGPCTL CRITICAL - OTHER-PEER is idle (outside range 0:) | 'PEER-1'=529918;;;0 'OTHER-PEER'=None;;;0
Unknown
if an error occured during the check, the plugin raises a check error, which returns an UNKNOWN state.
typically UNKNOWN causes
OpenBGPD is not running
CHECKBGPCTL UNKNOWN - host.domain.tld bgpctl: connect: /var/run/bgpd.sock: No such file or directory
you’re not in the wheel group, and can’t read the bgpctl sosk
CHECKBGPCTL UNKNOWN - host.domain.tld bgpctl: connect: /var/run/bgpd.sock: Permission denied
sudo is your friend to run this plugin with an unprivileged user. A sample config here
icinga ALL = NOPASSWD: /usr/local/bin/check_openbgpd
Install
extract the tarball and
python setup.py install
Maybe you have installed setuptools with
pkg_add py-setuptools
then just
easy_install checkopenbgpd
check_openbgpd is located at /usr/local/bin/check_openbgpd
Nagios|icinga like configuration
check_openbgpd could be called localy or remotely via check_by_ssh or NRPE.
check_by_ssh
here a sample definition to check remotely by ssh
Command definition
define command{ command_name check_ssh_bgpctl command_line $USER1$/check_by_ssh -H $HOSTADDRESS$ -i /var/spool/icinga/.ssh/id_rsa -C "sudo /usr/local/bin/check_openbgpd --idle-list $ARG1$" }
the service itself
define service{ use my-service host_name hostname service_description bgpctl check_command check_ssh_bgpctl! }
NRPE
add this line to /usr/local/etc/nrpe.cfg
... command[check_openbgpd]=/usr/local/bin/check_openbgpd ...
nagios command definition
define command{ command_name check_nrpe_bgpctl command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_openbgpd -a "--crit-list $ARGS1" }
the service itself
define service{ use my-service host_name hostname service_description bgpctl check_command check_nrpe_bgpctl! }
testing
python bootstrap-buildout.py bin/buildout -N bin/test
Changelog
0.6 (2015-04-09)
improve summary
0.5
Fix Cosmetics on README
0.1 (2015-04-09)
Jean-Philippe Camguilhem <jp.camguilhem__at__gmail.com>
Contributors
Jean-Philippe Camguilhem, Author
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file checkopenbgpd-0.6.zip
.
File metadata
- Download URL: checkopenbgpd-0.6.zip
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7bd096916b767cc69932446f494502ba8a976a65ad0df76d7af7d35d889601d9 |
|
MD5 | 6ce0605f57135d1e63ebdc3f59b71fde |
|
BLAKE2b-256 | 7eb5b03a48bdeda3bd0478fb3469342a8a33fa2fa4c0bd6f75ebd37623cf496e |