Forum Discussion

Nishal_Rai's avatar
Nishal_Rai
Icon for Cirrocumulus rankCirrocumulus
Aug 27, 2022

02 - Visualization of F5 BIG-IP metrics on Grafana using Prometheus and Telemetry Streaming service

Configuration using CLI of F5 BIG-IP device

Following steps for the configuration of telemetry streaming consumer target using CLI of F5 BIG-IP device are discussed below:

Once you have accessed your F5 BIG-IP device CLI terminal then access either your default admin credentials or the new user you’ve recently created on the above section. Then execute the following commands on the terminal:

On the username and password section, you either enter your default admin credentials or the new user you’ve recently created has the administrator privilege.

curl -u username:password -k https://localhost/mgmt/shared/telemetry/declare

 

Note:

-k, --insecure

to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless -k, --insecure is used.

 

ChangChange into tmp directory and create a file called ts-config.json and I am using vi editor for it.  

cd /tmp

vi ts-config.json

 

 

Paste the Telemetry Streaming declaration and then save the file and exit the vi editor.

{

    "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"

    }

}

 

 

Then execute the following command on the terminal on the same directory /tmp and change the username and password section with your F5 BIG-IP device credentials having the administrator privilege.

curl -X POST -u username:password -k https://localhost/mgmt/shared/telemetry/declare -d @ts-config.json -H “content-type:application/json”

 

 

 

To verify the available metrics

curl -u username:password -k https://localhost/mgmt/shared/telemetry/pullconsumer/metrics

 

 

Section III: Configuration of Prometheus

Once the telemetry streaming service has been successfully configured and the metrics are available on the path. We need to configure Prometheus in order to scrape the metrics data on the predefined path. The following are the steps to configure the Prometheus:

Note: On this user-guide demonstration, both Grafana and Prometheus are installed on the same host with different service ports as mentioned earlier. CentOS 7 is used as the OS for this host machine and you may have different syntax to view the following status check.

 

First, check the status of the Prometheus

sudo systemctl status prometheus.service

 

View the current working directory and change into /etc/prometheus

pwd

cd /etc/prometheus

ls -al

 

global:

  scrape_interval: 10s

 

scrape_configs:

  - job_name: 'TelemetryStreaming'

    scrape_timeout: 30s

    scrape_interval: 30s

    scheme: https

 

    tls_config:

     insecure_skip_verify: true

 

    metrics_path: '/mgmt/shared/telemetry/pullconsumer/metrics'

    basic_auth:

     username: 'F5-BIG-IP-username'

     password: 'F5-BIG-IP-password'

    static_configs:

      - targets: ['BIGIP-managementIP:443']

 

 

 

Then restart the Prometheus service and check the status of the Prometheus service.

sudo systemctl restart prometheus.service

sudo systemctl status prometheus.service

 

Note: If the configuration is correct, then the Prometheus service will be enabled otherwise, the status of the Prometheus service will be disabled.

 

To further verify whether instances has been discovered on the Prometheus:

-   Go to http://prometheus-ip:service/port

 

-   Click on the Status option and select the Target option

 

 

Section IV: Configuration on Grafana using Prometheus as a data source

In this section, we need to connect Prometheus as a data source on Grafana

 

Once the data source has been successfully configured on Grafna then Create a new dashboard and select Prometheus as the data source then select the relevant metrics and change the refresh interval as required. Save and apply the panel. Then, Save the dashboard and view the metrics on the Grafana dashboard.

 

 

The possible issue that can arise during the configuration

If you use the default TS declare from the official telemetry streaming document website then you may fail to view the available metrics on the mentioned link:

https://<f5-management-ip>/mgmt/shared/telemetry/pullconsumer/metrics

3 Replies

Replies have been turned off for this discussion