簡體   English   中英

Istio 指標“istio_requests_total”是服務請求的數量嗎?

[英]Is the Istio metric “istio_requests_total” the number of served requests?

Istio 有幾個默認指標,例如istio_requests_totalistio_request_bytesistio_tcp_connections_opened_total Istio 特使代理計算並公開這些指標。 Istio 網站上,它顯示istio_requests_total是一個針對 Istio 代理處理的每個請求遞增的 COUNTER。

我們做了一些實驗,讓大量請求 go 通過 Istio envoy 到達 Istio envoy 背后的微服務,同時我們監控來自 Istio envoy 的指標。 但是,我們發現istio_requests_total不包括通過 Istio envoy 到達后端微服務但其響應尚未從后端微服務到達 Istio envoy 的請求。 換句話說, istio_requests_total只包括服務請求的數量,不包括正在運行的請求。

我的問題是:我們的觀察是否正確? 為什么istio_requests_total不包括正在進行的請求?

正如這里提到的

默認指標是關於 HTTP、gRPC 和 TCP 請求和響應的標准信息。 每個請求都由源代理和目標代理報告,它們可以提供不同的流量視圖。 某些請求可能不會被目的地報告(如果請求根本沒有到達目的地),但某些標簽(如 connection_security_policy)僅在目的地端可用。 以下是一些最重要的 HTTP 指標:

istio_requests_total 是一個 COUNTER,它匯總了 Kubernetes 工作負載之間的請求總數,並按響應代碼、響應標志和安全策略對它們進行分組。


正如這里提到的

當 Mixer 從 Envoy 收集指標時,它會分配下游后端可用於分組和過濾的維度。 在 Istio 的默認配置中,維度包括指示請求在集群中傳輸的位置的屬性,例如源服務的名稱和目標服務的名稱。 這使您可以查看集群中任何位置的流量。


要觀察的指標:requests_total

請求計數指標表示網格中服務之間請求的總體吞吐量,並且每當 Envoy sidecar 收到 HTTP 或 gRPC 請求時都會增加。 您可以按起點和終點服務跟蹤此指標。 如果一個服務和另一個服務之間的請求數量急劇下降,則源端已停止發送請求或目標端未能處理它們。 在這種情況下,您應該檢查 Pilot 中的錯誤配置,Pilot 是在服務之間路由流量的 Istio 組件。 如果需求增加,您可以將此指標與 CPU 利用率等資源指標的增加相關聯,並確保您的系統資源得到正確擴展。


也許值得檢查一下特使文檔,因為 這里寫的是什么

上面的查詢使用 istio_requests_total 指標,這是一個標准的 Istio 指標。 您可以觀察其他指標,特別是 Envoy 的指標(Envoy 是 Istio 的 sidecar 代理)。 您可以在 cursor 下拉菜單中的插入指標中查看收集的指標。


基於上述文檔,我同意@Joel 在評論中提到的內容

我認為你是正確的,我想“為什么”是因為預計會在指標標簽上找到響應標志。 這只能在收到響應時寫入 如果他們想做不同的事情,我想這意味着有 2 個不同的計數器,一個用於發送請求,一個用於接收響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM