Wednesday, August 17, 2011

Monitoring a F5 BIG-IP LTM with Reconnoiter

Recently we purchased an F5 BIG-IP LTM - basically a very fancy web load balancer - to provide some redundancy and scalability to some of our web services at work. I've also been looking at Reconnoiter for monitoring our network. I'm not going to provide a complete review of either product here, or even a complete how-to on setting this up, but here are some tips on monitoring your LTM with Reconnoiter:

First, download the F5 mibs from your LTM. To do that log into your LTM and navigate the menus to Overview->Welcome. Also, configure SNMP on your LTM if you haven't already. There will be a section called "Downloads" that has the SNMP MIBs. Download those MIBs and install them on the server that runs your Reconnoiter noitd service. Read through the MIB for documentation on what the various metrics mean.

Then, add the following to the checks section of your noitd configuation file.

    <f5 module="snmp" period="60000" timeout="15000">
      <config>
        <community>community</community>
        <oid_description>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatName."%[:ccns:name]"</oid_description>
        <oid_csminconndur>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatCsMinConnDur."%[:ccns:name]"</oid_csminconndur>
        <oid_csmaxconndur>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatCsMaxConnDur."%[:ccns:name]"</oid_csmaxconndur>
        <oid_csmeanconndur>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatCsMeanConnDur."%[:ccns:name]"</oid_csmeanconndur>
        <oid_nonodeserrors>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatNoNodesErrors."%[:ccns:name]"</oid_nonodeserrors>
        <oid_clientpktsin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientPktsIn."%[:ccns:name]"</oid_clientpktsin>
        <oid_clientbytesin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientBytesIn."%[:ccns:name]"</oid_clientbytesin>
        <oid_clientpktsout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientPktsIn."%[:ccns:name]"</oid_clientpktsout>
        <oid_clientbytesout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientBytesOut."%[:ccns:name]"</oid_clientbytesout>
        <oid_clientmaxconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientMaxConns."%[:ccns:name]"</oid_clientmaxconns>
        <oid_clienttotconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientTotConns."%[:ccns:name]"</oid_clienttotconns>
        <oid_clientcurconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientCurConns."%[:ccns:name]"</oid_clientcurconns>
        <oid_ephemeralpktsin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralPktsIn."%[:ccns:name]"</oid_ephemeralpktsin>
        <oid_ephemeralbytesin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralBytesIn."%[:ccns:name]"</oid_ephemeralbytesin>
        <oid_ephemeralpktsout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralPktsOut."%[:ccns:name]"</oid_ephemeralpktsout>
        <oid_ephemeralbytesout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralBytesOut."%[:ccns:name]"</oid_ephemeralbytesout>
        <oid_ephemeralmaxconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralMaxConns."%[:ccns:name]"</oid_ephemeralmaxconns>
        <oid_ephemeraltotconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralTotConns."%[:ccns:name]"</oid_ephemeraltotconns>
        <oid_ephemeralcurconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatEphemeralCurConns."%[:ccns:name]"</oid_ephemeralcurconns>
        <oid_pvapktsin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaPktsIn."%[:ccns:name]"</oid_pvapktsin>
        <oid_pvabytesin>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaBytesIn."%[:ccns:name]"</oid_pvabytesin>
        <oid_pvapktsout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaPktsOut."%[:ccns:name]"</oid_pvapktsout>
        <oid_pvabytesout>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaBytesOut."%[:ccns:name]"</oid_pvabytesout>
        <oid_pvamaxconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaMaxConns."%[:ccns:name]"</oid_pvamaxconns>
        <oid_pvatotconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaTotConns."%[:ccns:name]"</oid_pvatotconns>
        <oid_pvacurconns>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatPvaCurConns."%[:ccns:name]"</oid_pvacurconns>
        <oid_totrequests>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatTotRequests."%[:ccns:name]"</oid_totrequests>
        <oid_totpvaassistconn>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatTotPvaAssistConn."%[:ccns:name]"</oid_totpvaassistconn>
        <oid_curpvaassistconn>F5-BIGIP-LOCAL-MIB::ltmVirtualServStatCurrPvaAssistConn."%[:ccns:name]"</oid_curpvaassistconn>
      </config>
      <bigip-1 target="10.1.1.1">
        <check uuid="c3b664fc-2bed-433a-bf59-6dfc65d7830c" name="bigip-1::owa_v4_https_virtual_server"/>
        <check uuid="5359942e-77c2-4930-bcdb-482d8ec5c338" name="bigip-1::owa_v4_https_virtual_server"/>
      </bigip-1>
    </f5>

The emphasized items above need to be customized for your site, of course. Once you've restarted the noitd service you can create graphs of the various statistics that are gathered. Here's one that I created for our Exchange 2010 server:


0 comments: