Implantar o AWS Distro for OpenTelemetry para coletar métricas no nível de instância do EC2 em clusters do Amazon ECS - Amazon CloudWatch

Implantar o AWS Distro for OpenTelemetry para coletar métricas no nível de instância do EC2 em clusters do Amazon ECS

Realize as etapas desta seção para usar o AWS Distro for OpenTelemetry para coletar métricas no nível de instância do EC2 em clusters do Amazon ECS. Para obter mais informações sobre o AWS Distro for OpenTelemetry, consulte AWS Distro for OpenTelemetry.

Estas etapas presumem que você já tenha um cluster executando o Amazon ECS. Esse cluster deve ser implantado com o tipo de inicialização EC2. Para obter mais informações sobre como usar o AWS Distro for Open Telemetry com o Amazon ECS e configurar um cluster do Amazon ECS para essa finalidade, consulte Configurar o AWS Distro for Open Telemetry Collector no Amazon Elastic Container Service para métricas no nível da instância do EC2 no ECS.

Configuração rápida usando o AWS CloudFormation

Baixe o arquivo de modelo do AWS CloudFormation para instalar o AWS Distro for OpenTelemetry Colector para o Amazon ECS no EC2. Execute o comando curl a seguir.

curl -O https://raw.githubusercontent.com/aws-observability/aws-otel-collector/main/deployment-template/ecs/aws-otel-ec2-instance-metrics-daemon-deployment-cfn.yaml

Depois de baixar o arquivo de modelo, abra-o e substitua PATH_TO_CloudFormation_TEMPLATE pelo caminho onde você salvou o arquivo de modelo. Em seguida, exporte os seguintes parâmetros e execute o comando AWS CloudFormation, conforme mostrado no comando a seguir.

  • Cluster_Name: o nome do cluster do Amazon ECS

  • AWS_Region: a região para onde os dados serão enviados

  • PATH_TO_CloudFormation_TEMPLATE: o caminho onde você salvou o arquivo de modelo do AWS CloudFormation.

  • command: para habilitar o AWS Distro for OpenTelemetry Collector para coletar as métricas no nível de instância do Amazon ECS no Amazon EC2, é necessário especificar --config=/etc/ecs/otel-instance-metrics-config.yaml para este parâmetro.

ClusterName=Cluster_Name Region=AWS_Region command=--config=/etc/ecs/otel-instance-metrics-config.yaml aws cloudformation create-stack --stack-name AOCECS-${ClusterName}-${Region} \ --template-body file://PATH_TO_CloudFormation_TEMPLATE \ --parameters ParameterKey=ClusterName,ParameterValue=${ClusterName} \ ParameterKey=CreateIAMRoles,ParameterValue=True \ ParameterKey=command,ParameterValue=${command} \ --capabilities CAPABILITY_NAMED_IAM \ --region ${Region}

Depois de executar este comando, use o console do Amazon ECS para ver se a tarefa está em execução.

Solucionar problemas da configuração rápida

Para verificar o status da pilha do AWS CloudFormation, insira o comando a seguir.

ClusterName=cluster-name Region=cluster-region aws cloudformation describe-stack --stack-name AOCECS-$ClusterName-$Region --region $Region

Se o valor de StackStatus for diferente de CREATE_COMPLETE ou de CREATE_IN_PROGRESS, verifique os eventos da pilha para localizar o erro. Insira o comando da a seguir.

ClusterName=cluster-name Region=cluster-region aws cloudformation describe-stack-events --stack-name AOCECS-$ClusterName-$Region --region $Region

Para conferir o status do serviço daemon AOCECS, insira o comando a seguir. Na saída, é necessário verificar se runningCount é igual a desiredCount na seção de implantação. Se não for igual, confira a seção de falhas na saída.

ClusterName=cluster-name Region=cluster-region aws ecs describe-services --services AOCECS-daemon-service --cluster $ClusterName --region $Region

Também é possível usar o console do CloudWatch Logs para conferir o log do atendente. Procure o grupo de logs /aws/ecs/containerinsights/{ClusterName}/performance.

Configuração manual e personalizada

Siga as etapas desta seção para implantar manualmente o AWS Distro for OpenTelemetry a fim de coletar métricas no nível de instância dos clusters do Amazon ECS hospedados em instâncias do Amazon EC2.

Etapa 1: Funções e políticas do IAM necessárias

São necessárias duas funções do IAM. É necessário criá-las, caso ainda não existam. Para obter mais informações sobre essas funções, consulte Criar política do IAM e Criar função do IAM.

Etapa 2: Criar uma definição de tarefa

Crie uma definição de tarefa e use-a para iniciar o atendente do AWS Distro for OpenTelemetry como um serviço daemon.

Para usar o modelo de definição de tarefa para criar a definição de tarefa, siga as instruções em Criar definição de tarefa do ECS EC2 para instância do EC2 com AWS OTel Collector.

Para usar o console do Amazon ECS para criar a definição de tarefa, siga as instruções em Instalar AWS OTel Collector criando definição de rarefas pelo Console AWS para métricas de instância do EC2 no Amazon ECS.

Etapa 3: Iniciar o serviço daemon

Para iniciar o AWS Distro para OpenTeemetry como um serviço daemon, siga as instruções em Executar tarefa no Amazon Elastic Container Service (Amazon ECS) usando o serviço daemon.

(Opcional) Configuração avançada

Se preferir, você poderá usar o SSM para especificar outras opções de configuração para o AWS Distro for OpenTelemetry nos clusters do Amazon ECS hospedados nas instâncias do Amazon EC2. Para obter mais informações sobre como criar um arquivo de configuração, consulte Configuração personalizada do OpenTelemetry. Para obter mais informações sobre as opções que você pode usar no arquivo de configuração, consulte Receptor do AWS Container Insights.