Implementazione di AWS Distro for OpenTelemetry per raccogliere parametri a livello di istanza EC2 sui cluster Amazon ECS - Amazon CloudWatch

Implementazione di AWS Distro for OpenTelemetry per raccogliere parametri a livello di istanza EC2 sui cluster Amazon ECS

Procedi come descritto in questa sezione per utilizzare AWS Distro for OpenTelemetry per raccogliere parametri a livello di istanza EC2 su un cluster Amazon ECS. Per ulteriori informazioni su AWS Distro for OpenTelemetry, consulta AWS Distro for OpenTelemetry.

In queste fasi si presuppone che tu disponga già di un cluster su Amazon ECS. Questo cluster deve essere implementato con il tipo di avvio EC2. Per ulteriori informazioni sull'utilizzo di AWS Distro for Open Telemetry con Amazon ECS e sull'impostazione di un cluster Amazon ECS a questo scopo, consulta Configurazione di AWS Distro for OpenTelemetry Collector in Amazon Elastic Container Service per parametri a livello di istanza EC2 ECS.

Configurazione rapida utilizzando CloudFormation

Scarica il file modello CloudFormation per installare AWS Distro for OpenTelemetry Collector per Amazon ECS su EC2. Esegui il seguente comando curl.

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

Dopo aver scaricato il file modello, aprirlo e sostituisci PATH_TO_CloudFormation_Template con il percorso in cui è stato salvato il file modello. Quindi esporta i seguenti parametri ed esegui il comando CloudFormation, come mostrato nel comando seguente.

  • Cluster_Name: il nome del cluster Amazon ECS

  • AWS_Region: la regione in cui verranno inviati i dati

  • PATH_TO_CloudFormation_TEMPLATE: il percorso in cui è stato salvato il file modello CloudFormation.

  • command: per abilitare AWS Distro for OpenTelemetry Collector per raccogliere i parametri a livello di istanza per Amazon ECS su Amazon EC2, devi specificare --config=/etc/ecs/otel-instance-metrics-config.yaml per questo parametro.

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}

Dopo aver eseguito questo comando, utilizza la console Amazon ECS per verificare se l'attività è in esecuzione.

Risoluzione dei problemi relativi alla configurazione rapida

Per verificare lo stato dello stack CloudFormation, immetti il seguente comando.

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

Se il valore di StackStatus è diverso da CREATE_COMPLETE o CREATE_IN_PROGRESS, controlla gli eventi di stack per trovare l'errore. Inserire il seguente comando.

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

Per verificare lo stato del servizio daemon AOCECS, immetti il seguente comando. Nell'output, deve essere mostrato che runningCount è uguale a desiredCount nella sezione di implementazione. In caso contrario, controlla la sezione degli errori nell'output.

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

Puoi inoltre utilizzare la console CloudWatch Logs per controllare il log dell'agente. Cerca il gruppo di log /aws/ecs/containerinsights/{ClusterName}/performance.

Configurazione manuale e personalizzata

Segui la procedura descritta in questa sezione per implementare manualmente AWS Distro for OpenTelemetry per raccogliere parametri a livello di istanza dai cluster Amazon ECS ospitati su istanze Amazon EC2.

Fase 1: ruoli e policy necessari

Sono richiesti due ruoli IAM. Se non esistono già è necessario crearli. Per ulteriori informazioni su questi ruoli, consulta Creazione della policy IAM e Creazione del ruolo IAM.

Fase 2: creazione di una definizione dell'attività

Crea una definizione di attività e utilizzala per avviare AWS Distro for OpenTelemetry come un servizio daemon.

Per utilizzare il modello di definizione dell'attività per creare la definizione dell'attività, segui le istruzioni riportate in Creazione della definizione dell'attività EC2 ECS per l'istanza EC2 con AWS OTel Collector.

Per utilizzare la console Amazon ECS per creare la definizione dell'attività, segui le istruzioni in Installazione di AWSOTel Collector creando la definizione di attività tramite la console AWS per i parametri dell'istanza EC2 di Amazon ECS.

Fase 3: avvio del servizio daemon

Per avviare AWS Distro for OpenTelemetry come servizio daemon, segui le istruzioni in Esecuzione dell'attività su Amazon Elastic Container Service (Amazon ECS) tramite il servizio daemon.

(Facoltativo) Configurazione avanzata

Facoltativamente, puoi utilizzare SSM per specificare altre opzioni di configurazione per AWS Distro for OpenTelemetry nei cluster Amazon ECS ospitati su istanze Amazon EC2. Per ulteriori informazioni sulla creazione di un file di configurazione, consulta Configurazione personalizzata di OpenTelemetry. Per ulteriori informazioni sulle opzioni che è possibile utilizzare nel file di configurazione, consulta AWS Container Insights Receiver.