Forum Discussion

mchaas's avatar
mchaas
Icon for Nimbostratus rankNimbostratus
May 16, 2008

snmpwalk to get poolmembers

Hi folks!

 

 

I want to write a php-script that aquires all existing pools on the loadbalancer and lists all pool-members associated to each of them.

 

Unfortunately there's some issues I don't quite understand.

 

 

When I do an snmpwalk on the pool-members of testpool1, I can get all the associated pool-members:

 

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.49.1.4.10.130.129.117.80 = Hex-STRING: 0A 82 81 75

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.49.1.4.10.130.129.118.80 = Hex-STRING: 0A 82 81 76

 

 

When I try to do the same for a second pool on the BigIP, testpool2, e.g., I dont' get any entries from the snmpwalk at all:

 

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.50.1.4 = No Such Instance currently exists at this OID

 

 

If I do an snmpwalk on .1.3.6.1.4.1.3375.2.2.5.4.3.1.3, I jolly well get all poolmembers, also for testpool2.

 

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.49.1.4.10.130.129.117.80 = Hex-STRING: 0A 82 81 75

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.49.1.4.10.130.129.118.80 = Hex-STRING: 0A 82 81 76

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.50.1.4.10.130.129.119.80

 

= HEX-STRING: 0A 82 81 77

 

.1.3.6.1.4.1.3375.2.2.5.4.3.1.3.9.116.101.115.116.112.111.111.108.50.1.4.10.130.129.120.80

 

= HEX-STRING: 0A 82 81 78

 

 

As soon as I add an another testpool (test), I only get the poolmembers for the latest pool (test) from my snmpwalk and NOT for the other two pools.

 

 

My question is: can this be lead back to behaviour of snmpwalk, or is there a trick I can use to get this information?

 

 

BIG-IP 9.4.4 Build 73.1 Hotfix HF1

 

 

 

Thanks in advance and best regards,

 

Matt

3 Replies

  • Deb_Allen_18's avatar
    Deb_Allen_18
    Historic F5 Account
    Hi Matt -

    I see the same behaviour at least back to 9.2.3, and to be honest, I'm not sure how the enumeration is supposed to work for pool members, but that doesn't seem right.

    One thing you might already have noticed is that there is a length field embedded in the middle of the OID, so just changing the characters in the name won't necessarily translate unless the name just happens to be the same length:
     
     .1.3.6.1.4.1.3375.2.2.5.4.3.1.1.4.116.101.115.116.1.4.10.10.10.3.80 = STRING: test    
     .1.3.6.1.4.1.3375.2.2.5.4.3.1.1.9.116.101.115.116.112.111.111.108.49.1.4.10.10.10.1.80 = STRING: testpool1    
     .1.3.6.1.4.1.3375.2.2.5.4.3.1.1.9.116.101.115.116.112.111.111.108.50.1.4.10.10.10.2.80 = STRING: testpool2

    Note the branch for each OID is different because of the change in length:
     
     .1.3.6.1.4.1.3375.2.2.5.4.3.1.1.4.    
     .1.3.6.1.4.1.3375.2.2.5.4.3.1.1.9.

    I suggest opening a case with F5 Support to get some guidance on enumerating this area of the MIB. (And please post back if you find out something interesting!)

    HTH

    /deb
  • Hey Matt can u paste exactly what snmpwalk command u used for all three pools?
  • I am trying to do a very similar thing, however I have all but given up on snmpwalk and have been using snmptable to get the data. The problem I have is when using snmptable on ltmPoolMemberStatTable or ltmNodeAddrStatTable it is extremely slow and I have to increase the timeout. Then when I start to get data all of the important integer statistics have "?" as a value. I can not find a way to query the data in that table. Does anyone know how this is done?