Como exportar métricas - AWS App Mesh

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como exportar métricas

Importante

Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog Migrando do AWS App Mesh Amazon ECS Service Connect.

O Envoy emite muitas estatísticas sobre sua própria operação e sobre várias dimensões do tráfego de entrada e saída. Para saber mais sobre as estatísticas do Envoy, consulte Estatísticas na documentação do Envoy. Essas métricas estão disponíveis por meio do endpoint /stats na porta de administração do proxy, o que normalmente é 9901.

O prefixo stat será diferente dependendo se você estiver usando um ou vários receptores. Abaixo estão alguns exemplos para ilustrar as diferenças.

Atenção

Se você atualizar seu único receptor para o atributo de vários receptores, poderá enfrentar uma alteração significativa devido ao prefixo estatístico atualizado ilustrado na tabela a seguir.

Sugerimos que você use a imagem do Envoy 1.22.2.1-prod ou posterior. Isso permite que você veja nomes de métricas semelhantes em seu endpoint Prometheus.

Receptor único (SL)/Estatísticas existentes com o prefixo de receptor "ingress" Vários receptores (ML)/Novas estatísticas com prefixo do receptor "ingress.<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

Para mais informações sobre o endpoint de estatísticas, consulte Estatísticas de endpoint na documentação do Envoy. Para mais informações sobre a interface de administração, consulte Ativar a interface de administração do proxy Envoy.

Prometheus para App Mesh com Amazon EKS

Importante

Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog Migrando do AWS App Mesh Amazon ECS Service Connect.

O Prometheus é um toolkit de código aberto para alertas e monitoramento. Um de seus recursos é especificar um formato para emissão de métricas que possam ser consumidas por outros sistemas. Para mais informações sobre o Prometheus, consulte Visão geral na documentação do Prometheus. O Envoy pode emitir suas métricas por meio de seu endpoint de estatísticas passando pelo parâmetro /stats?format=prometheus.

Para clientes que estão usando a imagem do Envoy compilação v1.22.2.1-prod, há duas dimensões adicionais para indicar estatísticas específicas do receptor de entrada:

  • appmesh.listener_protocol

  • appmesh.listener_port

Abaixo está uma comparação entre as estatísticas existentes do Prometheus e as novas estatísticas.

  • Estatísticas existentes com o prefixo de receptor "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
  • Novas estatísticas com "ingress.<protocol>.<port>" + Imagem Appmesh Envoy v1.22.2.1-prod ou posterior

    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
  • Novas estatísticas com "ingress.<protocol>.<port>" + imagem de compilação personalizada do Envoy

    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

Para vários receptores, o cluster especial cds_ingress_<mesh name>_<virtual gateway name>_self_redirect_<ingress_listener_port>_<protocol>_<port> será específico do receptor.

  • Estatísticas existentes com o prefixo de receptor "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
  • Novas estatísticas com "ingress.<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

Como instalar o Prometheus

  1. Adicione o EKS repositório ao Helm:

    helm repo add eks https://aws.github.io/eks-charts
  2. Instale o App Mesh Prometheus

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

Exemplo de Prometheus

Veja a seguir um exemplo de criação de uma PersistentVolumeClaim para armazenamento persistente do Prometheus.

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

Tutorial para usar o Prometheus

Para saber mais sobre Prometheus e Prometheus com a Amazon EKS

CloudWatch para App Mesh

Importante

Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog Migrando do AWS App Mesh Amazon ECS Service Connect.

Emitindo estatísticas do Envoy para a Amazon CloudWatch EKS

Você pode instalar o CloudWatch Agente em seu cluster e configurá-lo para coletar um subconjunto de métricas de seus proxies. Se você ainda não tem um EKS cluster da Amazon, pode criar um com as etapas em Walkthrough: App Mesh with Amazon EKS on. GitHub Você pode instalar um aplicativo de amostra no cluster seguindo o mesmo passo a passo.

Para definir as IAM permissões apropriadas para seu cluster e instalar o agente, siga as etapas em Instalar o CloudWatch agente com a coleção de métricas do Prometheus. A instalação padrão contém uma configuração de extração do Prometheus que extrai um subconjunto útil das estatísticas do Envoy. Para obter mais informações, consulte Métricas do Prometheus para o App Mesh.

Para criar um CloudWatch painel personalizado do App Mesh configurado para exibir as métricas que o agente está coletando, siga as etapas no tutorial Visualizando suas métricas do Prometheus. Seus gráficos começarão a ser preenchidos com as métricas correspondentes à medida que o tráfego entrar no aplicativo App Mesh.

Métricas de filtragem para CloudWatch

A extensão de métricas do App Mesh fornece um subconjunto de métricas úteis que fornecem informações sobre os comportamentos dos recursos que você define em sua malha. Como o CloudWatch agente suporta a coleta de métricas do Prometheus, você pode fornecer uma configuração de coleta para selecionar as métricas que deseja extrair do Envoy e para as quais enviar. CloudWatch

Você pode encontrar um exemplo de extração de métricas usando o Prometheus em nosso tutorial Extensão de Métricas.

