Forum Discussion

Ludvig_150080's avatar
Ludvig_150080
Icon for Nimbostratus rankNimbostratus
Apr 07, 2014

BIGIP SNMP Pool members info

Hi,

 

I'm new here and not very familiar with F5 products, however I've been tasked in a project to query our BigIP devices via snmp to get some much needed data. More accurately, I want to access the ltm pool and get information like which IP addresses is this device load balancing.

 

After doing some research I found that the F5 BIGIP local MIB specifies this OID ltmPools->(.1.3.6.1.4.1.3375.2.2.5) as a good starting point. However after an snmpwalk this OID is nowhere to be found, infact there are just one OID found with an address of 3375.

 

Digging deeper I find that there are some OIDs where the actual OID-address contains IP addresses but no values which make me wonder if there is something wrong or if I'm working based on wrong information.

 

How should I go about finding the information I need? Any pointers are much appreciated!

 

6 Replies

  • if you query on your BIG-IP, you should be able to do a walk on the ltmPool and ltmPoolMember oid trees:

    snmpwalk -v 2c -c commstring localhost F5-BIGIP-LOCAL-MIB::ltmPool
    snmpwalk -v 2c -c commstring localhost F5-BIGIP-LOCAL-MIB::ltmPoolMember
    

    For the oidstring itself, you can use snmptranslate:

    [jrahm@bigip1:Active:In Sync] ~  snmptranslate -On F5-BIGIP-LOCAL-MIB::ltmPool
    .1.3.6.1.4.1.3375.2.2.5.1
    [jrahm@bigip1:Active:In Sync] ~  snmptranslate -On F5-BIGIP-LOCAL-MIB::ltmPoolMember
    .1.3.6.1.4.1.3375.2.2.5.3
    
  • JRahm_128324's avatar
    JRahm_128324
    Historic F5 Account

    do you have a community string and permissions for localhost established in the snmp configuraton?

     

  • Here's an example of the configuration for snmp queries to be allowed:

    [root@ltm1:Active:Standalone] config  tmsh list sys snmp allowed-addresses
    sys snmp {
        allowed-addresses { 127. 192.168.6.1 }
    }
    [root@ltm1:Active:Standalone] config  tmsh list sys snmp communities
    sys snmp {
        communities {
            ihappy_1 {
                community-name happy
                source default
            }
        }
    }
    
  • try restarting snmpd:

     

    bigstart restart snmpd

     

    if after that you still can't query the f5 oids, I'd suggest opening a case.

     

  • Thanks a lot for the help, in the end it was the restart that did it, now everything is working as expected :)

     

  • Hi,

    in case you already know the specific property and want to determine the pool member specific OID the following one-liner may help you:
    snmptranslate -On F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState | awk '{print "snmpwalk -v 2c -c public -On localhost", $1}' | bash -x | awk '{print "snmpget -c public localhost", $1}' | bash -x
    

    Sample output:

    snmptranslate -On F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState | awk '{print "snmpwalk -v 2c -c public -On localhost", $1}' | bash -x | awk '{print "snmpget -c public localhost", $1}' | bash -x
    + snmpwalk -v 2c -c public -On localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10
    + snmpget -c public localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10.20.47.67.111.109.109.111.110.47.112.111.111.108.95.119.101.98.95.97.112.112.22.47.67.111.109.109.111.110.47.49.48.46.49.51.49.46.49.51.49.46.49.52.49.80
    F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState."/Common/pool_web_app"."/Common/10.131.131.141".80 = INTEGER: unchecked(0)
    + snmpget -c public localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10.20.47.67.111.109.109.111.110.47.112.111.111.108.95.119.101.98.95.97.112.112.22.47.67.111.109.109.111.110.47.49.48.46.49.51.49.46.49.51.49.46.49.52.50.80
    F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState."/Common/pool_web_app"."/Common/10.131.131.142".80 = INTEGER: unchecked(0)
    + snmpget -c public localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10.24.47.67.111.109.109.111.110.47.112.111.111.108.95.108.100.97.112.95.115.101.97.114.99.104.22.47.67.111.109.109.111.110.47.49.48.46.49.51.49.46.49.51.49.46.49.55.48.389
    F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState."/Common/pool_ldap_search"."/Common/10.131.131.170".389 = INTEGER: up(4)
    + snmpget -c public localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10.24.47.67.111.109.109.111.110.47.112.111.111.108.95.114.97.100.105.117.115.95.97.117.116.104.22.47.67.111.109.109.111.110.47.49.48.46.49.51.49.46.49.51.49.46.50.48.48.0
    F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState."/Common/pool_radius_auth"."/Common/10.131.131.200".0 = INTEGER: up(4)
    

    In the context of the snmpget command you will see the complete numeric OID followed by the string representation and type:value.

    This information can now be used to read or to modify the specific parameter (i.e. to put the poolmember 10.131.131.170:389 in pool_ldap_search in forced down (via adding "i 20"):
    snmpset -c public localhost .1.3.6.1.4.1.3375.2.2.5.3.2.1.10.24.47.67.111.109.109.111.110.47.112.111.111.108.95.108.100.97.112.95.115.101.97.114.99.104.22.47.67.111.109.109.111.110.47.49.48.46.49.51.49.46.49.51.49.46.49.55.48.389 i 20
    F5-BIGIP-LOCAL-MIB::ltmPoolMemberMonitorState."/Common/pool_ldap_search"."/Common/10.131.131.170".389 = INTEGER: forced-down(20)
    

    A list of possible states can be retrieved from the F5 MIB files (i.e. F5-BIGIP-LOCAL-MIB):

    ltmPoolMemberMonitorState OBJECT-TYPE 
        SYNTAX INTEGER {
            unchecked(0),
            checking(1),
            inband(2),
            forced-up(3),
            up(4),
            down(19),
            forced-down(20),
            irule-down(22),
            inband-down(23),
            down-manual-resume(24),
            disabled(25)
        }
    

    Make sure to have "read/write" access for your community string.

    Thanks, Stephan