NSO SNMP Agent
Description of SNMP agent.
The SNMP agent in NSO is used mainly for monitoring and notifications. It supports SNMPv1, SNMPv2c, and SNMPv3.
The following standard MIBs are supported by the SNMP agent:
SNMPv2-MIB RFC 3418
SNMP-FRAMEWORK-MIB RFC 3411
SNMP-USER-BASED-SM-MIB RFC 3414
SNMP-VIEW-BASED-ACM-MIB RFC 3415
SNMP-COMMUNITY-MIB RFC 3584
SNMP-TARGET-MIB and SNMP-NOTIFICATION-MIB RFC 3413
SNMP-MPD-MIB RFC 3412
TRANSPORT-ADDRESS-MIB RFC 3419
SNMP-USM-AES-MIB RFC 3826
IPV6-TC RFC 2465
The usmHMACMD5AuthProtocol authentication protocol and the usmDESPrivProtocol privacy protocol specified in SNMP-USER-BASED-SM-MIB are not supported, since they are not considered secure. The usmHMACSHAAuthProtocol authentication protocol specified in SNMP-USER-BASED-SM-MIB and the usmAesCfb128Protocol privacy protocol specified in SNMP-USM-AES-MIB are supported.
Configuring the SNMP Agent
The SNMP agent is configured through any of the normal NSO northbound interfaces. It is possible to control most aspects of the agent through for example the CLI.
The YANG models describing all configuration capabilities of the SNMP agent reside under $NCS_DIR/src/ncs/snmp/snmp-agent-config/*.yang
in the NSO distribution.
An example session configuring the SNMP agent through the CLI may look like:
The SNMP agent configuration data is stored in CDB as any other configuration data, but is handled as a transformation between the data shown above and the data stored in the standard MIBs.
If you want to have a default configuration of the SNMP agent, you must provide that in an XML file. The initialization data of the SNMP agent is stored in an XML file that has precisely the same format as CDB initialization XML files, but it is not loaded by CDB, rather it is loaded at first startup by the SNMP agent. The XML file must be called snmp_init.xml
and it must reside in the load path of NSO. In the NSO distribution, there is such an initialization file in $NCS_DIR/etc/ncs/snmp/snmp_init.xml
. It is strongly recommended that this file be customized with another engine ID and other community strings and v3 users.
If no snmp_init.xml
file is found in the load path a default configuration with the agent disabled is loaded. Thus, the easiest way to start NSO without the SNMP agent is to ensure that the directory $NCS_DIR/etc/ncs/snmp/
is not part of the NSO load path.
Note, that this only relates to initialization the first time NSO is started. On subsequent starts, all the SNMP agent configuration data is stored in CDB and the snmp_init.xml
is never used again.
Alarm MIB
The NSO SNMP alarm MIB is designed for ease of use in alarm systems. It defines a table of alarms and SNMP alarm notifications corresponding to alarm state changes. Based on the alarm model in NSO (see NSO Alarms), the notifications as well as the alarm table contain the parameters that are required for alarm standards compliance (X.733 and 3GPP). The MIB files are located in $NCS_DIR/src/ncs/snmp/mibs
.
TAILF-TOP-MIB.mib The tail-f enterprise OID.
TAILF-TC-MIB.mib Textual conventions for the alarm mib.
TAILF-ALARM-MIB.mib The actual alarm MIB.
IANA-ITU-ALARM-TC-MIB.mib Import of IETF mapping of X.733 parameters.
ITU-ALARM-TC-MIB.mib Import of IETF mapping of X.733 parameters.
The alarm table has the following columns:
tfAlarmIndex An imaginary index for the alarm row that is persistent between restarts.
tfAlarmType This provides an identification of the alarm type and together with tfAlarmSpecificProblem forms a unique identification of the alarm.
tfAlarmDevice The alarming network device - can be NSO itself.
tfAlarmObject The alarming object within the device.
tfAlarmObjectOID In case the original alarm notification was an SNMP notification this column identifies the alarming SNMP object.
tfAlarmObjectStr Name of alarm object based on any other naming.
tfAlarmSpecificProblem This object is used when the 'tfAlarmType' object cannot uniquely identify the alarm type.
tfAlarmEventType The event type according to X.733 and based on the mapping of the alarm type in the NSO alarm model.
tfAlarmProbableCause The probable cause to X.733 and based on the mapping of the alarm type in the NSO alarm model. Note that you can configure this to match the probable cause values in the receiving alarm system.
tfAlarmOrigTime The time for the first occurrence of this alarm.
tfAlarmTime The time for the last state change of this alarm.
tfAlarmSeverity The latest severity (non-clear) reported for this alarm.
tfAlarmCleared Boolean indicated if the latest state change reports a clear.
tfAlarmText The latest alarm text.
tfAlarmOperatorState The latest operator alarm state such as ack.
tfAlarmOperatorNote The latest operator note.
The MIB defines separate notifications for every severity level to support SNMP managers that only can map severity levels to individual notifications. Every notification contains the parameters of the alarm table.
SNMP Object Identifiers
Using the SNMP Alarm MIB
Alarm Managers should subscribe to the notifications and read the alarm table to synchronize the alarm list. To do this you need an access view that matches the alarm MIB and creates a SNMP target. Default SNMP settings in NSO let you read the alarm MIB with v2c and community public. A target is set up in the following way, (assuming the SNMP Alarm Manager has IP address 192.168.1.1 and wants community string public in the v2c notifications):
Last updated