How to Investigate SNMP Issues on a DXi (DRAFT) |
The Simple Network Management Protocol (SNMP) was designed to work over many types of networks. SNMP started with version 1 (SNMPv1) and has been replaced by SNMPv2, which has been extended to SNMPv2c. SNMP is a protocol used to do primitive messaging between computer systems. SNMP was designed by committee, for the management of equipment in a network operations center. The interface is between the Network layer protocol and the physical network layer. Structures called MIB-II contains the most wanted, and generic configuration, status, and other information for any type of interface.
This topic will not deep dive into Internet Control Message Protocol (ICMP), but it expects the user community to understand the basics, being that ICMP messages are flowing across the network. Transmission Control Protocol (TCP) is responsible for reliable construction of connections, between partners, retransmission, and termination of connections. User Datagram Protocol (UDP) is used to send stand alone messages between applications. SNMP uses UDP to send “get”, “set”,” response”, and “traps” between systems. The DXi uses the SNMP to support standard and custom SNMP data. The investigation to resolve snmp issues on the DXi, we will start with a top down debug of the environment. Customer use Network Monitor program that targets the Management IP address on the DXi. Note: The DXi is SNMPv2c compliant for the protocol. Not SNMPv1. SNMP uses two unix ports to communicate, port 161 and port 162. When referencing this topic, you will need basic network background and basic UNIX skill to complete the Investigation.
Commentary is in black text, commands are in blue BOLD text, and data is in light blue text. Do not attempt this investigation if uncomfortable with vi or Linux command line interface. The DXi in question shall be refered to as “DXi” and will be noted in the UNIX command prompt “ [root@DXi /]# ”.
The "How To" procedures for this investigation is separated into 6 steps. Each Step below is targeting the next level of functionality, starting at network path, to snmp environment, to snmpd internal routing, to snmpd responses, and finishing with snmpd traps.
The SNMP is designed to work across the Management IP. Locate the management IP address and make sure the SNMP monitor is targeting the Management IP. This may be the bond0 in a bond all configuration.
Is the customer using the Management IP to address the DXi with the Network Monitor? Make sure the Network Monitor is using the IP address, not the DNS name.
[logsystem]$ grep ManagementSegmentIPAddress systemconfig.xml
<ManagementSegmentIPAddress>198.30.218.46</ManagementSegmentIPAddress>
Begin with the basics by collect the network environment. The network starts with the Management Segment IP Address and routes across the customer environment to the customer SNMP Network Monitor. Ask the customer for the IP address of the customer SNMP Network Monitor system. The Data IPs below have been modified to protect customer information. So for the DXi below, 198.30.218.46:161 and 198.30.218.46:162.
# tracert 198.27.99.252
traceroute to 198.27.99.252 (198.27.99.252), 30 hops max, 40 byte packets
1 198.30.218.1 (198.30.218.1) 2.201 ms 2.726 ms 2.727 ms
2 195.24.244.65 (195.24.244.65) 1.024 ms 1.573 ms 1.573 ms
3 88.35.195.37 (88.35.195.37) 6.351 ms 6.884 ms 6.882 ms
4 scsce1-wan.net.americas.nobody.com (30.212.46.226) 85.362 ms 85.876 ms 85.936 ms
5 scscsr01-vl951.scs.nobody.com (198.28.23.62) 84.817 ms 85.352 ms 85.350 ms
6 scssr1-vl957.net.americas.nobody.com (141.183.12.11) 84.792 ms 84.862 ms 84.375 ms
7 scsnet01.scs.nobody.com (198.27.99.252) 84.784 ms 85.129 ms 84.565 ms
This customer has two paths, which uses quite a bit of data output, looking at just one of the traceroutes below, and now using netcat command (nc) to look at each hop in the path. Using netcat to probe back down tracerout output, note we are check the two ports 161 and 162. The netcat utility succeeds when it can receive a ICMP response. Starting on the DXi system, work back on the route path to the Network Monitor.
[root@DXi snmp]# nc -zu 198.30.218.46 162
Connection to 130.30.218.45 162 port [udp/snmptrap] succeeded!
[root@DXi snmp]# nc -zu 198.30.218.46 161
Connection to 130.30.218.45 161 port [udp/snmp] succeeded!
Ok, so the DXi itself succeed in a ICMP reply. Let's continue working down the trace route list above.
[root@DXi snmp]# nc -zu 198.30.218.1 161
Connection to 130.30.218.1 161 port [udp/snmp] succeeded!
[root@DXi snmp]# nc -zu 195.24.244.65 161
Connection to 195.24.244.65 161 port [udp/snmp] succeeded!
[root@DXi snmp]# nc -zu 88.35.195.37 161
Connection to 88.35.195.37 161 port [udp/snmp] succeeded!
[root@DXi snmp]# nc -zu 30.212.46.226 161
Connection to 30.212.46.226 161 port [udp/snmp] succeeded!
[root@DXi snmp]# nc -zu 198.28.23.62 161
Connection to 198.28.23.62 161 port [udp/snmp] succeeded!
Hmm, what happened below? Some one in the route is not responding to their port. This is not the root cause, but something for the customer to investigate.
[root@DXi snmp]# nc -zu 141.183.12.11 161
[root@DXi snmp]# nc -zu 198.27.99.252 161
Connection to 198.27.99.252 161 port [udp/snmp] succeeded!
Step 3:
Look at the local DXi environment for SNMP. Start with the lsof command to check on open file handles. Snmpd has a open on port 161 below. Then lets look at the iptables status, we are looking specifly for the Management network ip 198.30.218.46 and then the ports tcp dpt:162 Below is the standard response to assure the snmp service is running and avail on port 161 and port 162. If any of the ports do not appear in the local DXi probing then you may want to restart the snmp service. Look for the processes
[root@DXi snmp]# ps -ef | grep snmp
root 442 29705 0 11:52 pts/3 00:00:00 grep snmp
root 18987 1 0 Sep23 ? 00:00:00 /usr/adic/perl/bin/perl /opt/DXi/sl_noti_snmptrap_monitor
root 31584 1 0 11:52 ? 00:00:00 /usr/local/sbin/snmpd
root 31941 1 1 11:52 pts/3 00:00:00 /usr/local/sbin/qtm_snmp_subagent
root 31956 1 0 11:52 ? 00:00:00 /usr/local/sbin/snmptrapd
To restart the service, use the following command.
[root@DXi snmp]# service snmpd restart
Shutting down snmpd: [ OK ]
OKarting snmpd: [ OK ]
No log handling enabled - turning on stderr logging
NET-SNMP version 5.4 AgentX subagent connected
OK [ OK ]
NET-SNMP version 5.4 AgentX subagent connected
[root@DXi snmp]# lsof -i :161
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
snmpd 16817 root 7u IPv4 57571440 UDP *:snmp
The next command is looking at a route issue in the iptables. This looks all open, which probably means the firewall on the DXi is in a enabled state, more later on Step 4. Look for the ports 161 and 162 and the management network ip.
[root@DXi snmp]# service iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: mangle
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy DROP)
num target prot opt source destination
1 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:53
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
6 ACCEPT tcp -- 0.0.0.0/0 10.17.21.1 tcp
7 ACCEPT udp -- 0.0.0.0/0 10.17.21.1 udp
8 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:22
9 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:80
10 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:443
11 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:162
12 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:161
13 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:8406
14 ACCEPT tcp -- 0.0.0.0/0 198.30.218.46 tcp dpt:8407
<remainder of output deleted>
Now look at the process snmpd is in the network tables.
[snmp]# netstat -ulpn|grep snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 13829/snmpd
What does netstat think about the system environment with regards to the snmp processes? (TS: Do we need to provide an answer to this? Or explain what they are seeing in the example below?)
[snmp]# netstat -anpo | grep snmp
tcp 0 0 127.0.0.1:51665 127.0.0.1:9998 ESTABLISHED 2072/qtm_snmp_subag off (0.00/0/0)
tcp 0 0 127.0.0.1:51666 127.0.0.1:9998 ESTABLISHED 2072/qtm_snmp_subag off (0.00/0/0)
tcp 0 0 127.0.0.1:51667 127.0.0.1:9998 ESTABLISHED 2072/qtm_snmp_subag off (0.00/0/0)
tcp 0 0 127.0.0.1:51668 127.0.0.1:9998 ESTABLISHED 2072/qtm_snmp_subag off (0.00/0/0)
udp 0 0 0.0.0.0:161 0.0.0.0:* 2061/snmpd off (0.00/0/0)
udp 0 0 0.0.0.0:162 0.0.0.0:* 2083/snmptrapd off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 99390822 2061/snmpd /var/agentx/master
unix 3 [ ] STREAM CONNECTED 99390881 2061/snmpd /var/agentx/master
unix 3 [ ] STREAM CONNECTED 99390880 2072/qtm_snmp_subag
unix 3 [ ] STREAM CONNECTED 99390870 2061/snmpd /var/agentx/master
unix 3 [ ] STREAM CONNECTED 99390869 2083/snmptrapd
Check if the DXi firewall is causing problems with the SNMP route. Disable the firewall temporarily to test the DXi side. This will need to have the customer attempting a discovery of SNMP to the DXi with the Network Monitor tool, both with firewall enabled and disabled. Don’t forget to re-enable the firewall.
First check the iptables status. In the example below, the firewall service is already disabled. Remember this and compare with the outputs of the iptables status. If the fire wall was off, then make sure it's off when you are finished. If the firewall was enabled, them make sure its running when you are finished.
[root@DXi snmp]# service iptables status
Table: nat
Chain PREROUTING (policy ACCEPT)
num target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy DROP)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Lets make sure its off. Disable the firewall. Then test the Customer Network Monitor ability to Discover SNMP service on the DXi.
[root@DXi snmp]# /opt/DXi/scripts/netcfg.sh --disablefw
INFO: *** /opt/DXi/scripts/netcfg.sh script started with arguments: --disablefw ***
INFO: *** /opt/DXi/scripts/netcfg.sh script completed successfully ***
If the Firewall was on, remember to re-enable the service when you are finished.
[root@DXi snmp]# /opt/DXi/scripts/netcfg.sh --enablefw
INFO: *** /opt/DXi/scripts/netcfg.sh script started with arguments: --enablefw ***
INFO: *** /opt/DXi/scripts/netcfg.sh script completed successfully ***
Now we need to begin adding our own snmp public environment, so that we can test the response of the snmp activity. To begin part of the investigation, make a backup copy of any files about to be modified. Modify the files and restart the snmpd service for the testing duration. The addition of the public declarations to the snmpd.conf allows us to probe the DXi snmpd using the public declaration. When complete, copy back the saved snmp config files and restart the snmpd service. The output below is from LAB systems, again to protect customer data. The goal in this step is to probe the snmp environment using snmp commands. The “DXi” here is IP address 10.20.234.51 and used below in some UNIX commands.
[root@DXi /] # cd /usr/local/share/snmp
[root@DXi snmp]# cp snmpd.conf snmpd.conf.orig
[root@DXi snmp]# cp snmptrapd.conf snmptrapd.conf.orig
[root@DXi snmp]# vi /usr/local/share/snmp/snmpd.conf
# two lines below added for debug after the master agentx line
rocommunity public .1
rwcommunity public default
[root@DXi snmp]# vi /usr/local/share/snmp/snmptrapd.conf
#Un-comment (remove the #) from the line below already in snmptrapd.conf
#logoption f /var/log/snmptrapd-direct.log
Now restart the services to make the changes above take effect.
[root@DXi snmp]# service snmpd restart
Shutting down snmpd: [ OK ]
OKarting snmpd: [ OK ]
OK [ OK ]
NET-SNMP version 5.4 AgentX subagent connected
Now its time to start testing the snmpd daemons on the system, the output from some commands may vary depending on the galaxy software and DXi system.
[root@DXi snmp]# snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: DXi8500
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (28287) 0:04:42.87
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: SES8500DXi51
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
Now look at the output of snmp netstat from the public declaration. Does this match the DXi route table, “ ip route show table main”?
[root@DXi snmp]# snmpnetstat -v2c -cpublic -Crs 10.20.234.51
Routing tables
Destination Gateway Flags Interface
default 10.20.232.1 <UG> bond0
10.17.21/24 * <U> bond9
10.20.232/21 * <U> bond0
Does the output match the DXi output from the UNIX command “ifconfig”?
[root@DXi snmp]# snmpnetstat -v2c -cpublic -Ci 10.20.234.51
Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Queue
lo 16436 127/8 127.0.0.1 1072633692 0 1072633692 0 0
bond0 1500 10.20.234/21 10.20.234.51 66736448 0 29286944 0 0
eth0 1500 64253378 0 58408143 0 0
eth1 1500 308857 0 0 0 0
eth2 1500 33275911 0 14643472 0 0
eth3 1500 33460537 0 14643472 0 0
eth4 1500 0 0 0 0 0
eth5 1500 0 0 0 0 0
eth6 1500 0 0 0 0 0
eth7 1500 0 0 0 0 0
bond9 1500 10.17.21/24 10.17.21.1 64562235 0 58408143 0 0
Does this match the output from UNIX command “netstat –anpo”?
[root@DXi snmp]# snmpnetstat -v2c -cpublic -Cp tcp 10.20.234.51
tcp SES8500DXi51.loc.60980 SES8500DXi51.loc.distiESTABLISHED
tcp SES8500DXi51.loc.60981 SES8500DXi51.loc.distiESTABLISHED
<data too long to list>
[root@DXi snmp]# snmpnetstat -v2c -cpublic -Cp udp 10.20.234.51
Active Internet (udp) Connections
Proto Local Address
udp *.tftp
udp *.sunrpc
udp *.ntp
udp *.netbios-
udp *.netbios-
udp *.snmp
udp *.snmptrap
udp *.qmqp
udp *.xfr
udp *.device
udp *.880
udp *.nfs
udp *.32000
udp *.45154
udp *.56618
udp *.58607
udp Qnode1.ntp
udp ses8500dxi51.dnw.ntp
udp ses8500dxi51.dnw.netbi
udp ses8500dxi51.dnw.netbi
udp 10.20.239.255.netbios-
udp 10.20.239.255.netbios-
udp SES8500DXi51.loc.ntp
Now we are changing gears and testing not only resolution of localhost, but doing a snmp walk. This is the type of data the Network Monitor might extract.
[root@DXi snmp]# snmpwalk -v2c -c public localhost memory
UCD-SNMP-MIB::memIndex.0 = INTEGER: 0
UCD-SNMP-MIB::memErrorName.0 = STRING: swap
UCD-SNMP-MIB::memTotalSwap.0 = INTEGER: 16779852 kB
UCD-SNMP-MIB::memAvailSwap.0 = INTEGER: 16779852 kB
UCD-SNMP-MIB::memTotalReal.0 = INTEGER: 65714136 kB
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 15952200 kB
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 32732052 kB
UCD-SNMP-MIB::memMinimumSwap.0 = INTEGER: 16000 kB
UCD-SNMP-MIB::memShared.0 = INTEGER: 0 kB
UCD-SNMP-MIB::memBuffer.0 = INTEGER: 503820 kB
UCD-SNMP-MIB::memCached.0 = INTEGER: 9408868 kB
UCD-SNMP-MIB::memSwapError.0 = INTEGER: noError(0)
UCD-SNMP-MIB::memSwapErrorMsg.0 = STRING:
[root@DXi snmp]# snmptable -v2c -c public localhost IF-MIB::ifTable
SNMP table: IF-MIB::ifTable
<output too long to list>
Now below test the three paths to check resolution of IP address(127.0.0.1, localhost, 10.20.234.51)
[root@DXi snmp]# snmpwalk -v2c -c public 127.0.0.1 QUANTUM-SNMP-MIB::quantumsnmp
QUANTUM-SNMP-MIB::qNoInterventionNeededEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequestedInterventionEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequiredInterventionEnable.0 = INTEGER: trapnotavailable(3)
[root@DXi snmp]# snmpwalk -v2c -c public localhost QUANTUM-SNMP-MIB::quantumsnmp
QUANTUM-SNMP-MIB::qNoInterventionNeededEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequestedInterventionEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequiredInterventionEnable.0 = INTEGER: trapnotavailable(3)
[root@DXi snmp]# snmpwalk -v2c -c public 10.20.234.51 QUANTUM-SNMP-MIB::quantumsnmp
QUANTUM-SNMP-MIB::qNoInterventionNeededEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequestedInterventionEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequiredInterventionEnable.0 = INTEGER: trapnotavailable(3)
Next check the access from one DXi to another DXi in the environment. Locate a second DXi_B in the Customer environment and send snmp query to the first DXi system snmp service. Start by attempting to snmp walk query from DXi_B to DXi, in this case a DXi8500. Results may not exactly match, but will should match the output from just above in Step 4. Note: you will need to make the same modification to DXi_B /usr/local/share/snmp/snmpd.conf as before and restart the services snmpd to access the public declaration. In the example below “DXi_B” is IP address 10.20.234.55
Just to confirm the large system information is avail, from DXi_B probe itself (DXi_B ) then system DXi.
Remember system DXi is the target system in question. .
[root@DXi_B /]# snmpwalk -v2c -c public 10.20.234.55 system
SNMPv2-MIB::sysDescr.0 = STRING: DXi6500
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (27619) 0:04:36.19
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: SES6702DXi55
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
Now using the second system “ DXi_B” to probe the Management Ip : 161 and Management Ip:162 ports, in the same way a Network Monitor will probe the system DXi. Do the results match the results from the end of Step 5 above? Remember (127.0.0.1, localhost, 10.20.234.51)
[root@DXi_B /]# snmpwalk -v2c -c public 10.20.234.51 QUANTUM-SNMP-MIB::quantumsnmp
QUANTUM-SNMP-MIB::qNoInterventionNeededEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequestedInterventionEnable.0 = INTEGER: trapnotavailable(3)
QUANTUM-SNMP-MIB::qRequiredInterventionEnable.0 = INTEGER: trapnotavailable(3)
[root@DXi_B /]# snmpwalk -v2c -c public 10.20.234.51 system
SNMPv2-MIB::sysDescr.0 = STRING: DXi8500
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (17088) 0:02:50.88
SNMPv2-MIB::sysContact.0 = STRING:
SNMPv2-MIB::sysName.0 = STRING: SES8500DXi51
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.6 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.7 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.8 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
Now time to test the snmptrapd on the “DXi” system port 162, Using both DXi and DXi_B to generate a trap.
[root@DXi snmp]# tail -f /var/log/snmptrapd-direct.log &
[1] 1793
NET-SNMP version 5.4 AgentX subagent connected
NET-SNMP version 5.4
Now generate a trap on DXi to DXi system. Note use of localhost ip, the command is one line, showen as a wrapped line in this document.
[root@DXi snmp]# snmptrap -v2c -c public 127.0.0.1 0 NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 60
[root@DXi snmp]# <UNKNOWN> [UDP: [127.0.0.1]:58104]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (0) 0:00:00.00, SNMPv2-MIB::snmpTrapOID.0 = OID: NET-SNMP-MIB::netSnmp.2.3.0.1, NET-SNMP-MIB::netSnmp.2.3.2.1 = INTEGER: 60
Now on “DXi_B”, generate a few trap to DXi sytem, again watch the tail output on system “DXi”
[root@DXi_B snmp]# snmptrap -v2c -c public 10.20.234.51 0 NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 60
[root@DXi_B snmp]# snmptrap -v2c -c public 10.20.234.51 0 NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 60
On DXi system in console window, the tail should produce two additional traps after a few seconds.
[root@DXi snmp]# <UNKNOWN> [UDP: [10.20.234.55]:41481]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (0) 0:00:00.00, SNMPv2-MIB::snmpTrapOID.0 = OID: NET-SNMP-MIB::netSnmp.2.3.0.1, NET-SNMP-MIB::netSnmp.2.3.2.1 = INTEGER: 60
<UNKNOWN> [UDP: [10.20.234.55]:42752]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (0) 0:00:00.00, SNMPv2-MIB::snmpTrapOID.0 = OID: NET-SNMP-MIB::netSnmp.2.3.0.1, NET-SNMP-MIB::netSnmp.2.3.2.1 = INTEGER: 60
We have now tested the snmpd between two DXi systems, and generated traps on the target DXi system. Remember to undo the changes to /usr/local/share/snmp/snmpd.conf and snmptrapd.conf files and restart snmpd services. Each Step was targeting the next level of functionality,
Using DXi_B to probe the Management Ip : 161 and Management Ip:162 ports, in the same way a Network Monitor is the final test to confirm that the DXi in question is responding. If you can probe the DXi with SNMP commands, and snmptrap the DXi, then the DXi has a functional SNMP interface.
This page was generated by the BrainKeeper Enterprise Wiki, © 2018 |