Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to retrieve all related values by sending one polling query #261

Open
f5minions opened this issue Aug 7, 2023 · 2 comments
Open

How to retrieve all related values by sending one polling query #261

f5minions opened this issue Aug 7, 2023 · 2 comments
Labels
bug Something isn't working untriaged Issue needs to be reviewed for validity

Comments

@f5minions
Copy link

Environment

  • Telemetry Streaming Version:
    {
    "nodeVersion": "v8.11.1",
    "version": "1.33.0",
    "release": "1",
    "schemaCurrent": "1.33.0",
    "schemaMinimum": "0.9.0"
    }

  • BIG-IP Version:

Sys::Version
Main Package
Product BIG-IP
Version 16.1.2.2
Build 0.0.28
Edition Point Release 2
Date Thu Apr 7 13:32:41 PDT 2022

Summary

Actually, I don't know below issue is bug or not.

there is some of different mechanism between "system default" vs "custom endpoint". In case of using "system default" we can get below information,
for example, for the "f5_serverside_curConns" metric,
f5_serverside_curConns{pools="/Common/adid-hadoop-rm_80"} 0
f5_serverside_curConns{pools="/Common/adid-hadoop-rm_80",members="/Common/10.60.64.167:80"} 0
f5_serverside_curConns{pools="/Common/adid-hadoop-rm_80",members="/Common/10.60.64.216:80"} 0
f5_serverside_curConns{pools="/Common/adid-hadoop-rm_443"} 0
f5_serverside_curConns{pools="/Common/adid-hadoop-rm_443",members="/Common/10.60.64.167:443"} 0

by this query, we can get all pool members "serverside_curConns" information. but if we use custom endpoint such as interface/stat then only retrieve one by one, not like as above serverside_curConns. In that case, customer need to define each metrics on grafana to get graph.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
    "class": "Telemetry",
    "controls": {
        "class":"Controls",
        "logLevel":"info"
    },

    "My_System": {
        "class": "Telemetry_System",
        "enable": "true",
        "systemPoller": [
            "My_Poller"
        ]
    },

    "Custom_System": {
        "class": "Telemetry_System",
        "systemPoller": [
            "Custom_System_Poller",
            {
                "interval": 0
            }
        ]
    },

    "My_Poller": {
        "class": "Telemetry_System_Poller",
        "interval": 0
    },

    "Endpoints_Custom": {
        "class": "Telemetry_Endpoints",
        "items": {
            "system": {
                "path": "/mgmt/tm/sys/global-settings?$select=hostname",
                "name": "hostname"
            }
        }
    },

    "Endpoints_Interface": {
        "class": "Telemetry_Endpoints",
        "items": {
            "interface": {
                "path": "/mgmt/tm/net/interface/stats"

            }
        }   
    },

    "Custom_System_Poller": {
        "class": "Telemetry_System_Poller",
        "interval": 0,
        "endpointList": [
            "Endpoints_Custom",
            "Endpoints_Interface"
        ]
    },

    "metrics": {
        "class": "Telemetry_Pull_Consumer",
        "type": "Prometheus",
        "systemPoller": [
            "My_Poller",
            "Custom_System_Poller"
        ]
    }
}

Expected Behavior

I expect other custom endpoint declaration also need to retrieve all related values(objects) by sending one ts query such as above "f5_serverside_curConns" metric. In my case, I used "/mgmt/tm/net/interface/stats" metric to get all interfaces's stats information but i need to send one by one to get all interfaces.

It's too difficult to display these statistics on grafana dashboard. I need to define each interfaces query to get all device's interface stats information.

Actual Behavior

could you check this is issue or bug? or it's our expected behavior? if that is expected behavior, how we can improve it? any declaration sample to all informations by sending one query?

@f5minions f5minions added bug Something isn't working untriaged Issue needs to be reviewed for validity labels Aug 7, 2023
@Nachtfalkeaw
Copy link

I can confirm this issue. It is with v1.33.0 and v1.34.0.

The metrics formatting is different from "Default" and "Custom" metrics.
Instead of creating

metricsname{labels:values} value

like the Default does the custom metric creates a a comination of metricname and label.

metricsname_labelname_1{} value
metricsname_labelname_2{} value
metricsname_labelname_3{} value

This is a bug I think in the formatting.

Expected behaviour:
If I use the Default System the metric format should be exactly the same as if I poll the same information via a custom endpoint.
For prometheus Pull consumer this is not the case.

@G-gonzalezjimenez
Copy link

Hi, thanks for the information. This is by design.

F5 BIG-IP Telemetry Streaming was moved to a phase of ongoing maintenance and support at the beginning of last year.

This means the following:

A product in maintenance mode continues to receive support and ensures its stability with regular critical fixes and security updates. This maintenance approach helps maintain the longevity and reliability of the product for the long term. Enhancement requests for this product will be evaluated on an individual basis, taking into consideration their overall impact and alignment with our business objectives.

Only those with a strong case for improvement will be considered for implementation. Please contact your sales representative for more information about this process.

There is no plan to deprecate this product.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working untriaged Issue needs to be reviewed for validity
Projects
None yet
Development

No branches or pull requests

3 participants