Repository is archived
No commit activity in last 3 years
No release in over 3 years
This is the New Relic plugin for monitoring F5 devices developed by New Relic, Inc.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 1.3, >= 1.3.0
~> 1.1, >= 1.1.0
 Project Readme

New Relic F5 Plugin¶ ↑

<img src=“https://travis-ci.org/newrelic-platform/newrelic_f5_plugin.png” />

The New Relic F5 Plugin enables integrated monitoring of your F5 Local Traffic Manager devices inside of New Relic. Currently the following metrics are recorded:

Device wide Metrics

  • CPU / Memory usage

  • Throughput (Total, Client side, Server side)

  • HTTP Requests (Requests/second, HTTP Methods, Status Codes, Versions)

  • HTTP Compression (Pre/Post broken down by content type)

  • TCP Details (Current connections, connection rate, Server/Client side, Wait State)

  • Node status

Interface Statistics

  • State (Up/Down)

  • Throughput

  • Packets per Second (Unicast / Multicast)

  • Errors per Second

  • Dropped packets per Second

  • Collisions per Second

Virtual Server Statistics

  • Requests per Second

  • Current Connections

  • Connections per Second

  • Inbound and Outbound Throughput

  • CPU Usage Ratio

Pool Statistics

  • Requests per Second

  • Current Connections

  • Connections per Second

  • Inbound and Outbound Throughput

iRule Statistics

  • Executions per Second

  • Failures per Second

  • Aborts per Second

  • Average cycles (requires timing enabled on the iRule)

Global SSL Statistics

  • Requests/second

  • Transactions per Protocol

  • Transactions per Digest

  • Transactions per Key Exchanges

Requirements¶ ↑

Proxy host¶ ↑

You need a host to install the plugin on that is able to poll the desired F5s via SNMP. That host also needs Ruby (tested with 1.8.7, 1.9.3, and 2.0.0), and support for rubygems.

F5¶ ↑

This plugin has been tested with F5 LTM versions 11.2.x, 11.3.x, and 11.5.1. Some metrics are reported on 10.2.x, but the data is incomplete due to SNMP changes made by F5 between 10 and 11.

A read-only SNMP community is required for each device to be monitored. Currently, only SNMP version 2c is supported.

Installation and Running¶ ↑

  1. Install this gem from RubyGems:

    gem install newrelic_f5_plugin
    
  2. Create an installation directory (like /opt/newrelic/f5 ).

  3. In the installation directory, execute

    f5_monitor install -l LICENSE_KEY

    using the license key from your New Relic account.

  4. Edit the config/newrelic_plugin.yml file generated in step 3. Setup name/hostname/port/snmp_community for each F5 you wish to monitor.

  5. Execute

    f5_monitor run
    

Additional Configuration¶ ↑

To configure proxy settings, add to the newrelic_plugin.yml file:

newrelic:
  proxy:
    address: PROXY_ADDRESS
    port: PROXY_PORT
    user: PROXY_USER
    password: PROXY_PASSWORD

Installation with Chef/Puppet¶ ↑

The F5 plugin can also be installed with Chef and Puppet. For Chef and Puppet support see the New Relic plugin’s Chef Cookbook and Puppet Module.

Additional information on using Chef and Puppet with New Relic is available in New Relic’s documentation.

Logging Instructions¶ ↑

Logging goes to stdout by default.

There are 2 methods to increase logging to verbose level. Choose one of the following:

  1. Uncomment the following line from the config/newrelic_plugin.yml file:

    #verbose: 1
    
  2. Execute the plugin with the -v or --verbose option.

    f5_monitor run -v
    

Developer Instructions¶ ↑

  1. Fork/Clone the repository

  2. Install bundler and run:

    bundle install
    
  3. Run rake -T to see rake options, including tests.

Contributing¶ ↑

You are welcome to send pull requests to us - however, by doing so you agree that you are granting New Relic a non-exclusive, non-revokable, no-cost license to use the code, algorithms, patents, and ideas in that code in our products if we so choose. You also agree the code is provided as-is and you provide no warranties as to its fitness or correctness for any purpose.