A P P E N D I X  B

SNMP Command Examples

This section provides examples of how to use the following SNMP commands:


Topics

 

Description

Links

Command examples




Note - All command examples given in this section are executed on the SNMP management station, unless instructions indicate otherwise.




Note - The example SNMP commands presented in this appendix are based on the Net-SNMP sample applications and, therefore, will only work as presented if you have Net-SNMP and the Net-SNMP sample applications installed.


Before using SNMP, be sure to install the ILOM MIBs files in the directory where net-snmp tools load MIBs or where your SNMP tool of choice loads MIBs. See the following URL for additional information on net-snmp:

http://net-snmp.sourceforge.net/wiki/index.php/
TUT:Using_and_loading_MIBS

snmpget Command

snmpget -mALL -v1 -cpublic snmp_agent_Ip_address sysName.0

As stated in the description of the sysName.0 MIB object in the SNMPv2-MIB, this command returns an administratively assigned name for this managed node. By convention, this is the node’s fully-qualified domain name. If the name is unknown, the value returned is the zero-length string.

For example:


% snmpget -v2c -cprivate -mALL snmp_agent_Ip_address sysName.0 sysObjectID.0 ilomCtrlDateAndTime.0
SNMPv2-MIB::sysName.0 = STRING: SUNSPHOSTNAME
SNMPv2-MIB::sysObjectID.0 = OID: SUN-ILOM-SMI-MIB::sunILOMSystems
SUN-ILOM-CONTROL-MIB::ilomCtrlDateAndTime.0 = STRING: 2007-12-10,20:33:32.0

In addition to the sysName.0 object, this command displays the content of the sysObjectID.0 and the ilomCtrlDateAndTime.0 MIB objects. Notice that the MIB file name is given for each MIB object as part of the reply.

The following descriptions of the MIB objects are taken from the MIB files.

snmpwalk Command

The snmpwalk command performs a sequence of chained GETNEXT requests automatically. It is a work saving command. Rather than having to issue a series of snmpgetnext requests, one for each object ID, or node, in a sub-tree, you can simply issue one snmpwalk request on the root node of the sub-tree and the command gets the value of every node in the sub-tree.

For example:


% snmpwalk -mALL -v1 -cpublic snmp_agent_Ip_address system
SNMPv2-MIB::sysDescr.0 = STRING: ILOM machine custom description
SNMPv2-MIB::sysObjectID.0 = OID: SUN-ILOM-SMI-MIB::sunILOMSystems
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (16439826) 1 day, 21:39:58.26
SNMPv2-MIB::sysContact.0 = STRING: set via snmp test
SNMPv2-MIB::sysName.0 = STRING: SUNSPHOSTNAME
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (14) 0:00:00.14
SNMPv2-MIB::sysORID.1 = OID: IF-MIB::ifMIB
SNMPv2-MIB::sysORID.2 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.3 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.4 = OID: RFC1213-MIB::ip
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.7 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.8 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.9 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB module to describe generic objects for network interface sub-layers
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.3 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.7 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.8 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.9 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (2) 0:00:00.02
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (14) 0:00:00.14
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (14) 0:00:00.14
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (14) 0:00:00.14

snmpbulkwalk Command

The snmpbulkwalk command uses the GETBULK SNMP protocol feature to query for an entire tree of information about a network entity. This command can pack more objects into the packets by specifying “repeaters.” As a result, the snmpbulkwalk command is faster than the snmpwalk command.

Here is example of an snmpwalk command with approximate start and end time stamps.


% date
Fri Dec 14 12:21:44 EST 2007
% snmpwalk -mALL -v2c -cprivate snmp_agent_Ip_address entPhysicalTable>time3
% date
Fri Dec 14 12:21:53 EST 2007

Here is example of an snmpbulkwalk command performing the same operation. Notice that the snmpbulkwalk command is faster than the snmpwalk command.


% date
Fri Dec 14 12:40:57 EST 2007
% snmpbulkwalk -mALL -v2c -cprivate snmp_agent_Ip_address entPhysicalTable>time7
% date
Fri Dec 14 12:41:03 EST 2007

snmptable Command

The snmptable command retrieves the contents of an SNMP table and displays the contents in a tabular format, that is, one table row at a time, such that the resulting output resembles the table being retrieved. This is contrasted with the snmpwalk command, which displays the contents of the table one column at a time.

Here is an example of the snmptable command:


