Hi Team,
We are working on creating Application Networking Kibana Panels based on the following raw data:
# HELP http_request_duration_seconds Request duration histogram
# TYPE http_request_duration_seconds histogram
http_request_duration_seconds_bucket{le="0.1"} 2
http_request_duration_seconds_bucket{le="0.5"} 5
http_request_duration_seconds_bucket{le="1"} 8
http_request_duration_seconds_bucket{le="5"} 9
http_request_duration_seconds_bucket{le="+Inf"} 10
http_request_duration_seconds_sum 23.8
http_request_duration_seconds_count 10
In Grafana, using PromQL, we calculate the 99th percentile of request durations (for successful requests with status code 200) using the following query:
histogram_quantile(0.99, sum(rate(http_request_duration_seconds_bucket{status="200"}[5m])) by (le))
In Kibana, I attempted the following configuration:
- Vertical axis:
percentile(prometheus.istio_request_duration_milliseconds.histogram, percentile=95)
- Time interval:
@timestamp
bucketed to 5 minutes
However, the data results do not align with what we observe in Grafana.
Questions:
- What is the equivalent KQL query or approach in Kibana to replicate the above Grafana PromQL functionality?
- Are there additional steps or configurations required to ensure data alignment between Kibana and Grafana results?
- Is there any elastic reference documentation similar to this guide?
Your guidance on these points will be greatly appreciated.
Thanks