Jac*_*kie 5 duration latency kubernetes prometheus istio
我已在 Kubernetes 集群中部署了 Istio Bookinfo 应用程序。根据文档,我尝试使用以下查询来测量平均请求持续时间:
rate(istio_request_duration_milliseconds_sum[1m]) / rate(istio_request_duration_milliseconds_count[1m])
Run Code Online (Sandbox Code Playgroud)
此查询返回“双倍”结果,即对于每个请求,我得到两个结果,具有不同的值,但源和目标相同,一个标记为reporter=“source”,另一个标记为reporter=“destination”。我无法找到任何相关说明,也不清楚这些措施是如何运作的。为什么我返回两个值?
这些指标确实是从两个来源报告的,一次来自请求发送者,另一个来自请求接收者。这有点多余,但在某些情况下,值会有所不同,特别是对于请求持续时间:来自请求发送者(reporter=source
reporter=destination
) 来看,持续时间代表整个请求延迟(服务器处理时间 + 网络往返时间) ,而从请求接收方 ( )来看,持续时间代表整个请求延迟(服务器处理时间 + 网络往返时间)主要代表服务器处理时间。
在一些特殊情况下,没有冗余,指标仅报告一次(无论是来自源还是来自目的地):例如,当故障注入或流量镜像等 Istio 功能发挥作用时。
因此,在 Prometheus 中,您应该始终使用 或 来过滤所有{reporter="source"}
查询{reporter="destination"}
。
归档时间: |
|
查看次数: |
6664 次 |
最近记录: |