Bugtracker: https://github.com/jpcw/checkopenbgpd/issues
usage
This check runs bgpctl show and checks 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 ignore state, and it ‘s not critical. Typically a session which depends on a slave carp interface. You have an option ‘–ignore-list’, the plugin will take care if the session is in this list, and returns an ‘OK’ state for this session.
$ check_openbgpd --ignore-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 ignore session not escaped in the optionnal ‘–ignore-list’
$ check_openbgpd CHECKBGPCTL CRITICAL - OTHER-PEER is U (outside range 0:) | 'PEER-1'=529918;;;0 'OTHER-PEER'=U;;;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 denieddoas is your friend to run this plugin with an unprivileged user. A sample config here
permit nopass icinga as root cmd /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 --ignore-list $ARG1$"
}
the service itself
define service{
use my-service
host_name hostname
service_description bgpctl
check_command check_ssh_bgpctl!
}
icinga2 command
object CheckCommand "openbgpd" {
import "plugin-check-command"
import "ipv4-or-ipv6"
command = [ PluginDir + "/check_by_ssh" ]
arguments = {
"-H" = "$openbgpd_address$"
"-i" = "$ssh_id$"
"-p" = "$ssh_port$"
"-C" = "$ssh_command$"
}
vars.openbgpd_address = "$check_address$"
vars.ssh_id = "/var/spool/icinga/.ssh/id_rsa"
vars.ssh_port = "$vars.ssh_port$"
vars.ssh_command = "sudo /usr/local/bin/check_openbgpd"
}
icinga2 service
apply Service "openbgpd" {
check_command = "openbgpd"
assign where host.name == "hostname"
}
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 "--ignore-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 --setuptools-version=33.1.1 --buildout-version=2.5.2 bin/buildout -N bin/test
Changelog
0.10 (2018-01-20)
replace –idle-list with a more permissive –ignore-list https://github.com/jpcw/checkopenbgpd/issues/5
fix broken Python3 https://github.com/jpcw/checkopenbgpd/issues/4
0.9 (2017-03-07)
fix session with max-prefix https://github.com/jpcw/checkopenbgpd/issues/3
thanks drustan for bug report
thanks Dam64 which up a session with max-prefix for tests and debug
0.8 (2016-04-15)
python3.5 support
0.7 (2015-04-12)
fix ‘idle’ breaks performance data rendering https://github.com/jpcw/checkopenbgpd/issues/1
0.6 (2015-04-09)
improve summary
0.5
Fix Cosmetics on README
0.1 (2015-04-09)
Jean-Philippe Camguilhem <jpcw__at__camguilhem.net>
Contributors
Jean-Philippe Camguilhem, Author
Metadata
Release files for checkopenbgpd 0.10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| checkopenbgpd-0.10.tar.gz | 9.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| checkopenbgpd-0.10-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 19.3 kB
Release files / checkopenbgpd-0.10.tar.gz
| Download URL | checkopenbgpd-0.10.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67d8cecb2d48a08ac0c9484f4cb2c76c318cca4a421a9e581e5a6a2de6308928
|
|
BLAKE2b-256 checksum How to use checksums |
ca44b386e526b271187be4502be1c912d74fe67803541a2eaaac73eff9357eba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / checkopenbgpd-0.10-py2.py3-none-any.whl
| Download URL | checkopenbgpd-0.10-py2.py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
e44a0579ecfb428f46cc03ee0009bd08822acb1f76fa6aecc95fe803fa02e16e
|
|
BLAKE2b-256 checksum How to use checksums |
3e09c4c0d183ede44f6ef23745cbbd29d103f40b63d5edfb928f398fe65f6f8c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |