Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esportazione di parametri
Envoy emette molte statistiche sia sul proprio funzionamento che su varie dimensioni sul traffico in entrata e in uscita. Per ulteriori informazioni sulle statistiche di Envoy, consulta Statistiche/stats
endpoint sulla porta di amministrazione del proxy, che in genere è9901
.
Ilstat
prefisso sarà diverso a seconda che si utilizzino ascoltatori singoli o multipli. Di seguito sono riportati alcuni esempi per illustrare le differenze.
avvertimento
Se aggiorni il tuo listener singolo alla funzione multi-listener, potresti riscontrare un cambiamento radicale a causa del prefisso statistico aggiornato illustrato nella tabella seguente.
Ti consigliamo di utilizzare l'immagine di Envoy1.22.2.1-prod
o una versione successiva. Ciò consente di visualizzare nomi di metriche simili nell'endpoint Prometheus.
Single Listener (SL) /Statistiche esistenti con prefisso listener «ingress» | Ascoltatori multipli (ML) /Nuove statistiche con «ingresso». <protocol>. <port>"prefisso listener |
---|---|
|
|
|
|
|
|
Per ulteriori informazioni sull'endpoint stats, consulta l'endpoint Statistics
Prometheus per App Mesh con Amazon EKS
Prometheus è un kit di strumenti di monitoraggio e avvisi open source. Una delle sue funzionalità consiste nello specificare un formato per l'emissione di metriche che possono essere utilizzate da altri sistemi. Per ulteriori informazioni su Prometheus, consulta Panoramica/stats?format=prometheus
.
Per i clienti che utilizzano Envoy image build v1.22.2.1-prod, sono disponibili due dimensioni aggiuntive per indicare le statistiche specifiche del listener di ingresso:
-
appmesh.listener_protocol
-
appmesh.listener_port
Di seguito è riportato un confronto tra le statistiche esistenti di Prometheus e le nuove statistiche.
-
Statistiche esistenti con prefisso listener «ingress»
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
-
Nuove statistiche con «ingresso». <protocol>. <port>"+ Appmesh Envoy Image v1.22.2.1-prod o versione successiva
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
-
Nuove statistiche con «ingresso». <protocol>. <port>"+ Envoy Imagebuild personalizzato
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
Per più ascoltatori, il clustercds_ingress_<mesh name>_<virtual gateway
name>_self_redirect_<ingress_listener_port>_<protocol>_<port>
speciale sarà specifico per l'ascoltatore.
-
Statistiche esistenti con prefisso listener «ingress»
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
-
Nuove statistiche con «ingresso». <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
Installazione di Prometheus
-
Aggiungi il repository EKS a Helm:
helm repo add eks https://aws.github.io/eks-charts
-
Installazione di App Mesh Prometheus
helm upgrade -i appmesh-prometheus eks/appmesh-prometheus \ --namespace appmesh-system
Esempio di Prometheus
Di seguito è riportato un esempio di creazione di un archivio persistentePersistentVolumeClaim
per Prometheus.
helm upgrade -i appmesh-prometheus eks/appmesh-prometheus \ --namespace appmesh-system \ --set retention=12h \ --set persistentVolumeClaim.claimName=prometheus
Procedura dettagliata per l'utilizzo di Prometheus
Per saperne di più su Prometheus e Prometheus con Amazon EKS
CloudWatch per App Mesh
Emissione delle statistiche di Envoy CloudWatch da Amazon EKS
Puoi installare l' CloudWatch agente nel tuo cluster e configurarlo per raccogliere un sottoinsieme di metriche dai tuoi proxy. Se non disponi già di un cluster Amazon EKS, puoi crearne uno seguendo la procedura descritta in Walkthrough: App Mesh with Amazon EKS
Per impostare le autorizzazioni IAM appropriate per il cluster e installare l'agente, segui i passaggi in Installare l' CloudWatch agente con Prometheus Metrics Collection. L'installazione predefinita contiene una configurazione di scrape di Prometheus che estrae un utile sottoinsieme di statistiche di Envoy. Per ulteriori informazioni, consulta Prometheus Parametri per App Mesh.
Per creare una CloudWatch dashboard personalizzata di App Mesh configurata per visualizzare le metriche che l'agente sta raccogliendo, segui i passaggi del tutorial Visualizzazione delle metriche di Prometheus. I grafici inizieranno a essere compilati con le metriche corrispondenti non appena il traffico entra nell'applicazione App Mesh.
Applicazione di filtri ai parametri per CloudWatch
L'estensione delle metriche App Mesh fornisce un sottoinsieme di metriche utili che forniscono informazioni sul comportamento delle risorse che definisci nella tua mesh. Poiché l' CloudWatchagente supporta lo scraping delle metriche di Prometheus, puoi fornire una configurazione di scrape per selezionare le metriche che desideri estrarre da Envoy e inviarle CloudWatch.
Puoi trovare un esempio di metriche di scraping utilizzando Prometheus nella nostra guida dettagliata di Metrics Extension
CloudWatch Esempio
Puoi trovare una configurazione di esempio di CloudWatch nel nostro archivio diAWS campioni
Procedure dettagliate per l'utilizzo CloudWatch
Estensione dei parametri per App Mesh
Envoy genera centinaia di metriche suddivise in alcune dimensioni diverse. Le metriche non sono semplici nel modo in cui si riferiscono ad App Mesh. Nel caso dei servizi virtuali, non esiste alcun meccanismo per sapere con certezza quale servizio virtuale sta comunicando con un determinato nodo virtuale o gateway virtuale.
L'estensione delle metriche App Mesh migliora i proxy Envoy in esecuzione nella tua mesh. Questo miglioramento consente ai proxy di emettere metriche aggiuntive che sono consapevoli delle risorse definite. Questo piccolo sottoinsieme di metriche aggiuntive ti aiuterà a comprendere meglio il comportamento delle risorse che hai definito in App Mesh.
Per abilitare l'estensione delle metriche App Mesh, imposta la variabileAPPMESH_METRIC_EXTENSION_VERSION
di ambiente su1
.
APPMESH_METRIC_EXTENSION_VERSION=1
Per ulteriori informazioni sulle variabili di configurazione Envoy, consultaVariabili di configurazione di Envoy.
Metriche relative al traffico in entrata
-
ActiveConnectionCount
-
envoy.appmesh.ActiveConnectionCount
— Numero di connessioni TCP attive. -
Dimensioni: maglia VirtualNode, VirtualGateway
-
-
NewConnectionCount
-
envoy.appmesh.NewConnectionCount
— Numero totale di connessioni TCP. -
Dimensioni: maglia VirtualNode, VirtualGateway
-
-
ProcessedBytes
-
envoy.appmesh.ProcessedBytes
— Byte TCP totali inviati e ricevuti dai client downstream. -
Dimensioni: maglia VirtualNode, VirtualGateway
-
-
RequestCount
-
envoy.appmesh.RequestCount
— Il numero di richieste HTTP elaborate. -
Dimensioni: maglia VirtualNode, VirtualGateway
-
-
GrpcRequestCount
-
envoy.appmesh.GrpcRequestCount
— Il numero di richieste GPrC elaborate. -
Dimensioni: maglia VirtualNode, VirtualGateway
-
Metriche relative al traffico in uscita
Vedrai dimensioni diverse nelle metriche in uscita in base al fatto che provengano da un nodo virtuale o da un gateway virtuale.
-
TargetProcessedBytes
-
envoy.appmesh.TargetProcessedBytes
— Byte TCP totali inviati e ricevuti da destinazioni a monte di Envoy. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
HTTPCode_Target_2XX_Count
-
envoy.appmesh.HTTPCode_Target_2XX_Count
— Il numero di richieste HTTP indirizzate a un target a monte di Envoy che hanno prodotto una risposta HTTP 2xx. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
HTTPCode_Target_3XX_Count
-
envoy.appmesh.HTTPCode_Target_3XX_Count
— Il numero di richieste HTTP indirizzate a un target a monte di Envoy che hanno portato a una risposta HTTP 3xx. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
HTTPCode_Target_4XX_Count
-
envoy.appmesh.HTTPCode_Target_4XX_Count
— Il numero di richieste HTTP indirizzate a un target a monte di Envoy che hanno prodotto una risposta HTTP 4xx. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
HTTPCode_Target_5XX_Count
-
envoy.appmesh.HTTPCode_Target_5XX_Count
— Il numero di richieste HTTP indirizzate a un target a monte di Envoy che hanno prodotto una risposta HTTP 5xx. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
RequestCountPerTarget
-
envoy.appmesh.RequestCountPerTarget
— Il numero di richieste inviate a un target a monte di Envoy. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
-
TargetResponseTime
-
envoy.appmesh.TargetResponseTime
— Il tempo trascorso da quando viene effettuata una richiesta a un target a monte di Envoy a quando viene ricevuta la risposta completa. -
Dimensioni:
-
Dimensioni del nodo virtuale: mesh, VirtualNode, TargetVirtualService, TargetVirtualNode
-
Dimensioni del gateway virtuale: Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode
-
-
Datadog per App Mesh
Datadog è un'applicazione di monitoraggio e sicurezza per il monitoraggio completo, le metriche e la registrazione delle applicazioni cloud. Datadog rende l'infrastruttura, le applicazioni e le applicazioni di terze parti completamente osservabili.
Installazione di Datadog
-
EKS - Per configurare Datadog con EKS, segui questi passaggi dai documenti Datadog
. -
ECS EC2 - Per configurare Datadog con ECS EC2, segui questi passaggi dai documenti Datadog
.