Table Of Contents
The Helper System
Retrieving information from the network
Components that make up the Helper Systems
The Helpers
Helper System operation
Helper Server command line options
The Helper System intelligence
Dynamic timeouts
Variable sharing
Additional features of the Helper System
Prerequisites of the Helper System
Conclusion
The Helper System
This section describes the Helper System used by MWFM NMOS to retrieve connectivity information from the network. The communication methodology used to communicate between the Helper System, the Helpers, Discovery Agents, and DISCO is also highlighted in this section.
Retrieving information from the network
The Discovery Agents are responsible for retrieving connectivity information from the network but do not have any direct interaction with the network. Instead, they retrieve connectivity information through the Helper System.
The Helper System consists of a Helper Server and various Helpers. In the Helper System, information is only retrieved from the network on demand by specialized applications called Helpers and held in the Helper Server for use until the information expires.
Helpers are applications responsible for interrogating devices and retrieving requested information. The gathered information is deposited in the Helper Server for retrieval by the Agents.
Note
Helpers have no understanding of the retrieved information.
As an optional way of improving efficiency, all data retrieved by a Helper can be cached by the Helper Server. The data will be stored until a specified timeout is reached, whereupon the stored data will be flushed. When an Agent requests data the Helper Server first checks its cache. The stored data will be returned to the requesting Agent if the it is found within the cache. If it is not found within the cache, then the request is sent to the appropriate Helper, which will acquire the data from the network. As a result of this system, multiple requests for the same information can be made to the Helper Server and not to the network. A representation of this can be seen in Figure 11-1.
Figure 11-1 Interaction between the Agents, DISCO, Helpers, the Helper Server, and the network
Components that make up the Helper Systems
The components that make up the Helper System are listed below:
•
The Helper Server
•
The Helper manage
•
The Helpers
•
The Helper schema
•
The Helper databases
•
The multicast address configuration file
The Helpers
The Helpers are part of the Helper System. They are applications that are responsible for going to devices and retrieving requested information. The Helpers deposit the gathered information in the Helper Server for retrieval by the Agents. By default there are five Helpers (refer to "The Helpers," for detailed information on Helper configuration and their databases). A brief description of each Helper is listed in Table 11-1.
Table 11-1 The different types of Helpers currently available with MWFM NMOS
Helper name
|
Executable name
|
Description
|
PING Helper
|
riv_dh_ping
|
Pings each device in a subnet, an individual IP address or the broadcast or multicast addresses. The result of this would not be of concern to the caller but may be used to populate a device's MIB.
|
SNMP Helper
|
riv_dh_snmp
|
Returns results of an SNMP request such as get, getnext, getbulk etc.
|
TELNET Helper
|
riv_dh_telnet
|
Performs a TELNET to a specified device and parses the result back to the calling application.
|
DNS Helper
|
riv_dh_dns
|
Gives the name of a particular device based on the IP address.
|
ARP Helper
|
riv_dh_arp
|
Performs IP address to MAC address resolution.
|
Helper System operation
The Helper System can be started automatically by DISCO or manually. At startup, the Helper Server loads up the Helper Server schema from the DiscoHelperServerSchema.cfg configuration file. The Helper Server determines the number of Helpers that will be required and promptly creates a Helper manager for every Helper database created as a result of the instructions in the Helper Server configuration file.
For example, if the DiscoHelperServerSchema.cfg configuration file specifies that the ARP, SNMP and Telnet databases should be created, the Helper Server knows from this information that it needs to create the ARP, SNMP and Telnet Helper managers. As a general rule, the Helper Server initiates a corresponding Helper manager for every database.
The Helper manager is responsible for managing the way in which the Helper handles requests from the Helper Server to retrieve network device data. The Helper manager is responsible for specifying the following:
•
The request timeout
•
The time to live for the returned variables
•
Serial or parallel processing of multiple requests
When the Helper manager detects a request for network data from the Helper Server, it instructs the associated Helper to retrieve the data from the network.
Helper Server command line options
The Helper Server can be started up automatically by DISCO by making the appropriate OQL insertion into the managedProcesses table of the Disco database or appending the OQL insertion statements to the DISCO configuration file, DiscoSchema.cfg. Alternatively, you can start it up manually using the following command line:
riv_d_helpserv -domain <DOMAIN_NAME> [-debug <DEBUG_LEVEL>]
|
<DOMAIN_NAME>
|
The name of the domain on which you are executing the processes. It is possible to have more than one domain running on the same machine.
|
<DEBUG_LEVEL>
|
Can be from 1 to 4 and is an integer value that specifies the level of debug output that you want the executable process to generate, 1 being the lowest and 4 being the highest output detail.
|
The Helper System intelligence
The Helper System incorporates intelligent retrieval of network information by incorporating dynamic timeouts and variable sharing. These are described with example scenarios below.
Dynamic timeouts
If, for example, the SNMP Helper has been asked to perform a long list of SNMPGet requests, the Helper usually begins to slow down and take a longer time than is specified by the timeout. With a static timeout, the timeout will be triggered and all the information being retrieved will be lost despite the fact that the device is still responding with data. However, the Helpers incorporate a dynamic timeout system in which they take note of long SNMPGet requests and subsequently recalculate and update the timeouts as the devices' SNMP daemons begin to slow down.
Note
Daemon: A daemon is a program that runs continuously to handle periodic requests that a computer system expects to receive; the daemon forwards them to other processes.
Variable sharing
If, for example, the SNMP Helper has just performed and returned to the Helper Server a series of SNMP Get requests for variables V1, V2, V3, V4, V5, V6, V7 and V8 and another request for variables V2 and V3 is detected, the Helper System is intelligent enough to check if the variables exist within the Helper Server. After a verification that the variables have not expired, the Helper Server services the request from the tables within the Helper Server rather than sending the SNMP Helper to retrieve the information again.
Additional features of the Helper System
There is an OQL interface for the Helper Server that you can use to interrogate the databases of the Helper Server via the OQL statements.
Information about the Helper databases is given in "The Helper System."
Prerequisites of the Helper System
Before the Helper Server can be started, it requires two files:
1.
The multicast address configuration file, ServiceData.cfg, which is responsible for specifying the multicast address to be used by the processes.
2.
The Helper Server configuration file, DiscoHelperServerSchema.cfg, which is responsible for specifying the schema for all Helper databases.
After DISCO commences the discovery process, it will automatically start the Helper Server when needed (assuming the Helper Server is configured as a managed process and the domain controller CTRL is running). The Helper Server will in turn start up the necessary Helpers as they are required.
Though it is possible to start up the Helper Server manually, you must have DISCO running in order to run and talk to the Discovery Agents. You must have the Helper Server running because both the Discovery Agents and Helpers are in constant communication with it, i.e., the Agents communicate with the Helper Server to request connectivity data and the Helpers must communicate with it to make the requests and to send back the data retrieved from the network.
Conclusion
This chapter introduced the Helper System which consists of the Helper Server and the Helpers. Helpers are the applications that interrogate devices and receive requested information. This information is retained in the Helper Server for retrieval by the Discovery Agents. Thus, Helpers are essentially applications that liaise between the network and the Discovery Agents; unlike the Discovery Agents, the Helpers have no understanding of the retrieved information.
The next chapter provides a detailed description of the Helpers, their configurations and the databases they use whilst retrieving data from the network.