Déploiement d'AWS Distro pour OpenTelemetry pour collecter des métriques EC2 au niveau de l'instance sur les clusters Amazon ECS - Amazon CloudWatch

Déploiement d'AWS Distro pour OpenTelemetry pour collecter des métriques EC2 au niveau de l'instance sur les clusters Amazon ECS

Utilisez les étapes de cette section pour utiliser AWS Distro pour OpenTelemetry pour collecter des métriques EC2 au niveau de l'instance sur un cluster Amazon ECS. Pour plus d'informations sur AWS Distro pour OpenTelemetry, consultez AWS Distro pour OpenTelemetry.

Cette procédure suppose que vous avez déjà un cluster exécutant Amazon ECS. Ce cluster doit être déployé avec le type de lancement EC2. Pour plus d'informations sur l'utilisation d'AWS Distro pour OpenTelemetry avec Amazon ECS et la configuration d'un cluster Amazon ECS à cette fin, consultez Configuration d'AWS Distro pour OpenTelemetry Collector dans Amazon Elastic Container Service pour les métriques au niveau des instances EC2 d'ECS.

Configuration rapide à l'aide de CloudFormation

Téléchargez le fichier de modèle CloudFormation pour installer AWS Distro pour OpenTelemetry Collector pour Amazon ECS sur EC2. Exécutez la commande curl suivante.

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

Après avoir téléchargé le fichier modèle, ouvrez-le et remplacez PATH_TO_CloudFormation_TEMPLATE par le chemin d'accès où vous avez enregistré le fichier modèle. Ensuite, exportez les paramètres suivants et exécutez la commande CloudFormation, comme illustré dans la commande suivante.

  • Cluster_Name– Nom du cluster Amazon ECS

  • AWS_Region– Région où les données seront envoyées

  • PATH_TO_CloudFormation_TEMPLATE– Chemin d'accès où vous avez enregistré le fichier de modèle CloudFormation.

  • command– Pour activer le AWS Distro for OpenTelemetry Collector pour collecter les mesures au niveau de l'instance pour Amazon ECS sur Amazon EC2, vous devez spécifier --config=/etc/ecs/otel-instance-metrics-config.yaml pour ce paramètre.

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}

Après avoir exécuté cette commande, utilisez la console Amazon ECS pour voir si la tâche est en cours d'exécution.

Dépannage de la configuration rapide

Pour vérifier l'état de la pile CloudFormation, entrez la commande suivante.

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

Si la valeur de StackStatus ne correspond pas à CREATE_COMPLETE ou CREATE_IN_PROGRESS, vérifiez les événements de la pile pour trouver l'erreur. Entrez la commande suivante.

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

Pour vérifier l'état du service de démon AOCECS, saisissez la commande suivante. Dans la sortie, vous devriez voir que runningCount est égal au desiredCount dans la section « deployment » (déploiement). Si ce n'est pas égal, vérifiez la section « failures » (échecs) dans la sortie.

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

Vous pouvez également utiliser la console CloudWatch Logs pour vérifier le journal de l'agent. Recherchez le groupe de journaux /aws/ecs/containerinsights/{ClusterName}/performance.

Configuration manuelle et personnalisée

Suivez les étapes décrites dans cette section pour déployer manuellement AWS Distro pour OpenTelemetry afin de collecter des métriques au niveau de l'instance à partir de vos clusters Amazon ECS hébergés sur des instances Amazon EC2.

Étape 1 : Rôles et politiques nécessaires

Deux rôles IAM sont requis. Vous devez les créer s'ils n'existent pas déjà. Pour plus d'informations sur les rôles, consultez Créer une politique IAM et Créer un rôle IAM.

Étape 2 : Créer la définition de tâche

Créez une définition de tâche et utilisez-la pour lancer AWS Distro pour OpenTelemetry en tant que service de démon.

Pour utiliser le modèle de définition de tâche pour créer la définition de tâche, suivez les instructions de Créer une définition de tâche EC2 ECS pour une instance EC2 avec AWS OTel Collector.

Pour utiliser la console Amazon ECS pour créer la définition de tâche, suivez les instructions de Installer AWS OTel Collector en créant la définition de tâche via la console AWS pour les métriques d'instance Amazon EC2 ECS.

Étape 3 : Lancer le service de démon

Pour lancer AWS Distro pour OpenTelemetry en tant que service de démon, suivez les instructions de Exécutez votre tâche sur Amazon Elastic Container Service (Amazon ECS) à l'aide du service de démon.

(En option) Configuration avancée

Le cas échéant, vous pouvez utiliser pour spécifier d'autres options de configuration pour AWS Distro pour OpenTelemetry dans vos clusters Amazon ECS hébergés sur des instances Amazon EC2. Pour plus d'informations sur la création d'un fichier de configuration, consultez Configuration OpenTelemetry personnalisée. Pour plus d'informations sur les options que vous pouvez utiliser dans le fichier de configuration, consultez Récepteur Container Insights AWS.