Kubernetes 是“Istio公制”;istio“请求总数”;已送达的请求数?

Kubernetes 是“Istio公制”;istio“请求总数”;已送达的请求数?,kubernetes,metrics,istio,Kubernetes,Metrics,Istio,Istio有几个默认指标,例如Istio\u请求\u总数,Istio\u请求\u字节,Istio\u tcp\u连接\u打开的总数。Istio特使代理计算并公开这些指标。在上,它显示,istio\u requests\u total对于由istio代理处理的每个请求都是递增的计数器 我们做了一些实验,让许多请求通过Istio特使到达Istio特使后面的微服务,同时我们监控Istio特使的度量。但是,我们发现,istio_requests_total不包括通过istio-embasic发送到后端微

Istio有几个默认指标,例如
Istio\u请求\u总数
Istio\u请求\u字节
Istio\u tcp\u连接\u打开的总数
。Istio特使代理计算并公开这些指标。在上,它显示,
istio\u requests\u total
对于由istio代理处理的每个请求都是递增的计数器

我们做了一些实验,让许多请求通过Istio特使到达Istio特使后面的微服务,同时我们监控Istio特使的度量。但是,我们发现,
istio_requests_total
不包括通过istio-embasic发送到后端微服务的请求,但其响应尚未从后端微服务发送到istio-embasic。换句话说,
istio\u requests\u total
只包括已服务请求的数量,不包括飞行中的请求

我的问题是:我们的观察正确吗?为什么
istio\u requests\u total
不包括飞行中的请求?

如前所述

默认指标是关于HTTP、gRPC和TCP请求和响应的标准信息。每个请求都由源代理和目标代理报告,它们可以提供不同的流量视图。某些请求可能不会由目标报告(如果请求根本没有到达目标),但某些标签(如连接\安全\策略)仅在目标端可用。以下是一些最重要的HTTP指标:

istio\u requests\u total是一个计数器,用于聚合Kubernetes工作负载之间的请求总数,并根据响应代码、响应标志和安全策略对其进行分组。


如上所述

当Mixer从特使处收集度量时,它分配下游后端可用于分组和筛选的维度。在Istio的默认配置中,维度包括指示请求在集群中移动的位置的属性,例如源和目标服务的名称。这使您可以查看集群中任何位置的流量


要监视的指标:请求总数

请求计数指标指示网格中服务之间请求的总吞吐量,并在特使侧车收到HTTP或gRPC请求时递增。您可以通过源站和目标服务跟踪此度量。如果一个服务和另一个服务之间的请求数量急剧下降,则源站停止发送请求,或者目标站无法处理这些请求。在这种情况下,您应该检查Pilot(在服务之间路由流量的Istio组件)中是否存在配置错误。如果需求增加,您可以将此指标与资源指标(如CPU利用率)的增加相关联,并确保您的系统资源得到正确的扩展


也许有必要检查一下特使的文件,因为上面写的是什么

上面的查询使用istio_requests_total度量,这是一个标准的istio度量。您可以观察其他指标,特别是特使的指标(特使是Istio的侧车代理)。您可以在“在光标处插入度量”下拉菜单中查看收集的度量


基于上述文件,我同意@Joel在评论中提到的观点


我想你是对的,我想“为什么”是因为预期在度量标签上会找到响应标志只有在收到响应时才能写入此项。如果他们想做不同的事情,我想这意味着有两个不同的计数器,一个用于发送请求,一个用于接收响应


我想你是对的,我想“为什么”是因为预期在度量标签上会找到响应标志。只有在收到响应时,才能写入此消息。如果他们想做不同的事情,我想这意味着有两个不同的计数器,一个用于发送请求,一个用于接收响应。