CloudWatch Exemplo

Você pode encontrar um exemplo de configuração de CloudWatch em nosso repositório de AWS amostras.

Instruções para usar CloudWatch

Extensão de métricas para o App Mesh

Importante

Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog Migrando do AWS App Mesh Amazon ECS Service Connect.

O Envoy gera centenas de métricas divididas em algumas dimensões diferentes. As métricas não são diretas na forma como se relacionam com o App Mesh. No caso de serviços virtuais, não há mecanismo para saber com certeza qual serviço virtual está se comunicando com um determinado nó virtual ou gateway virtual.

A extensão de métricas do App Mesh aprimora os proxies Envoy em execução na sua malha. Esse aprimoramento permite que os proxies emitam métricas adicionais que estejam cientes dos recursos que você define. Esse pequeno subconjunto de métricas adicionais ajudará você a entender melhor o comportamento dos recursos que você definiu no App Mesh.

Para ativar a extensão de métricas do App Mesh, defina a variável de ambiente APPMESH_METRIC_EXTENSION_VERSION como 1.

APPMESH_METRIC_EXTENSION_VERSION=1

Para mais informações sobre as variáveis de configuração do Envoy, consulte Variáveis de configuração do Envoy.

Métricas relacionadas ao tráfego de entrada

  • ActiveConnectionCount

    • envoy.appmesh.ActiveConnectionCount— Número de TCP conexões ativas.

    • Dimensões — Malha, VirtualNode, VirtualGateway

  • NewConnectionCount

    • envoy.appmesh.NewConnectionCount— Número total de TCP conexões.

    • Dimensões — Malha, VirtualNode, VirtualGateway

  • ProcessedBytes

    • envoy.appmesh.ProcessedBytes— Total de TCP bytes enviados e recebidos de clientes downstream.

    • Dimensões — Malha, VirtualNode, VirtualGateway

  • RequestCount

    • envoy.appmesh.RequestCount— O número de HTTP solicitações processadas.

    • Dimensões — Malha, VirtualNode, VirtualGateway

  • GrpcRequestCount

    • envoy.appmesh.GrpcRequestCount— O número de PRC solicitações g processadas.

    • Dimensões — Malha, VirtualNode, VirtualGateway

Métricas relacionadas ao tráfego de saída

Você verá dimensões diferentes em suas métricas de saída com base no fato de elas virem de um nó virtual ou de um gateway virtual.

  • TargetProcessedBytes

    • envoy.appmesh.TargetProcessedBytes— Total de TCP bytes enviados e recebidos dos alvos a montante do Envoy.

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • HTTPCode_Target_2XX_Count

    • envoy.appmesh.HTTPCode_Target_2XX_Count— O número de HTTP solicitações para um alvo a montante do Envoy que resultaram em uma resposta de 2xx. HTTP

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • HTTPCode_Target_3XX_Count

    • envoy.appmesh.HTTPCode_Target_3XX_Count— O número de HTTP solicitações para um alvo a montante do Envoy que resultaram em uma resposta de 3xx. HTTP

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • HTTPCode_Target_4XX_Count

    • envoy.appmesh.HTTPCode_Target_4XX_Count— O número de HTTP solicitações para um alvo a montante do Envoy que resultaram em uma resposta 4xx. HTTP

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • HTTPCode_Target_5XX_Count

    • envoy.appmesh.HTTPCode_Target_5XX_Count— O número de HTTP solicitações para um alvo a montante do Envoy que resultaram em uma resposta de 5xx. HTTP

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • RequestCountPerTarget

    • envoy.appmesh.RequestCountPerTarget: o número de solicitações enviadas a um destino upstream do Envoy.

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

  • TargetResponseTime

    • envoy.appmesh.TargetResponseTime: o tempo decorrido desde o momento em que uma solicitação é feita a um destino upstream do Envoy até o recebimento da resposta completa.

    • Dimensões:

      • Dimensões do nó virtual — Mesh, VirtualNode, TargetVirtualService, TargetVirtualNode

      • Dimensões do gateway virtual — Mesh, VirtualGateway, TargetVirtualService, TargetVirtualNode

Datadog para o App Mesh

Importante

Aviso de fim do suporte: em 30 de setembro de 2026, AWS o suporte para o. AWS App Mesh Depois de 30 de setembro de 2026, você não poderá mais acessar o AWS App Mesh console ou os AWS App Mesh recursos. Para obter mais informações, visite esta postagem no blog Migrando do AWS App Mesh Amazon ECS Service Connect.

O Datadog é um aplicativo de monitoramento e segurança para monitoramento, métricas e log de ponta a ponta de aplicativos em nuvem. O Datadog torna sua infraestrutura, aplicativos e aplicativos de terceiros completamente observáveis.

Como instalar o Datadog

  • EKS- Para configurar o Datadog comEKS, siga estas etapas nos documentos do Datadog.

  • ECSEC2- Para configurar o Datadog com ECSEC2, siga estas etapas nos documentos do Datadog.

Para saber mais a respeito do Datadog