Question

I'm using Logstash and Kibana to draw line graphs of average response times per second from Apache logs.

This generally works well, but the graphs are heavily skewed by the occasional request that legitimately takes much (i.e. 100x) longer than the others. The nature of a "mean" average is such that it's hard to distinguish this from an overall general slowdown.

I've had the same problem using Cacti and rrdtool for another system, and found a better way than a simple line graph of response times, was for each second, to count responses into "buckets" of fixed duration (e.g. buckets of < 5ms, 5-20ms, 20-50ms, 50-100ms, 100-500ms, 500ms+) and then graph the percentage count of each bucket in a stacked area style.

Is anything like this possible with Kibana and Elasticsearch? I'm can't see a way to do that, but thought I'd check on here just in case I've missed something!

Was it helpful?

Solution

You can specify a query per range, e.g. something like response_time:[* TO 4], response_time:[5 TO 20], and so on.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top