使用Prometheus的平均请求持续时间

问题描述 投票:0回答:1

我已经在Kubernetes集群中部署了Istio Bookinfo应用程序。根据文档,我尝试使用以下查询来衡量平均请求持续时间:

rate(istio_request_duration_milliseconds_sum[1m]) / rate(istio_request_duration_milliseconds_count[1m])

此查询为我返回“加倍”的结果,即,对于每个请求,我得到两个结果,它们具有不同的Value但相同的sourcedestination,其中一个标记为reporter =“ source” ,另一个为reporter =“ destination”。我找不到任何澄清,也不清楚这些措施的工作方式。为什么我要返回两个值?

kubernetes prometheus istio duration latency
1个回答
0
投票

度量确实是从两个来源报告的,一次来自请求发送者,另一次来自请求接收者。这有点多余,但是在某些情况下,值会有所不同,尤其是对于请求持续时间:从请求发送者(reporter=source)开始,该持续时间代表整个请求等待时间(服务器处理时间+网络往返),而在请求接收者之间( reporter=destination),主要代表服务器处理时间。

在一些特殊情况下,没有冗余,并且度量标准仅报告一次(无论是从源还是从目标):例如当诸如故障注入或流量镜像之类的istio功能发挥作用时。

因此,在Prometheus中,您应始终使用{reporter="source"}{reporter="destination"}过滤所有查询。

© www.soinside.com 2019 - 2024. All rights reserved.