# devdiscover.pod - Guide to devdiscover # Copyright (C) 2003 Shawn Ferry, Stanislav Sinyagin # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. # $Id: devdiscover.pod,v 1.1 2010-12-27 00:04:36 ivan Exp $ # Shawn Ferry # Stanislav Sinyagin # =head1 Torrus SNMP Device Discovery Developer's Guide =head2 C overview C is an extensible, module based, SNMP device discovery utility. It is intended to automatically generate Torrus configuration files, based on SNMP discovery results and templates. See I for command usage and functionality overview. In general, C consists of the following files and functional parts: =over 4 =item * C This file is installed as C in Torrus installation directory, with certain variables substituted. The program provides all the commandline functionality and options processing. Once the CLI options are processed and verified, the control is passed to the C object. =item * C This Perl module is responsible for the SNMP discovery process organization: =over 8 =item * it registers the discovery modules; =item * establishes an SNMP session to the target host; =item * initiates a new C object for the target host; =item * stores the connection-specific parameters to the device object; =item * for each registered discovery module, executes C in I order; =item * for those discovery modules which paid interest in this target host, executes C in I order; =item * upon request from C, builds the configuration XML tree, by calling C in I order for each relevant discovery module for each target host. =back =item * C This Perl module is defined in F, and provides the functionality to store the results of SNMP device discovery. =item * C This module is an encapsulation wrapper for XML configuration builder. It provides methods for every element of Torrus configuration. =item * Discovery Modules These provide all the functionality for SNMP discovery. Normally one module covers one MIB, or sometimes several vendor-specific MIBs, and it is responsible for finding out the device details necessary for Torrus configuration building. Usually a discovery module refers to one or several I