Menu

Tree [r8] /
 History

HTTPS access


File Date Author Commit
 COPYING 2010-02-09 phalaaxx [r1] Initial import, v0.1
 PAX-TUTORIAL-MIB.mib 2010-11-11 phalaaxx [r8] Changed interface to call main program's global...
 README 2010-11-11 phalaaxx [r8] Changed interface to call main program's global...
 agentx.py 2010-11-11 phalaaxx [r8] Changed interface to call main program's global...
 example.py 2010-11-11 phalaaxx [r8] Changed interface to call main program's global...
 setup.py 2010-11-11 phalaaxx [r8] Changed interface to call main program's global...

Read Me

Requirements:
-------------
  * net-snmp libraries
  * python with ctypes module support


Installation:
-------------
  $ sudo python ./setup.py install
or
  $ sudo python3 ./setup.py install


Usage:
------
SNMP AgentX modules are usually supposed to collect data and serve it in SNMP requests.
python-agentx module can be used to automate most of the work involved in building SNMP
AgentX modules. This includes: SNMP initialization, register variables that will be
served with SNMP requests, register handlers for read, write and both read/write requests,
setting up time interval to interrupt module's main loop (for the purpose of updating 
variables), main loop routine.
What follows is a demonstration program whose purpose is to show the very least steps
required to write simple, yet functional AgentX module. It only registers one variable
in cache for 15 seconds with a hardcoded value and serves SNMP requests forever:

  from agentx import AgentX

  # function that will be called every 15 seconds
  def onUpdate(ax, axd):
     # register variables
     axd.RegisterVar('paxModuleIntVarRO', 1)

  if __name__ == '__main__':
    # initialize snmp module
    AgentX(
      Name          = 'module-name',
      #Master       = True, # if we want the module to act as master agent
      MIBFile       = '',
      RootOID       = 'PAX-TUTORIAL-MIB::paxData',
      CacheInterval = 30,
    )


Limits:
-------
This AgentX module uses ALARM signal to interrupt AgentX.Process(). This means
it is not possible to use ALARM signal from within the same program that
uses this agentx module.


License:
--------
This module is licensed under the terms of GNU GPL v3. For more details
read the COPYING file.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.