Welcome to F5 Telemetry Streaming with Prometheus & Grafana lab guide

Lab goals:

  • Demonstrate Robust F5 BIG-IP visibility and metrics for F5 BIGIP using F5 Telemetry Streaming with Prometheus & Grafana.

Other goals:

  • Leverage DevOps tools and Declarative APIs
  • Demonstrate deploying a Telemetry Streaming Pull Target configuration via F5 Automation Toolchain API

Demo readiness:

  • This guide will walk you through the steps for setting up the Telemetry Streaming target. However, the UDF also is ready to use as a dashboard “demo” environment upon startup. Skip directly to Module 4 to explore the Grafana Dashboard capabilities.
TS Prometheus Grafana diagram

Section 1 - Using DevOps tools

Goals:

  • Become familair with VS Code
  • Connect the F5 VS Code Extension to the BIG-IP instance

Steps:

  • Access VS Code (web edition) in your UDF by going to: Components > “Client & Prometheus” System Component > Access > VS Code
VS Code in UDF
  • In VS Code, click the F5 Extension icon to the the Extension view. Verify that a host (F5 device) has already been added named “admin@10.1.1.7” and click on the name to connect.
  • Enter the password in the prompt (see the Details sections for the BIG-IP in UDF for the password). You are now connected to the device.
VS Code add host

Section 2 - Send a Telemetry Streaming Declaration

Goals:

  • Send a TS declaration to configure a TS Pull consumer target
  • Verify success and view metrics available

Steps:

  • Create a new file: in VS Code, click the hamburger icon (3 lines icon) > select “File” > select “New File”.
VS Code new file
  • Copy the follow TS declaration and paste it to the new file window:
{
    "class": "Telemetry",
    "My_Poller": {
        "class": "Telemetry_System_Poller",
        "interval": 0
    },
    "My_System": {
        "class": "Telemetry_System",
        "enable": "true",
        "systemPoller": [
            "My_Poller"
        ]
    },
    "metrics": {
        "class": "Telemetry_Pull_Consumer",
        "type": "Prometheus",
        "systemPoller": "My_Poller"
    }
}
  • Right-click the pasted JSON and select “Post as TS Declaration”:
VS Code ts
  • Upon successful post of the declaration, a response from the system will appear as a new file. Verify a “success” message value. You have now successfully posted the TS declaration to create a Pull target consumer on the BIG-IP.
VS Code Response

Section 3 - Verify available Metrics

Goals:

  • Verify the available metrics that will be pulled via Prometheus and Grafana

Steps:

  • In VS Code, open this file named “get-all-ts-pull-metrics.http” already saved in the VS Code system instance. The REST-Client Extension is installed in the UDF’s VS Code which we will be used to verify the TS metrics.
open rest file
  • Click the “Send Request” button about the GET request. A JSON respose from the TS Pull Consumer end-point will return. This is the list of metrics that will be made availbe to the Prometheus consumer.
send request rest
  • A response from the API call will appear. This is a raw output of the pull consumer you just created that will be pulled by Prometheus & Grafana.
full list of metrics

Section 4 - Viewing TS Metrics on Prometheus/Grafana

Goals:

  • View the F5 TS metrics on the Prometheus & Grafana platform

Steps:

  • Verify the target has been setup in Prometheus. Open Firebox in UDF”
open rest file
  • WIP

Note

For any comments or questions, please send a Teams chat to Gee Chow.