5.23.2.5 Notification Group Management Information

 



 

Overview

 

Notifications can be defined as unsolicited messages or asynchronous notifications or event reports, which indicate some predefined condition or event that has occurred and is of interest to the Manager. NMS JMX Agent supports a feature for sending Notifications to the High Level Manager. The NMS JMX Agent receives information by registering itself as a Topo Observer and FaultObserver to the Web NMS. The registration parameters are TopoObserver and FaultObserver in the WebNMSAgentApp process of the NmsProcessesBE.conf file. They can be set to true or false. The default value is true.

 

NMS JMX Agent sends autonomous notifications when any of the following conditions occur in an NE:

SNMP - Traps

 

In the SNMP terminology, unsolicited messages/notifications are referred to as 'Traps'. When the NMS JMX Agent detects that a predetermined event has occurred, traps are generated by the agent (SNMP) and sent to one or more Trap destinations (i.e. the Managers). At each trap destination, a process called Trap listener resides and receives all the trap messages sent by the agent and reports them in a trap log. The Managers can determine the type of event that caused the agent to generate the trap, by examining the data stored in the variable bindings (varbinds) of each trap message. The varbinds contain the identity and values of the MIB variables that provide information on the specific event. Traps can be sent to specific managers. This can be done with the help of the Trap Forwarding Table which contains all the information regarding the trap destination (i.e. the Managers).

 

TL1 Autonomous Messages

 

A TL1 Autonomous message is the one that is sent from the Agent to the appropriate Manager without having an explicit input message associated with it. These are unsolicited messages from the agent to report both alarmed and non-alarmed events to the manager.

 

Persistence of Notification

 

The notification can either be persistent or non-persistent. By default, the notifications (both the SNMP Traps and the TL1 Autonomous Messages), are persistent in nature, in NMS JMX Agent. You need to set the parameter "persist" specified in the WebNMSAgentApp process of the NMSProcessesBE.conf file to true or false. By default the value is false.

 

The SNMP Traps and the TL1 Autonomous messages received by the Managers are stored in the database and can be retrieved at a later point in time. The Notification log table and the Varbind log table keep a tab on the Notifications sent and on the Varbind contents respectively. This feature ensures the Persistence of Notifications. Retrieving of lost notifications is possible through this feature.

 

Retrieving Lost Notifications

 

All the notifications sent to the Managers are stored in the database. If the Manager did not receive the notifications due to some unforeseen reasons, then the notifications can be retrieved from the database. The database can be accessed using two log tables, the Notification log table and the Varbind log table.

 

The Notification log table (notiLog table) contains the following details:

 

Table Attribute

Description

notiLogIndex

index number

notiLogTime

the time of origin of the notification

notiLogNumVarBinds

the number of Varbinds contained in the Notification

notiLogOid

the OID for which the notification has been generated

 

Through the notiLogIndex, selective recovery of the Notifications is possible. This table will give a nutshell of all the Notifications.

 

The details of the notifications are available in the Varbind log table. The entries of this table are referred by the notiLogIndex. The varbind table contains the following details:

 

Table Attribute

Description

notiLogIndex

index number

varbindIndex

index number of the Varbind

varbindType

the type of the Varbind

varbindValue

the value of the Varbind

 

You can also specify the number of notifications to be stored in the database by setting the value of the maxRows attribute in the PersistenceTrapMib. For example, if you specify maxRows as 10, then only the last ten notifications will be stored in the database.

 

Registering Managers to Receive Notifications During Build-time

 

During Build-time, the Managers can be configured to receive notifications by configuring the V1V2TrapForwardingTable.xml or V3TrapForwardingTable.xml file found in <Web NMS Home>/conf/jmx_agent/conf directory. Please make sure that the below mentioned changes are done before the Web NMS Server is started.

 

To Receive Traps from SNMP v2c Agent

<row>

<column name="managerHost" value="127.0.0.1" />

<column name="managerPort" value="8003" />

<column name="version" value="2" />

<column name="community" value="public" />

<column name="timeOut" value="3200" />

<column name="retries" value="0" />

<column name="rowStatus" value="1" />

</row>

where

managerHost - Specifies the host name in which the Manager is running.

managerPort - Specifies the port to which the Manager has to listen to receive notifications.

version - Specifies the version of the trap

community - Specifies the community to which the trap belongs

timeout - Specifies the timeout value

retries - Specifies the number of retries allowed

rowStatus - the state of the service is mentioned in this attribute. The various states are 1 - active, 2 - notInService, 3 - notReady, 4 - createAndGo, 5 - createAndWait, 6 - destroy.

To Receive Traps from SNMP v3 Agent

<row>

<column name="v3ManagerHost" value="127.0.0.1" />

<column name="v3ManagerPort" value="8003" />

<column name="v3ManagerVersion" value="3" />

<column name="v3ManagerCommunity" value="public" />

<column name="v3ManagerUserName" value="noAuthUser" />

<column name="v3ManagerUserSecModel" value="3" />

<column name="v3SecurityLevel" value="0" />

<column name="v3ManagerUserContextName" value="noAuth" />

<column name="v3ManagerTimeOut" value="5000" />

<column name="v3ManagerRetries" value="0" />

<column name="v3RowStatus" value="1" />

</row>

where

v3managerHost - Specifies the host name in which the Manager is running

v3managerPort - Specifies the port to which the Manager has to listen to receive the notifications

v3ManagerVersion - Specifies the version of the trap.

v3ManagerCommunity - Specifies the community of the trap.

v3ManagerUserName - Specifies the user name which is configured for v3 agent.

