Metadata-Version: 1.1
Name: checkopenbgpd
Version: 0.10
Summary: Check OpenBGPD sessions Nagios|Icinga|shinken|etc plugin
Home-page: https://github.com/jpcw/checkopenbgpd/
Author: Jean-Philippe Camguilhem
Author-email: pypi@camguilhem.net
License: BSD
Description: 
        
        ==========================================================
        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/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 denied 
        
         doas 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
        
Keywords: Nagios Icinga plugin check openbgpd openbsd monitoring
Platform: any
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: BSD License
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Operating System :: POSIX :: BSD :: OpenBSD
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Monitoring
