• English日本語한국어
  • Log inStart now

F5 monitoring integration

Our F5 BIG-IP integration collects and sends inventory and metrics from your F5 BIG-IP instance to our platform, where you can aggregate and visualize key performance metrics. We collect data at the system, application, pool, pool member, virtual server, and node levels.

Read on to install the integration, and to see what data we collect.

Compatibility and requirements

Our integration is compatible with F5 BIG-IP 11.6 or higher.

Before installing the integration, make sure that you meet the following requirements:

Install and activate

To install the F5 BIG-IP integration, choose your setup:

Additional notes:

Enable your F5 instance

Create a new F5 BIG-IP user and assign user permissions:

  1. Create a user account with, at minimum, Auditor-level access permissions. For instructions on how to do this, see the official F5 documentation.
  2. Once the user has been created, assign the user iControl REST user permissions.

Tip

Administrator-level permissions may be required to collect some system sample metrics or system inventory configuration data. For more information on user permission levels, see the official F5 documentation on user role access descriptions.

Did this doc help with your installation?

Configure the integration

There are several ways to configure the integration, depending on how it was installed:

An integration's YAML-format configuration is where you can place required login credentials and configure how data is collected. The options you change depend on your setup and preference.

The configuration file has common settings applicable to all integrations, such as interval, timeout, and inventory_source, among others. For more on these common settings, see our list of configuration properties document.

If you're still using our legacy configuration/definition files, see on-host integrations standard configuration format.

Specific settings related to F5 are defined using the env section of the configuration file. These settings control the connection to your F5 instance, as well as other security settings and features.

Tip

After version 2.6.0 the integration is built leveraging golang 1.18.0. The HTTP client no longer rely on CommonName to validate the certificate.

The deprecated, legacy behavior of treating the CommonName field on X.509 certificates as a host name when no Subject Alternative Names are present is now disabled by default. To overcome this issue the user should update the certificate relying on Subject Alternative Name. While the certificate is not updated, certificate validation could be disabled setting --tls_insecure_skip_verify to true.

F5 instance settings

The F5 integration collects both metrics(M) and inventory(I) information. In the table, use the Applies To column for the settings available to each collection:

Setting

Description

Default

Applies to

HOSTNAME

Hostname or IP where F5 is running.

localhost

M/I

PORT

Port on which F5 API is listening.

443

M/I

USERNAME

Username for accessing F5 API.

N/A

M/I

PASSWORD

Password for the given user.

N/A

M/I

CA_BUNDLE_FILE

Alternative Certificate Authority bundle file.

N/A

M/I

CA_BUNDLE_DIR

Alternative Certificate Authority bundle directory.

N/A

M/I

TIMEOUT

Timeout for requests, in seconds.

30

M/I

PARTITION_FILTER

A JSON array of BIG-IP partitions to collect from. See this metrics-only with partition filtering example.

["Common"]

M

MAX_CONCURRENT_REQUESTS

Maximum number of requests running concurrently.

10

M

TLS_INSECURE_SKIP_VERIFY

Skip verification of the certificate sent by the host.

false

M/I

METRICS

Set to true to enable metrics-only collection.

false

INVENTORY

Set to true to enable inventory-only collection.

false

You can define these setting values in different ways, depending on your preference and need:

  • Add the value directly in the config file. This is the most common way.
  • Replace the values from environment variables using the {{}} notation. This requires infrastructure agent v1.14.0 or higher. Read more on using passthrough or see the environment variables replacement example.
  • Use secrets management to protect sensitive information, such as passwords, that would be exposed in plain text in the configuration file. For more information, read more about using secrets management.

Labels/custom attributes

You can also decorate your metrics using labels. Labels allow you to add key/value pair attributes to your metrics, which you can then use to query, filter, or group your metrics.

Our default sample config file includes examples of labels. You can remove, modify, or add new ones of your choice.

labels:
env: production
role: load_balancer

Example configurations

Find and use data

To find your integration data, go to one.newrelic.com > All capabilities > Infrastructure > Third-party services and select one of the F5 BIG-IP integration links.

F5 BIG-IP data is attached to the following event types:

  • F5BigIpSystemSample
  • F5BigIpVirtualServerSample
  • F5BigIpPoolSample
  • F5BigIpPoolMemberSample
  • F5BigIpNodeSample

For more on how to find and use your data, see Understand integration data.

Metric data

The F5 BIG-IP integration collects the following metric data attributes. Some metric name are prefixed with a category indicator and a period, such as system., virtualserver., or pool..

System sample metrics

These attributes can be found by querying the F5BigIpSystemSample event types.

Metric

Description

