-
Issue: I am trying to visualize API response times in percentiles using Prometheus histogram data stored in Elasticsearch. Despite sending data from Prometheus to Elasticsearch, I am encountering difficulties in creating meaningful visualizations.
Kibana Version: 8.4.3 -
Approach:
-
I am using Prometheus to collect histogram data (
api_response_time_bucket
). -
Data is then exported to Elasticsearch for storage and visualization in Kibana.
-
Response times are stored in cumulative buckets using the
le
(less than or equal) operator in Prometheus. -
Challenge: I am unsure about the correct approach to extract and visualize percentiles (like 90th percentile) from histogram data stored in Elasticsearch.
-
Desired Outcome: My goal is to create Kibana visualizations that show percentile response times over time, segmented by API endpoints.
-
Could anyone provide guidance on how to properly extract percentile metrics from Prometheus histogram data stored in Elasticsearch, particularly when using cumulative buckets with the
le
operator? -
Any examples, suggestions or alternative approach on setting up Kibana visualizations for percentile API response times would be greatly appreciated.
api_response_time_bucket{endpoint="/ep1", le="10"} 5
api_response_time_bucket{endpoint="/ep1", le="25"} 5
api_response_time_bucket{endpoint="/ep1", le="50"} 15
api_response_time_bucket{endpoint="/ep1", le="100"} 15
api_response_time_bucket{endpoint="/ep1", le="1000"} 15
api_response_time_bucket{endpoint="/ep1", le="+Inf"} 15