

# Implantar o AWS Distro for OpenTelemetry para coletar métricas no nível de instância do EC2 em clusters do Amazon ECS
<a name="deploy-container-insights-ECS-OTEL"></a>

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](https://aws.amazon.com/otel/).

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](https://aws-otel.github.io/docs/setup/ecs#3-setup-the-aws-otel-collector-for-ecs-ec2-instance-metrics). 

**Topics**
+ [Configuração rápida usando o CloudFormation](#container-insights-ECS-OTEL-quicksetup)
+ [Configuração manual e personalizada](#container-insights-ECS-OTEL-custom)

## Configuração rápida usando o CloudFormation
<a name="container-insights-ECS-OTEL-quicksetup"></a>

Baixe o arquivo de modelo do 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 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 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
<a name="container-insights-ECS-OTEL-quicksetup-troubleshooting"></a>

Para verificar o status da pilha do 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 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
<a name="container-insights-ECS-OTEL-custom"></a>

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
<a name="container-insights-ECS-OTEL-custom-iam"></a>

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](https://aws-otel.github.io/docs/setup/ecs/create-iam-policy) e [Criar função do IAM](https://aws-otel.github.io/docs/setup/ecs/create-iam-role).

### Etapa 2: Criar uma definição de tarefa
<a name="container-insights-ECS-OTEL-custom-task"></a>

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](https://aws-otel.github.io/docs/setup/ecs/task-definition-for-ecs-ec2-instance).

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](https://aws-otel.github.io/docs/setup/ecs/create-task-definition-instance-console).

### Etapa 3: Iniciar o serviço daemon
<a name="container-insights-ECS-OTEL-custom-launch"></a>

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](https://aws-otel.github.io/docs/setup/ecs/run-daemon-service).

### (Opcional) Configuração avançada
<a name="container-insights-ECS-OTEL-custom-advancdeconfig"></a>

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](https://aws-otel.github.io/docs/setup/ecs#5-custom-opentelemetry-configuration). Para obter mais informações sobre as opções que você pode usar no arquivo de configuração, consulte [Receptor do AWS Container Insights](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/awscontainerinsightreceiver/README.md).