匯出指標 - AWS App Mesh

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

匯出指標

Envoy 在自己的操作以及入站和出站流量的各種維度上發出許多統計信息。要了解有關特使統計信息的更多信息,請參閱 Envoy 文檔中的統計信息。這些測量結果可透過 Proxy 的管理連接埠 (通常為) 上的/stats端點取得9901

根據您使用的是單個還是多個偵聽器,stat前綴將會有所不同。以下是一些示例來說明差異。

警告

如果您將單個偵聽器更新為多個偵聽器功能,則由於下表所示的更新後的 stat 前綴,您可能會面臨突破性更改。

我們建議您使用特使圖像1.22.2.1-prod或更高版本。這可讓您在 Prometheus 端點中看到類似的度量名稱。

單一接聽程式 (SL)/具有「輸入」偵聽程式前綴的現有統計資料 多個監聽器(ML)/帶有「入口的新統計信息。 <protocol>。 <port>"監聽器前置詞

http.*ingress*.rds.rds_ingress_http_5555.version_text

http.*ingress.http.5555*.rds.rds_ingress_http_5555.version_text

http.*ingress.http.6666*.rds.rds_ingress_http_6666.version_text

listener.0.0.0.0_15000.http.*ingress*.downstream_rq_2xx

listener.0.0.0.0_15000.http.*ingress.http.5555*.downstream_rq_2xx

listener.0.0.0.0_15000.http.*ingress.http.6666*.downstream_rq_2xx

http.*ingress*.downstream_cx_length_ms

http.*ingress.http.5555*.downstream_cx_length_ms

http.*ingress.http.6666*.downstream_cx_length_ms

如需有關統計資料端點的詳細資訊,請參閱 Envoy 文件中的統計資料端點。如需關於管理介面的詳細資訊,請參閱啟用特使代理管理介面

Prometheus App Mesh 與 Amazon EKS

Prometheus 是一種開放原始碼監控和警示工具組。它的功能之一是指定發出可供其他系統使用的指標的格式。如需有關 Prometheus 的詳細資訊,請參閱 Prometheus 文件中的概觀。Envoy 可以通過傳遞參數通過其統計終點發出其指標/stats?format=prometheus

對於使用特使映像版本 v1.22.2.1-prod 的客戶,還有兩個額外的維度可指示輸入接聽程式的特定統計資料:

  • appmesh.listener_protocol

  • appmesh.listener_port

以下是 Prometheus 現有統計數據與新統計數據的比較。

  • 具有「輸入」監聽器前綴的現有統計信息

    envoy_http_downstream_rq_xx{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_node="foodteller-vn",envoy_response_code_class="2",envoy_http_conn_manager_prefix="ingress"} 931433
  • 具有「入口」的新統計數據。 <protocol>。 <port>「+ 應用網格特使圖片 v1.22.2.1-產品或更高版本

    envoy_http_downstream_rq_xx{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_node="foodteller-vn",envoy_response_code_class="2",appmesh_listener_protocol="http",appmesh_listener_port="5555",envoy_http_conn_manager_prefix="ingress"} 20
  • 具有「入口」的新統計數據。 <protocol>。 <port>「+ 自定義特使圖像構建

    envoy_http_http_5555_downstream_rq_xx{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_node="foodteller-vn",envoy_response_code_class="2",envoy_http_conn_manager_prefix="ingress"} 15983

對於多個偵聽器,cds_ingress_<mesh name>_<virtual gateway name>_self_redirect_<ingress_listener_port>_<protocol>_<port>特殊群集將是監聽器特定的。

  • 具有「輸入」監聽器前綴的現有統計信息

    envoy_cluster_assignment_stale{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_gateway="tellergateway-vg",Mesh="multiple-listeners-mesh",VirtualGateway="tellergateway-vg",envoy_cluster_name="cds_ingress_multiple-listeners-mesh_tellergateway-vg_self_redirect_http_15001"} 0
  • 具有「入口」的新統計數據。 <protocol>。 <port>」

    envoy_cluster_assignment_stale{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_gateway="tellergateway-vg",envoy_cluster_name="cds_ingress_multiple-listeners-mesh_tellergateway-vg_self_redirect_1111_http_15001"} 0 envoy_cluster_assignment_stale{appmesh_mesh="multiple-listeners-mesh",appmesh_virtual_gateway="tellergateway-vg",envoy_cluster_name="cds_ingress_multiple-listeners-mesh_tellergateway-vg_self_redirect_2222_http_15001"} 0

安裝 Prometheus

  1. 將 EKS 存儲庫添加到頭盔:

    helm repo add eks https://aws.github.io/eks-charts
  2. 安裝 App Mesh theus App Prometheus

    helm upgrade -i appmesh-prometheus eks/appmesh-prometheus \ --namespace appmesh-system

Prometheus 範例

以下是建立 Prometheus 永久儲存的範例。PersistentVolumeClaim

helm upgrade -i appmesh-prometheus eks/appmesh-prometheus \ --namespace appmesh-system \ --set retention=12h \ --set persistentVolumeClaim.claimName=prometheus

使用 Prometheus 的演練

通過 Amazon EKS 了解有關 Prometheus 和 Prometheus 的更多信息

CloudWatch App Mesh

CloudWatch 從亞馬遜 EKS 發送特使統計信息

