Passer au contenu

Comment puis-je surveiller l'utilisation élevée des ressources dans les tâches et les services ECS ?

Lecture de 3 minute(s)
0

Lorsque j'exécute des applications sur Amazon Elastic Container Service (Amazon ECS), j'utilise une grande quantité de ressources.

Résolution

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Surveiller les métriques clés

Utilisez Amazon CloudWatch pour suivre les métriques de niveau service ECS. Pour obtenir des informations plus détaillées sur l'utilisation des ressources, activez Container Insights ou Container Insights avec observabilité améliorée et vérifiez les métriques d'utilisation du processeur et de la mémoire.

Analyser les journaux CloudWatch

Exécutez un exemple de requête pour analyser vos journaux afin de détecter une utilisation élevée des ressources, des événements de mémoire insuffisante (OOM) ou des erreurs d'application. Optimisez la définition de tâche en fonction des problèmes que vous rencontrez. Pour en savoir plus, consultez la section Analyse des données de journal avec CloudWatch Logs Insights.

Pour vérifier l'utilisation de la mémoire, exécutez la requête suivante :

stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision
| filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10

Résoudre les problèmes d'arrêt de tâche inattendus

Si votre tâche ECS s'arrête de façon inattendue, utilisez l'API DescribeTasks pour vérifier StoppedReason et l’exitCode du conteneur afin d'en déterminer la cause. Pour plus d'informations, consultez la section Pourquoi ma tâche Amazon ECS est-elle arrêtée ?

Utiliser ECS Exec

Utilisez ECS Exec depuis l'AWS CLI pour exécuter des commandes dans vos conteneurs afin d'afficher les informations relatives à l'utilisation des ressources.

Résoudre les problèmes potentiels

Pour détecter les fuites de mémoire, consultez les journaux et les processus de l'application pour localiser la source de la fuite de mémoire.

Pour une utilisation élevée du processeur, augmentez l'allocation de processeur de tâche ou effectuez une mise à niveau vers un type d'instance plus important.

Pour les problèmes d'espace disque, exécutez la commande suivante pour identifier les fichiers dont la taille est supérieure à 50 Mo :

find / -type f -size +50000k -exec ls -lh {} \; 2>/dev/null

Pour augmenter votre espace disque, consultez la section Comment puis-je augmenter l'espace disque pour mon conteneur Amazon ECS sur AWS Fargate ?

Effectuer des tests et optimiser l'allocation de ressources

Pour déterminer l'allocation de ressources optimale pour vos applications, utilisez des outils pour effectuer des tests. Puis, mettez à jour vos définitions de tâches et vos configurations de service en fonction des résultats. Modifiez la capacité du processeur et de la mémoire dans vos définitions de tâches en fonction de vos habitudes d'utilisation. Utilisez Application Auto Scaling pour gérer efficacement l'évolution des charges de travail.

Vérifier la capacité d'instance

Assurez-vous que vos instances de conteneur disposent de ressources suffisantes pour vos tâches. Utilisez des fournisseurs de capacité pour ajuster automatiquement la capacité de votre cluster.

Configurer les alarmes CloudWatch

Créez des alarmes pour les métriques, par exemple pour l'utilisation du processeur, l'utilisation de la mémoire et les taux d'erreur d’application. Configurez des notifications pour vous avertir lorsque les seuils sont dépassés.

Informations connexes

Comment puis-je monter un système de fichiers Amazon EFS sur un conteneur Amazon ECS ou sur une tâche exécutée sur AWS Fargate ?

Container Insights avec observabilité améliorée est maintenant disponible dans Amazon ECS

Métriques Amazon ECS CloudWatch

Surveiller Amazon ECS à l'aide de CloudWatch

AWS OFFICIELA mis à jour il y a 7 mois