% snmptable -mALL -v2c -cprivate snmp_agent_Ip_address sysORTable
SNMP table: SNMPv2-MIB::sysORTable
sysORID 
sysORDescr
sysORUpTime
IF-MIB::ifMIB 
The MIB module to describe generic objects for network interface sub-layers.
0:0:00:00.01
SNMPv2-MIB::snmpMIB 
The MIB module for SN MPv2 entities. 
0:0:00:00.02
TCP-MIB::tcpMIB 
The MIB module for managing TCP implementations. 
0:0:00:00.02
RFC1213-MIB::ip 
The MIB module for managing IP and ICMP implementations. 
0:0:00:00.02
UDP-MIB::udpMIB 
 The MIB module for managing UDP implementations.
0:0:00:00.02
SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup 
View-based Access Control Model for SNMP.
0:0:00:00.02
SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
The SNMP Management Architecture MIB. 
0:0:00:00.14
SNMP-MPD-MIB::snmpMPDCompliance 
The MIB for Message Processing and Dispatching. 
0:0:00:00.14
SNMP-USER-BASED-SM-MIB::usmMIBCompliance 
The management information definitions for the SNMP User-based Security Model. 
0:0:00:00.14



Note - While the snmpget, snmpgetnext, and snmpwalk command can be used on any type of MIB object, the snmptable command can only be used on MIB table objects. If this command is given any other type of object ID, it will be rejected. This restriction applies to a tableEntry object, a table column object, and any object that represents information within a table. Only a MIB table object ID can be used with the snmptable command.


In the examples of the snmptable command, the -Ci and -Cb options are used. For example, here is an snmptable command with the -Ci option:


% snmptable -Ci -mALL -v2c -cprivate snmp_agent_IP_address sunPlatFanTable
SNMP table: SUN-PLATFORM-MIB::sunPlatFanTable
index sunPlatFanClass
10             fan
11             fan
17             fan
23             fan
29             fan
30             fan
36             fan
42             fan

Here is an example of an snmptable command without the -Ci option. Notice that the index column is not displayed:


% snmptable -mALL -v2c -cprivate snmp_agent_Ip_address sunPlatFanTable
SNMP table: SUN-PLATFORM-MIB::sunPlatFanTable

sunPlatFanClass

fan

fan

fan

fan

fan

fan

fan

fan


Here is an example of an snmptable command with the -Ci and -Cb options. The output is abbreviated.


% snmptable -Ci -Cb -mALL -v2c -cprivate snmp_agent_IP_address entPhysicalTable
SNMP table: ENTITY-MIB::entPhysicalTable
index
Descr
VendorType
ContainedIn
 1
? SNMPv2-SMI::zeroDotZero
0 
chassis 

Here is an example of the same snmptable command with the -Ci option but without the -Cb option. Again the output is abbreviated. Notice that the name of the MIB object is repeated on each heading.


% snmptable -Ci -mALL -v2c -cprivate snmp_agent_IP_address entPhysicalTable
SNMP table: ENTITY-MIB::entPhysicalTable
index
entPhysicalDescr
entPhysicalVendorType
entPhysicalContainedIn
 1 
?SNMPv2-SMI::zeroDotZero 
0 
chassis 

Here is another example of an snmptable command with both the -Ci and -Cb options. Notice that the MIB object is not repeated on each heading.


% snmptable -Cb -Ci -mALL -v2c -cprivate snmp_agent_IP_address ilomCtrlAlertsTable
SNMP table: SUN-ILOM-CONTROL-MIB::ilomCtrlAlertsTable
 in-dex
Sever-ity 
Type
Dest-ina-tion-IP
Dest-ina-tion-Email
SNMPVer-sion
SNMP-CommunityOrUsername
EmailEventClassFil-ter
Email Event Type Filter
1
crit-ical
email
?
0.0.0.0
v1 
public 
 none 
 none 
2
 dis-able
ipmipet
0.0.0.0
?
v1 
public 
 ? 
 ? 
3
 dis-able
ipmipet
0.0.0.0
?
v1 
public 
 ? 
 ? 
4
 dis-able
ipmipet
0.0.0.0
?
v1 
public 
 ? 
 ? 
.
 
 
 
 
 
 
 
 
.
 
 
 
 
 
 
 
 
.
 
 
 
 
 
 
 
 
15
 dis-able
ipmipet
0.0.0.0
?
v1 
public 
 ? 
 ? 

Thus, when you used the -Cb option with the snmptable command, the table output is easier to read.

Here is an example of an snmptable command using version 3 of the SNMP protocol:


