Métricas para o Amazon ECS - AWS Orientação prescritiva

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á.

Métricas para o Amazon ECS

O Amazon ECS fornece CloudWatch métricas padrão (por exemplo, utilização de CPU e memória) para os tipos de lançamento do EC2 e do Fargate no cluster e no nível de serviço com o agente de contêiner do Amazon ECS. Você também pode capturar métricas para seus serviços, tarefas e contêineres usando o CloudWatch Container Insights ou capturar suas próprias métricas de contêiner personalizadas usando o formato métrico incorporado.

O Container Insights é um CloudWatch recurso que fornece métricas como utilização da CPU, utilização da memória, tráfego de rede e armazenamento nos níveis de cluster, instância de contêiner, serviço e tarefa. O Container Insights também cria painéis automáticos que ajudam você a analisar serviços e tarefas e ver a utilização média da memória ou da CPU no nível do contêiner. O Container Insights publica métricas ECS/ContainerInsights personalizadas no namespace personalizado que você pode usar para criar gráficos, alarmes e criar painéis.

Você pode ativar as métricas do Container Insight ativando o Container Insights para cada cluster individual do Amazon ECS. Se você também quiser ver métricas no nível da instância do contêiner, você pode iniciar o CloudWatch agente como um contêiner daemon no seu cluster do Amazon ECS. Você pode usar o AWS CloudFormation modelo cwagent-ecs-instance-metric-cfn.yaml para implantar o agente CloudWatch como um serviço do Amazon ECS. É importante ressaltar que esse exemplo pressupõe que você criou uma configuração de CloudWatch agente personalizada apropriada e a armazenou no Parameter Store com a chaveecs-cwagent-daemon-service.

O CloudWatchagente implantado como um contêiner daemon para o CloudWatch Container Insights inclui métricas adicionais de disco, memória e CPU, como instance_cpu_reserved_capacity e instance_memory_reserved_capacity com as dimensõesClusterName,ContainerInstanceId. InstanceId As métricas no nível da instância do contêiner são implementadas pelo Container Insights usando o formato métrico CloudWatch incorporado. Você pode configurar métricas adicionais em nível de sistema para suas instâncias de contêiner do Amazon ECS usando a abordagem da Configurar o State Manager and Distributor para implantação e configuração do CloudWatch agente seção deste guia.

Criação de métricas de aplicativos personalizadas no Amazon ECS

Você pode criar métricas personalizadas para seus aplicativos usando o formato métrico CloudWatch incorporado. O driver de awslogs log pode interpretar declarações de formato métrico CloudWatch incorporado.

A variável de CW_CONFIG_CONTENT ambiente no exemplo a seguir é definida para o conteúdo do parâmetro cwagentconfig Systems Manager Parameter Store. Você pode executar o agente com essa configuração básica para configurá-lo como um endpoint de formato métrico incorporado. No entanto, isso não é mais necessário.

{ "logs": { "metrics_collected": { "emf": { } } } }

Se você tiver implantações do Amazon ECS em várias contas e regiões, poderá usar um AWS Secrets Manager segredo para armazenar sua CloudWatch configuração e configurar a política secreta para compartilhá-la com sua organização. Você pode usar a opção secrets na definição da tarefa para definir a CW_CONFIG_CONTENT variável.

Você pode usar as bibliotecas de formato métrico incorporado de código aberto AWS fornecidas em seu aplicativo e especificar a variável de AWS_EMF_AGENT_ENDPOINT ambiente para se conectar ao contêiner auxiliar do CloudWatch agente, atuando como um endpoint de formato métrico incorporado. Por exemplo, você pode usar o aplicativo Python de amostra ecs_cw_emf_example para enviar métricas em formato métrico incorporado para um contêiner auxiliar do agente configurado como CloudWatch um endpoint de formato métrico incorporado.

O plug-in Fluent Bit para também CloudWatch pode ser usado para enviar mensagens de formato métrico incorporado. Você também pode usar o aplicativo Python de amostra ecs_firelense_emf_example para enviar métricas em formato métrico incorporado para um contêiner auxiliar Firelens for Amazon ECS.

Se você não quiser usar o formato métrico incorporado, você pode criar e atualizar CloudWatch métricas por meio da AWS API ou do AWS SDK. Não recomendamos essa abordagem, a menos que você tenha um caso de uso específico, pois ela adiciona sobrecarga de manutenção e gerenciamento ao seu código.