文档中写道:“报告者:这标识了请求的报告者。如果报告来自服务器 Istio 代理,则设置为目标;如果报告来自客户端 Istio 代理或网关,则设置为源。'
但我不清楚。
我使用 istio_requests_total 指标来了解请求率。
sum(irate(istio_requests_total{app_kubernetes_io_name="$app", namespace="default",reporter="destination"}[$__rate_interval])) by (namespace,app_kubernetes_io_name,response_code)
这工作正常,但我不想忽略我的 Pod 上的运行状况检查请求,所以我想在我的查询中从“目的地”更改为“源”是否有意义。
source
和 destination
指的是您的统计数据来自电线的哪一侧。因此,如果您将其设置为 source
,它将报告所选工作负载发出的(出站)请求,而如果您选择 destination
,它将报告该所选工作负载收到的(入站)请求。
我认为在这里将
destination
更改为 source
是没有意义的,因为您不会测量工作负载的实际流量。
此外,kubelet 健康检查绕过 istio sidecar 并直接在每个 pod 的容器上工作。
例如,如果您的健康检查是由对等工作负载完成的,您可以使用 Istio 的维度(如下所示)来防止对这些传入请求进行计数。
source_app="productpage"
source_canonical_revision="v1"
source_canonical_service="productpage"