-
Notifications
You must be signed in to change notification settings - Fork 23
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
Add virtualServers and clientSslProfiles labels to certain Telemetry Streaming metrics #257
Comments
Hi @barakbd and @Nachtfalkeaw, I'm the F5 solutions engineer working with Barak on their telemetry streaming initiatives. It appears there are two different requests in this github issue. 1.) First RequestWhen you define a custom endpoint that provides statistics per virtual server such as For example, that custom endpoint can help provide insight into bits per virtual server instead of global bits in/out (which can be very useful to identify which virtual servers have higher throughout) produces a metric like this:
The metric output is formatted in a way that is difficult to parse. The virtual server name
That way the metric could be natively graphed in prometheus/grafana as associated with virtual server 2.) Second RequestAdd labels for clientSslProfiles and virtualServers names to various metrics produced by clientSSL and HTTP profiles. To my knowledge, there is no data in TMOS that maps these things together that telemetry streaming could query. I suggest we focus on the first request as that seems within the scope of TS and immediately useful. Thanks! |
The metrics names should be the same if I query the same metrics than in default configuration. The reason for that is pretty simple. If I query all metrics every 5 seconds the CPUs are overloaded. However for very limited amout of values apolling interval of 5s is usefull e.g. CPU and memory. Other values like overall throughput there it is sufficient to poll every 15s and other things every 60s. software versions, hw version ist relevant only e.g. every 6hrs. So the idea of different Pull_Consumers is very good. However to use them the "Custom_Endpoints" must generate the same metric output than the default poll so that the metrics from different intervalls can be matched correctly - and not only matched correctly - they should be the same metric. if every Poller generates different metrics the result is duplicate metrics in Prometheus. The metrics from default poller for CPU and the metrics for CPU from Custom Endpoint. However - if it is not possible to generate the same metrics name than the different metrics should share the same label sets so that it is possible to merge different metrics based on the same labels - and hopefully the labels unique identify that they are the same. |
I can confirm this problem is also affecting me! Once I enable custom endpoints to filter out the results of the scrape (so I can avoid the CPU overload), the metrics get reported in a different pattern:
This also makes the process of finding which endpoints have the metrics I need pretty hard |
@megamattzilla This has become a blocker for using TS to observe the BigIPs using Prometheus as the metrics engine, mainly because, on the one hand, we can't enable the collection of all metrics without seeing a significant impact on CPU usage. On the other hand, we can't use the custom endpoint approach as the current output doesn't allow for proper label matching, filtering, etc. If we can't find a solution, we will be forced to use the snmp_exporter. I would gladly avoid that if possible, as it requires more configuration complexity. Do you have any status updates that can be shared? |
Hi @B0go, Please contact your F5 account team so they can contact us (the product management team). |
It would really helpful to simply allow TF metrics to have customized labels |
Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Add label:
virtualServers (currently has clientSslProfiles )
Add labels:
clientSslProfiles and virtualServers
Describe alternatives you've considered
Email from Matt Stovall:
By using the telemetry streaming custom endpoint /mgmt/tm/ltm/virtual/profiles/stats you can get the equivalent metrics per virtual server. They are not using a Prometheus label, but the name of the virtual server is added to the metric name.
Example output from TS Pull consumer endpoint:
Example for virtual server name https_multi_cert and clientSSL profile default_sni:
To get these to show up in TS output, you just need to define another custom endpoint in your telemetry streaming declaration. You already have a few custom endpoints defined:
If you wanted to show the VS names as a label instead of in the name- that would take a new telemetry streaming github request. We can submit GitHub requests here: https://github.com/F5Networks/f5-telemetry-streaming/issues
The text was updated successfully, but these errors were encountered: