Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jpcw/checkopenbgpd
Check OpenBGPD sessions Nagios|Icinga|shinken|etc plugin
https://github.com/jpcw/checkopenbgpd
centreon icinga-plugin nagios openbgpd openbsd python shinken
Last synced: 3 months ago
JSON representation
Check OpenBGPD sessions Nagios|Icinga|shinken|etc plugin
- Host: GitHub
- URL: https://github.com/jpcw/checkopenbgpd
- Owner: jpcw
- Created: 2015-03-11T09:39:31.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-09-22T20:28:43.000Z (over 6 years ago)
- Last Synced: 2024-09-26T20:56:48.950Z (3 months ago)
- Topics: centreon, icinga-plugin, nagios, openbgpd, openbsd, python, shinken
- Language: Python
- Homepage:
- Size: 45.9 KB
- Stars: 5
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
Awesome Lists containing this project
README
==========================================================
Check OpenBGPD Nagios|Icinga|shinken|etc plugin.
==========================================================.. image:: https://img.shields.io/pypi/l/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/pypi/implementation/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/pypi/pyversions/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/pypi/v/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/pypi/status/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/pypi/wheel/checkopenbgpd.svg
:target: https://pypi.python.org/pypi/checkopenbgpd/.. image:: https://img.shields.io/coveralls/jpcw/checkopenbgpd.svg
:target: https://coveralls.io/r/jpcw/checkopenbgpd.. image:: https://api.travis-ci.org/jpcw/checkopenbgpd.svg?branch=master
:target: http://travis-ci.org/jpcw/checkopenbgpd+ Source: https://github.com/jpcw/checkopenbgpd
+ Bugtracker: https://github.com/jpcw/checkopenbgpd/issues
.. contents::
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_openbgpdInstall
------------extract the tarball and ::
python setup.py install
Maybe you have installed setuptools with ::
pkg_add py-setuptools
then just ::
easy_install checkopenbgpdcheck_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