Hello, I'm sure this is a simple fix and I'm too stupid to figure it out, but I'm having trouble accessing Cisco ACE specific OIDs via Net-SNMPs tools. If I run snmpwalk on the device, I get a nice list of standard SNMP OIDs such as SNMPv2-MIB, IF-MIB, IP-MIB, etc with values such as the device name, interface IP counters and all that stuff. But I don't see any Cisco specific OIDs in the list. I really want to be able to monitor the load across real servers and server farms and such on this ACE module.
So, for example, I try running the following command and it says no such object:
snmpget -m +CISCO-SLB-MIB -On -v 2c -c communityname ipaddress CISCO-SLB-MIB::slbServerFarms
.18.104.22.168.22.214.171.124.161.1.2 = No Such Object available on this agent at this OID
I read you should try adding an index to the OID as there may be multiple sub objects (and of course there are multiple server farms) but I get the same thing:
snmpget -m +CISCO-SLB-MIB -On -v 2c -c communityname ipaddress CISCO-SLB-MIB::slbServerFarms.0
.126.96.36.199.188.8.131.52.184.108.40.206 = No Such Object available on this agent at this OID
Just to confirm a valid OID, I get this:
snmpget -m +CISCO-SLB-MIB -On -v 2c -c communityname ipaddress SNMPv2-MIB::sysDescr.0
.220.127.116.11.18.104.22.168.0 = STRING: Application Control Engine Service Module
I also tried snmptable with CISCO-ENHANCED-SLB-MIB::cesServerFarmRserverTable and it just says "Was that a table?"
So I think it must be a permission problem or some config that I have to tweak. Right now the only SNMP config is:
snmp-server community communityname group Network-Monitor
My device version info is:
loader: Version 12.2
system: Version A2(1.4) [build 3.0(0)A2(1.4) adbuild_11:54:12-2009/03/05_/auto/adbu-rel2/rel_a2_1_4_throttle/REL_3_0_0_A2_1_4]
system image file: [LCP] disk0:c6ace-t1k9-mz.A2_1_4.bin
installed license: ACE-SEC-LIC-K9 ACE-SSL-05K-K9
Thank you for your help!
In order to access the data in a particular cell in the table, you do need to use a notation similar to the one you mention, but it will be in the ASN.1 dotted decimal notation, and you must use the index values within the the cesServerFarmRserverTable. As I mentioned before, those indexes are slbEntity, slbServerFarmName, cesRserverName, and cesServerFarmRserverPort. So, an actual cell address would look like cesServerFarmRserverAdminWeight.22.214.171.124.126.96.36.199.98.80. Where the first .1 is the slbEntity ID, .188.8.131.52 is notation for the string "www", 184.108.40.206 is notation for the string "web", and .80 is the port number 80.
If you need to figure out all of the rows in a table, then you need to do SNMP GET-NEXT queries to iterate through each row and each cell in the table. If you know of a specific row address (see indexes above), then you can poll the cells at those addresses and forgo the GET-NEXT walking.
Actually, most objects which are tables are named a such. In fact, that's probably the best rule of thumb. But really, you know that an object is in a table if its grandparent object will be of type SEQUENCE.