Metadata-Version: 1.1
Name: python-nagios-helpers
Version: 0.1.5
Summary: Helper Classes for plugin development and nagios management.
Home-page: https://github.com/elapouya/python-nagios-helpers
Author: Eric Lapouyade
Author-email: elapouya@gmail.com
License: LGPL 2.1
Description: 
        =====================
        python-nagios-helpers
        =====================
        
        python-nagios-helpers A.K.A **naghelp** is a collections of classes for building nagios *Active* plugins.
        It is higly recommended to use `python-textops <http://python-textops.readthedocs.org>`_ 
        to manipulate collected data. 
        
        Here is an exemple of an active python plugin, create a file linux_fsfull.py::
        
           from naghelp import *
           from textops import *
        
           class LinuxFsFull(ActivePlugin):
               """ Basic plugin to monitor full filesystems on Linux systems"""
               cmd_params = 'user,passwd'
               tcp_ports = '22'
        
               def collect_data(self,data):
                   data.df = Ssh(self.host.ip,self.host.user,self.host.passwd).run('df -h')
        
               def parse_data(self,data):
                   df = data.df.skip(1)
                   data.fs_critical = df.greaterequal(98,key=cuts(r'(\d+)%')).cut(col='5,4').renderitems()
                   data.fs_warning = df.inrange(95,98,key=cuts(r'(\d+)%')).cut(col='5,4').renderitems()
                   data.fs_ok = df.lessthan(95,key=cuts(r'(\d+)%')).cut(col='5,4').renderitems()
        
               def build_response(self,data):
                   self.response.add_list(CRITICAL,data.fs_critical)
                   self.response.add_list(WARNING,data.fs_warning)
                   self.response.add_list(OK,data.fs_ok)
        
           if __name__ == '__main__':
              LinuxFsFull().run()
        
        To excute manually::
        
           python linux_fsfull.py --ip=127.0.0.1 --user=naghelp --passwd=lgpl
        
        On error, it may return something liek this::
        
           STATUS : CRITICAL:2, WARNING:1, OK:3
           ==================================[  STATUS  ]==================================
        
           ----( CRITICAL )----------------------------------------------------------------
           / : 98%
           /home : 99%
        
           ----( WARNING )-----------------------------------------------------------------
           /run/shm : 95%
        
           ----( OK )----------------------------------------------------------------------
           /dev : 1%
           /run : 1%
           /run/lock : 0%
        
        
           ============================[ Plugin Informations ]=============================
           Plugin name : __main__.LinuxFsFull
           Description : Basic plugin to monitor full filesystems on Linux systems
           Ports used : tcp = 22, udp = none
           Execution time : 0:00:00.673851
           Exit code : 2 (CRITICAL), __sublevel__=0
        
        Or if no error::
        
           OK
        
           ============================[ Plugin Informations ]=============================
           Plugin name : __main__.LinuxFsFull
           Description : Basic plugin to monitor full filesystems on Linux systems
           Ports used : tcp = 22, udp = none
           Execution time : 0:00:00.845603
           Exit code : 0 (OK), __sublevel__=0
        
        Naghelp will automatically manage some options::
        
           $ python linux_fsfull.py -h
           Usage:
           linux_fsfull.py [options]
        
           Options:
             -h, --help         show this help message and exit
             -v                 Verbose : display informational messages
             -d                 Debug : display debug messages
             -l FILE            Redirect logs into a file
             -i                 Display plugin description
             -n                 Must be used when the plugin is started by nagios
             -s                 Save collected data in a temporary file
             -r                 Use saved collected data (option -s)
             -a                 Collect data only and print them
             -b                 Collect and parse data only and print them
        
             Host attributes:
               To be used to force host attributes values
        
               --passwd=PASSWD  Passwd
               --ip=IP          Host IP address
               --user=USER      User
               --name=NAME      Hostname
        
        
        For more information, `Read The Fabulous Manual <http://python-nagios-helpers.readthedocs.org>`_ !
        
        
        News
        ====
        0.1.5 (2016-03-23)
        ------------------
        Add Gauges Mixin
        Add docs
        Many other improvements
        
        0.1.4 (2016-03-08)
        ------------------
        Better error management
        
        0.1.3 (2016-01-13)
        ------------------
        Add docs
        
        0.1.1 (2016-01-08)
        ------------------
        Add a launcher
        
        0.1.0 (2015-12-17)
        ------------------
        Add some docs, tests
        Tune some functions
        
        0.0.7 (2015-11-19)
        ------------------
        First working version
        
Keywords: naghelp
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