v3ManagerUserSecModel - Specifies the user security model of the v3 agent.

v3SecurityLevel - Specifies the security level used in the v3 protocol.

v3ManagerUserContextName - Specifies the context name of the user.

v3ManagerTimeOut - Specifies the timeout value.

v3ManagerRetries - Specifies the number of retries allowed.

v3RowStatus - Specifies the state of the service is mentioned in this attribute and the various states are listed below:

1 - active, 2 - notInSevice, 3 - notReady, 4 - createAndGo, 5 - createAndWait and 6 - destroy

Registering Managers to Receive Notifications During Run-time

 

The Notifications are sent to the Managers who have been registered with NMS JMX Agent. With the help of the MIB Browser open the AdventNet-WebNMS-MIB and enter the details of the Manager for registering the Manager to receive Notifications. Only after getting registered with the Agent, the Managers will be able to receive the Notifications. Separate tables are provided for SNMP and SNMPv3 to enable the Managers to register to receive notifications. The details are explained in the section given below.

 

Forwarding of Notification (Trap Forwarding)

 

The notification are sent to the managers who have been registered with WebNMS. The details as to whom the notifications must be sent can be configured by following the steps given below:

The details of the Forwarding Table are as given below:

 

Table Attribute

Description

v1v2ManagerHost

Specifies the host name in which the Manager is running

v1v2ManagerPort

Specifies the port to which the Manager is listening to receive the notifications

v1v2ManagerVersion

Specifies the version of the trap

v1v2ManagerCommunity

Specifies the community used by the agent to send trap or inform to this manage

v1v2ManagerTimeout

Specifies the time out value in seconds for SNMPv2c INFORM

v1v2ManagerRetries

Specifies the number of retries in the case of SNMPV2c INFORM.

v1v2ManagersStatus

Specifies the status of this conceptual row. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the usmUserStatus column is 'notReady'"

 

If some Managers need not receive the Notification temporarily then the row status attribute of the ForwardingTable need to be set with the value (2), indicating notInservice. A particular Manager can also be permanently be unregistered from receiving Notifications by deleting the row corresponding to that Manager in the table. Thus the row can be selected and deleted permanently.

 

For the SNMPv3, the following details need to be filled in the v3ForwardingTable:

 

Table Attribute

Description

v3managerHost

Specifies the host name in which the Manager is running

v3managerPort

Specifies the port to which the Manager should listen to receive the notifications

v3ManagerVersion

Specifies the version of the trap

v3ManagerCommunity

Specifies the community string used by the agent when sending SNMP v1/v2c TRAPS or INFORMS to the Manager. It used to support backward compatability,i.e. without any change in the table,user can send both SNMPv1 and v2c TRAPS and INFORMS

v3ManagerUserName

Specifies the user name which is configured for v3 agent.

v3ManagerUserSecModel

Specifies the user security model of the v3 agent

v3ManagerUserSecLevel

Specifies

v3ManagerUserContextName

Specifies the context name of the user

v3ManagerTimeout

Specifies the time out value in seconds for INFORM request

v3ManagerRetries

Specifies the number of retries for a failed INFORM reqeust

v3ManagerStatus

Specifies the status of this conceptual row.Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the usmUserStatus column is 'notReady'"

 

Filtering the Managers for Specific Traps

 

The TrapForwarding Table contains the list of all the Managers to which the traps are to be sent. The Managers to which the traps have to be forwarded can be filtered. Thus the NMS JMX Agent would send traps only to the specific Managers. This is done by writing a user class implementing the interface SnmpManagerFilter and overriding the method getManagerList(). This method passes the SnmpTrapHolder as the argument. The SnmpTrapHolder includes the trap message generated by the Web NMS JMX Agent and the manager list configured in the Trap Forwarding Table. This method returns a vector, containing the filtered managers.

 

A sample code snippet of a user class implementing the SnmpManagerFilter interface is given below:

 

...

public class MyFilter implements SnmpManagerFilter

{

public Vector getManagerList(SnmpTrapHolder holder)

{

System.out.println(" TrapOID = " + holder.getTrapOID());

System.out.println(" Trap Properties are:");

holder.getTrapProperties().list(System.out);

System.out.println(" TimeTicks = " + holder.getTimeticks());

System.out.println(" Community = " + holder.getCommunity());

Vector managers = holder.getManagers();

for(int i = 0; i < managers.size(); i++)

{

ManagerInfo manager = (ManagerInfo)managers.elementAt(i);

System.out.println(" Manager" + (i+1) + " Host = " +

manager.getHost() + " Port = " + manager.getPort());

}

return managers;

}

}

 

Invoking the User Class

 

To invoke the user class implementing the SnmpManagerFilter interface, specify the entry of the user class in nmsInterfaces.conf file in <Web NMS Home>/conf directory.

 

Example Entry in nmsInterfaces.conf

 

<NMS_INTERFACES_CONF>

<INTERFACES

...

...

snmpManagerFilter="FilterClassName"/>

</NMS_INTERFACES_CONF>

 

By default NMS JMX Agent sends the SNMP traps to all the configured managers in the Trap Forwarding Table. When the method getManagerList() is overridden, the NMS JMX Agent invokes the user class implementing the SnmpManagerFilter interface (read from the nmsInterfaces.conf file) before sending each trap. This user class would return the filtered list of managers, and thus traps would be sent only to the specific managers.

 

Notifications are sent for each type of Management Information like Topology Notification and Fault Notifications.



Copyright © 2011, ZOHO Corp. All Rights Reserved.