您可以將 CloudWatch 代理程式安裝到叢集,並將其設定為從 Proxy 收集指標子集。如果您還沒有 Amazon EKS 叢集,則可以使用逐步解說:開啟 Amazon EKS 的 App Mesh 中的步驟建立叢集 GitHub。您可以遵循相同的逐步解說,在叢集上安裝範例應用程式。

若要為叢集設定適當的 IAM 許可並安裝代理程式,請依照使用 Prometheus 指標集合安裝 CloudWatch 代理程式中的步驟執行。默認安裝包含一個 Prometheus 抓取配置,該配置可提取有用的特使統計數據子集。如需詳細資訊,請參閱 App Mesh 的 Prometheus 指標的 App Mesh 的指標。

若要建立設定為顯示代理程式正在收集的指標的 App Mesh 自訂 CloudWatch 儀表板,請依照檢視您的 Prometheus 指標教學課程中的步驟執行。當流量進入 App Mesh 應用程式時,您的圖形將開始填入對應的量度。

篩選指標 CloudWatch

App Mesh 度量延伸模組提供一系列有用的量度,可讓您深入瞭解您在網格中定義的資源行為。由於 CloudWatch代理支持抓取 Prometheus 指標,因此您可以提供抓取配置,以選擇要從特使中提取並發送到的指標 CloudWatch。

您可以在我們的指標擴展演練中找到使用 Prometheus 抓取指標的示例。

CloudWatch 範例

您可以在我AWS們的範例儲存庫 CloudWatch 中找到的範例組態。

使用逐步解說 CloudWatch

App Mesh 的 App Mesh 的 App Mesh

Envoy 生成數百個分解為幾個不同維度的指標。指標與應用程式網格相關的方式並不簡單。對於虛擬服務,沒有機制可以確定哪個虛擬服務正在與給定的虛擬節點或虛擬閘道進行通信。

App Mesh 度量擴充功能可增強在網狀中執行的 Envoy 代理。此增強功能可讓 Proxy 發出知道您所定義資源的其他度量。這一小部分的其他量度將有助於您更深入地了解您在 App Mesh 中定義的那些資源的行為。

若要啟用 App Mesh 度量延伸模組,請將環境變數設定APPMESH_METRIC_EXTENSION_VERSION1

APPMESH_METRIC_EXTENSION_VERSION=1

如需 Envoy 組態變數的詳細資訊,請參閱特使配置變量

與入站流量相關的指標

  • ActiveConnectionCount

    • envoy.appmesh.ActiveConnectionCount— 作用中 TCP 連線的數目。

    • 尺寸 — 網格, VirtualNode, VirtualGateway

  • NewConnectionCount

    • envoy.appmesh.NewConnectionCount— TCP 連線的總數。

    • 尺寸 — 網格, VirtualNode, VirtualGateway

  • ProcessedBytes

    • envoy.appmesh.ProcessedBytes— 從下游用戶端傳送和接收的 TCP 位元組總數。

    • 尺寸 — 網格, VirtualNode, VirtualGateway

  • RequestCount

    • envoy.appmesh.RequestCount— 已處理的 HTTP 要求數目。

    • 尺寸 — 網格, VirtualNode, VirtualGateway

  • GrpcRequestCount

    • envoy.appmesh.GrpcRequestCount— 已處理的 GPRC 請求數目。

    • 尺寸 — 網格, VirtualNode, VirtualGateway

與輸出流量相關的量度

根據輸出量度來自虛擬節點還是虛擬閘道,您會在輸出量度上看到不同的維度。

  • TargetProcessedBytes

    • envoy.appmesh.TargetProcessedBytes— 傳送至特使上游目標和接收的 TCP 位元組總數。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • HTTPCode_Target_2XX_Count

    • envoy.appmesh.HTTPCode_Target_2XX_Count— 發送給特使上游目標的 HTTP 要求數目,而產生 2xx HTTP 回應。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • HTTPCode_Target_3XX_Count

    • envoy.appmesh.HTTPCode_Target_3XX_Count— 發送給特使上游目標的 HTTP 要求數目,而產生了 3xx HTTP 回應。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • HTTPCode_Target_4XX_Count

    • envoy.appmesh.HTTPCode_Target_4XX_Count— 發送給特使上游目標的 HTTP 要求數目,而造成 4xx HTTP 回應。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • HTTPCode_Target_5XX_Count

    • envoy.appmesh.HTTPCode_Target_5XX_Count— 發送給特使上游目標的 HTTP 要求數目,而產生 5xx HTTP 回應。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • RequestCountPerTarget

    • envoy.appmesh.RequestCountPerTarget— 傳送至 Envoy 上游目標的要求數目。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

  • TargetResponseTime

    • envoy.appmesh.TargetResponseTime— 從對 Envoy 上游的目標發出請求到收到完整回應的時間。

    • 尺寸:

      • 虛擬節點尺寸 — 網格 VirtualNode,, TargetVirtualService, TargetVirtualNode

      • 虛擬閘道維度 — 網格 VirtualGateway、、 TargetVirtualService、 TargetVirtualNode

App Mesh

Datadog 是用於端對端監控、指標和雲端應用程式記錄的監控和安全應用程式。Datadog 讓您的基礎架構、應用程式和協力廠商應用程式完全可以觀察到。

安裝資料多格

  • EKS-要使用 EKS 設置數據多,請按照以下數據多文檔中的步驟進行操作。

  • ECS EC2-若要使用 ECS EC2 設定資料多,請依照資料多格文件中的下列步驟執行。

進一步了解 Datadog 的詳細資訊