system.cpuIdleTicksPerSecond

Amount of CPU ticks that the CPU was idle per second. Requires Administrator-level user permissions to collect.

system.cpuIdleUtilization

Average percentage of time the CPU is idle.

system.cpuInterruptRequestUtilization

Average percentage of time the CPU is handling interrupt requests.

system.cpuIOWaitUtilization

Average percentage of time the CPU is waiting on IO.

system.cpuNiceLevelUtilization

Average percentage of time the CPU is handling nice level processes.

system.cpuSoftInterruptRequestUtilization

Average percentage of time the CPU is handling soft interrupt requests.

system.cpuStolenUtilization

Average percentage of time the CPU is handling reclaimed cycles by the hypervisor.

system.cpuSystemTicksPerSecond

Amount of CPU ticks used by the kernel processes per second. Requires Administrator-level user permissions to collect.

system.cpuSystemUtilization

Average percentage of time the CPU is used by the kernel.

system.cpuUserTicksPerSecond

Amount of CPU ticks used by user processes per second. Requires Administrator-level user permissions to collect.

system.cpuUserUtilization

Average percentage of time the CPU is used by user processes.

system.memoryFreeInBytes

Total amount of memory free, in bytes.

system.memoryTotalInBytes

Total amount of memory, in bytes. Requires Administrator-level user permissions to collect.

system.memoryUsedInBytes

Total amount of memory used, in bytes. Requires Administrator-level user permissions to collect.

system.otherMemoryFreeInBytes

Free memory reserved for control plane processes, in bytes.

system.otherMemoryTotalInBytes

Total memory reserved for control plane processes, in bytes.

system.otherMemoryUsedInBytes

Used memory reserved for control plane processes, in bytes.

system.swapFreeInBytes

Swap space free, in bytes.

system.swapTotalInBytes

Swap space total, in bytes.

system.swapUsedInBytes

Swap space used, in bytes.

system.tmmMemoryFreeInBytes

Free memory reserved for Traffic Management Microkernel (TMM), in bytes.

system.tmmMemoryTotalInBytes

Total memory reserved for Traffic Management Microkernel (TMM), in bytes.

system.tmmMemoryUsedInBytes

Used memory reserved for Traffic Management Microkernel (TMM), in bytes.

Virtual server sample metrics

These attributes can be found by querying the F5BigIpVirtualServerSample event type.

Metric

Description

virtualserver.avaibilityState

The BIG-IP defined availability. Options:

  • 0 = Offline
  • 1 = Unknown
  • 2 = Online

virtualserver.clientsideConnectionsPerSecond

The rate of connections created through the client side of the object per second.

virtualserver.cmpEnabled

Indicates whether or not Cluster Multiprocessing (CMP) is enabled.

virtualserver.cmpEnableMode

Shows the Cluster Multiprocessing (CMP) mode indicators. Options:

  • CMP disabled = none, disable, or single.
  • CMP enabled = enable or all.

virtualserver.connections

The current number of connections from BIG-IP.

virtualserver.csMaxConnDur

Maximum connection duration from the client side of the object.

virtualserver.csMinConnDur

Minimum connection duration from the client side of the object.

virtualserver.enabled

The current enabled state. Options:

  • 0 = Disabled
  • 1 = Enabled

virtualserver.ephemeralBytesInPerSecond

Total number of bytes in through the ephemeral port per second.

virtualserver.ephemeralBytesOutPerSecond

Total number of bytes out through the ephemeral port per second.

virtualserver.ephemeralConnectionsPerSecond

The rate of connection creation through the ephemeral port per second.

virtualserver.ephemeralCurrentConnections

The current number of connections through the ephemeral port.

virtualserver.ephemeralEvictedConnectionsPerSecond

The number of connections that are evicted through the ephemeral port per second.

virtualserver.ephemeralMaxConnections

Maximum number of connections through the ephemeral port.

virtualserver.ephemeralPacketsReceivedPerSecond

The number of packets in through the ephemeral port per second.

virtualserver.ephemeralPacketsSentPerSecond

The number of packets out through the ephemeral port per second.

virtualserver.ephemeralSlowKilledPerSecond

The number of slow connections that are killed through the ephemeral port per second.

virtualserver.evictedConnsPerSecond

The rate of connections evicted per second.

virtualserver.inDataInBytes

The amount of data received from the BIG-IP virtual server, in bytes.

virtualserver.outDataInBytes

The amount of data sent to the BIG-IP virtual server, in bytes.

virtualserver.packetsReceived

The number of packets received from the BIG-IP virtual server.

virtualserver.packetsSent

The number of packets sent to the BIG-IP virtual server.

