I have a couple of questions regarding SNMP protocol usage. I am new in SNMP and probably answers for some questions are straightforward.
Some details before: We developed a system which consists of a number of software servers that run on a number of networked hosts. Software servers deal with the hardware components (it is a softswitch system). We used TAO ORB implementation as a middleware for communication between these servers.
Currently we are working on the design of the Configuration and Management Interface for our system and are considering SNMP mechanism for it's implementation.
Required functions for the system:
The Configuration and Management Interface should provide at least the following functions: 1. start/shutdown of the software server on the selected host 2. checking of the live state of the server 3. a mechanism of control for the sofware servers, for example -sending a command to the server that it should reread it's configuration file 4. a mechanism of statistics gathering from the sofware servers (suppose that this function is a variant of function number 3), for example - a number of sessions that are handled by this server currently and information regarding every session that works currently on this server.
After some reading of SNMP docs I suppose that this can be accomplished as follows. 1. SNMP Agent on every host that performs functions number 1 and number 2 2. SNMP subAgent (embedded into any software server) that accomplishes functions number 3 and number 4
SNMP Agent and SNMP subAgents interact by mean of AgentX protocol. All these things (and hardware as well) can be managed by the standard SNMP manager.
However there is a number of questions here: 1. SNMP variables. Lets imagine that our company got its root, for example 1.4 (for simplicity). We can define that 1.4.1 - is a root for the script server (script server holds a number of scripts). But we do not know in advance a number of scripts and unable to define that 188.8.131.52 - root for script number 1, 184.108.40.206 - root for script number 2, ..., 220.127.116.11 - root for script number 99 and so on.
How can this be accomplished ?
2. SNMP subtrees. Lets imagine that every script has the following parameters: a number of input messages and number of output messages. So this can be represented as: 18.104.22.168 - script itself, 22.214.171.124.1 - number of input messages, 126.96.36.199.2 - number of output messages. The same for all other scripts, for example for script number 2 - 188.8.131.52 - script itself, 184.108.40.206.1 - number of input messages, 220.127.116.11.2 - number of output messages. So how can we define the structure only for one script and repeat this for all other scripts ?
These two questions actually are connected. I do not understand - how the following task can be solved in SNMP ?: conditions: a) there is a number (this is unknown is advance) of identical servers (for example - 5 script servers) b) every server serves a number (this is unknown is advance) of identical objects (for example - 99 scripts) question: How this structure: server1: object1: read-only or read-write property1 ... read-only or read-write propertyN ... objectM: ... serverK:
can be presented and managed in SNMP ?
3. Real example Is it possible to see/try some real example of SNMP management of software system. I know that SNMP i frequently uses for the hardware control but never had experience with usage of SNMP for software systems.
4. SNMP and PHP We are going to use PHP for the GUI side of Configuration and Management Interface. So, are there freely available systems that are developed on PHP and that can be used as prototypes ?
5. other sources of SNMP related information I know that there are very good forums related to CORBA (for example for TAO - email@example.com) but do not know good such place that is related to SNMP. Maybe - you can suggest me such a place ?
Thanks, in advance.