% snmptable -Cb -Ci -mALL -v3 -aMD5 -utestuser -Apassword -lauthNoPriv snmp_agent_Ip_address sunPlatPowerSupplyTable
SNMP table: SUN-PLATFORM-MIB::sunPlatPowerSupplyTable
index sunPlatPowerSupplyClass
90             powerSupply
92             powerSupply
96             powerSupply

The following snmptable command returns an empty table.


% snmptable -Cb -Ci -mALL -v2c -cprivate snmp_agent_Ip_address sunPlatBatteryTable
SUN-PLATFORM-MIB::sunPlatBatteryTable: No entries

snmpset Command

While the syntax of the snmpset command is similar to that of the snmpget command, the commands are quite different. The snmpget command merely reads the value of the specified object ID, while the snmpset command writes the value specified to the object ID. Further, along with the value to be written to the object ID, you must also specify the data type of the object ID in the snmpset command because SNMP objects support more than one data type.

The following example shows how use of the snmpget and snmpset commands together. The sequence of steps is as follows:

1. Use the snmpget command to check to current value of the MIB object.

2. Use the snmpset command to change the value of the MIB object.

3. Use the snmpget command to verify that the MIB object was in fact changed to the requested value.


% snmpget -mALL -v2c -cprivate snmp_agent_Ip_address ilomCtrlHttpEnabled.0
SUN-ILOM-CONTROL-MIB::ilomCtrlHttpEnabled.0 = INTEGER: false(2)
% snmpset -mALL -v2c -cprivate snmp_agent_Ip_address ilomCtrlHttpEnabled.0 i 1
SUN-ILOM-CONTROL-MIB::ilomCtrlHttpEnabled.0 = INTEGER: true(1)
% snmpget -mALL -v2c -cprivate snmp_agent_Ip_address ilomCtrlHttpEnabled.0
SUN-ILOM-CONTROL-MIB::ilomCtrlHttpEnabled.0 = INTEGER: true(1)

Note that if you try to execute this snmpset command using a public community, instead of private, it will not work. This is because the private community has write permission, but the public community does not. The Reason code returned by the command does not make this clear because it simply states that the object is not writable.

Here is an example:


% snmpset -mALL -v2c -cpublic snmp_agent_Ip_address ilomCtrlHttpEnabled.0 i 1
Error in packet.
Reason: notWritable (That object does not support modification)

snmptrapd Command

snmptrapd is an SNMP application that receives and logs SNMP Trap and Inform messages. Before your system can receive such messages, you must configure the trap daemon to listen for these messages.

To configure a trap daemon, perform the following steps:

1. Configure an SNMP trap destination.

For an example, see Configuring an snmptrapd Daemon.

2. Start the trap receiver application, snmptrapd.

For an example, see Starting the Trap Daemon.

3. Generate a test trap to verify that traps are being sent by the agent and received by the trap receiver.

For an example, see Testing the Trap Daemon.


procedure icon  Configuring an snmptrapd Daemon

The following example shows how to use the snmpset command to configure an snmptrapd daemon:


% snmpset -mALL -v2c -cprivate snmp_agent_Ip_address ilomCtrlAlertSeverity.1 i 2 ilomCtrlAlertType.1 i 2 ilomCtrlAlertDestinationIP.1 a dest_Ip_address
SUN-ILOM-CONTROL-MIB::ilomCtrlAlertSeverity.1 = INTEGER: critical(2)
SUN-ILOM-CONTROL-MIB::ilomCtrlAlertType.1 = INTEGER: snmptrap(2)
SUN-ILOM-CONTROL-MIB::ilomCtrlAlertDestinationIP.1 = IpAddress: dest_Ip_address


procedure icon  Starting the Trap Daemon

The following example shows how to use the snmptrapd command start a trap daemon:


% snmptrapd -mALL -Lo -f -t -OvQ -e -F "%H.%J.%K:%W:%w %q from %A:%V,% %v\n" 
2007-11-29 13:21:07 NET-SNMP version 5.2.3 Started.


procedure icon  Testing the Trap Daemon

While the daemon is running, log in to the CLI on the host that is running the SNMP agent and type the following command:

-> set /SP/alertmgmt/rules testalert=true



Note - It is important to test the trap daemon to make sure it is configured properly.


The following screen shows a sample output when a testalert trap is received:


SUN-ILOM-CONTROL-MIB::ilom.103.2.1.20.0 = STRING: "This is a test trap"