virtualserver.requests

The number of requests in the last collection interval to BIG-IP.

virtualserver.slowKilledPerSecond

The number of slow connections killed through the client side of the object per second.

virtualserver.statusReason

An explanation of the current status.

virtualserver.usageRatio

The usage ratio for the virtual server.

Pool sample metrics

These attributes can be found by querying the F5BigIpPoolSample event type.

Metric

Description

pool.activeMembers

The number of active pool members.

pool.availabilityState

The current availability state. Options:

  • 0 = Offline
  • 1 = Unknown
  • 2 = Online

pool.connections

The current number of connections.

pool.connqAgeEdm

The queue age exponential-decaying max.

pool.connqAgeEma

The queue age exponential-moving average.

pool.connqAgeHead

The current queue age head.

pool.connqAgeMax

The queue age all-time max.

pool.connqAllAgeEdm

The sum of pool member queue age exponential-decaying max.

pool.connqAllAgeEma

The sum of pool member queue age exponential-moving average.

pool.connqAllAgeHead

The sum of pool member queue age head.

pool.connqAllAgeMax

The sum of pool member queue age all-time max.

pool.connqAllDepth

The sum of pool member depth.

pool.connqDepth

The queue depth.

pool.currentConnections

The current connections.

pool.enabled

The current enabled state, can be user defined. Options:

  • 0 = Disabled
  • 1 = Enabled

pool.inDataInBytes

The amount of data received from the BIG-IP pool, in bytes.

pool.minActiveMembers

Pool minimum active members.

pool.outDataInBytes

The amount of data sent to the BIG-IP pool, in bytes.

pool.packetsReceived

The number of packets received from the BIG-IP pool.

pool.packetsSent

The number of packets sent to the BIG-IP pool.

pool.requests

The total number of requests to the pool.

pool.statusReason

Textual property explaining the overall health reason.

Pool member sample metrics

These attributes can be found by querying the F5BigIpPoolMemberSample event type.

Metric

Description

member.availabilityState

The current availability from the BIG-IP system. Options:

  • 0 = Offline
  • 1 = Unknown
  • 2 = Online

member.connections

The current connections.

member.enabled

Enabled state of the pool member with regards to the parent pool. Options:

  • 0 = Disabled
  • 1 = Enabled

member.inDataInBytes

The amount of data received from the BIG-IP pool member, in bytes.

member.monitorStatus

The status of the monitor. Options:

  • 0 = Down
  • 1 = Unchecked
  • 2 = Any other status

member.outDataInBytes

The amount of data sent to the BIG-IP pool member, in bytes.

member.packetsReceived

The number of packets received from the BIG-IP pool member.

member.packetsSent

The number of packets sent to the BIG-IP pool member.

member.requests

The current number of requests over the last collection interval.

member.sessions

The current session count.

member.sessionStatus

The current session health status. Options:

  • 0 = Disabled
  • 1 = Enabled

member.state

The current state. Options:

  • 0 = Down
  • 1 = Up

member.statusReason

Explanation of the current status.

Node sample metrics

These attributes can be found by querying the F5BigIpNodeSample event type.

Metric

Description

node.availabilityState

The current BIG-IP availability state to the node. Options:

  • 0 = Offline
  • 1 = Unknown
  • 2 = Online

node.connections

The current number of network connections from BIG-IP.

node.connectionsPerSecond

The number of connections made per second.

node.enabled

The current BIG-IP enabled state. Options:

  • 0 = Disabled

  • 1 = Enabled

    ,

node.inDataInBytes

The amount of data received from the BIG-IP node, in bytes.

node.monitorStatus

The current health monitor rule status. Options:

  • 0 = Down
  • 1 = Unchecked
  • 2 = Any other status

node.outDataInBytes

The amount of data sent to the BIG-IP node, in bytes.

node.packetsReceived

The number of packets received from the BIG-IP node.

node.packetsSent

The number of packets sent to the BIG-IP node.

node.requests

The current number of requests over the last collection from BIG-IP.

node.sessions

The current number of sessions.

node.sessionStatus

The current status of the session. Options:

  • 0 = Disabled
  • 1 = Enabled

node.statusReason

BIG-IP reason for the current status.

Inventory data

The F5 BIG-IP integration also collects configuration data at system, application, pool, pool member, virtual server, and node levels.

The data is available on the Inventory page in the infrastructure UI, under the config/f5 source. For more about inventory data, see Understand integration data.

The integration captures data for the following F5 BIG-IP configuration parameters:

Check the source code

This integration is open source software. That means you can browse its source code and send improvements, or create your own fork and build it.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.