Je souhaite surveiller l'utilisation élevée de la mémoire pour les tâches Amazon Elastic Container Service (Amazon ECS) qui s'exécutent sur AWS Fargate.
Résolution
Pour surveiller l'utilisation élevée de la mémoire sur vos tâches Amazon ECS sur Fargate, utilisez les méthodes suivantes.
Utiliser les métriques Amazon CloudWatch
Consultez vos métriques CloudWatch dans la console Amazon ECS ou dans la console CloudWatch.
Remarque : Les services Amazon ECS qui utilisent le type de lancement Fargate sont automatiquement activés pour les métriques d'utilisation de la mémoire et du processeur CloudWatch.
Activer CloudWatch Logs pour vos tâches Fargate
Procédez comme suit :
- Activez le pilote du journal awslogs.
- Ajoutez les paramètres de configuration de journal requis à la définition de votre tâche.
- Donnez au rôle AWS Identity and Access Management (IAM) de votre tâche l'autorisation d'envoyer des journaux à CloudWatch Logs.
- Consultez vos journaux dans la console CloudWatch.
Remarque : Avant de pouvoir consulter vos journaux, vos tâches doivent passer à l'état En cours d’exécution.
Utiliser Container Insights pour surveiller l'utilisation de la mémoire
Pour surveiller l'utilisation de la mémoire pour chaque conteneur d'une tâche Fargate, utilisez CloudWatch Container Insights.
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sous Container Insights, sélectionnez Ressources.
- Pour obtenir plus d'informations sur une ressource, choisissez son nom.
Remarque : Les tâches sont regroupées selon la définition de tâche pour chaque cluster.
- Pour obtenir plus d'informations sur une définition de tâche, choisissez le nom de la définition de tâche.
- Dans la section Performance des conteneurs, sélectionnez Actions, puis Afficher les journaux de performance pour ouvrir CloudWatch Logs Insights.
- Dans Requête, saisissez la requête suivante, puis sélectionnez Exécuter la requête :
stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10
Utiliser Container Insights pour définir une alarme en cas d'utilisation élevée de la mémoire
Procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sous Container Insights, sélectionnez Surveillance des performances.
- Dans le menu, sélectionnez Tâches ECS ou Services ECS.
- Sur la carte Utilisation de la mémoire, développez la carte, puis sélectionnez Afficher dans les métriques.
- Sélectionnez l’onglet Graphique des métriques, puis choisissez l'icône en forme de cloche dans la colonne Actions.
- Sur la page Indiquer la métrique et les conditions, choisissez vos valeurs ou conservez les valeurs par défaut.
- Dans la section Conditions, pour Définir la valeur de seuil, saisissez 70 pour définir le seuil d'utilisation de la mémoire de l'alarme à 70 %.
- Sélectionnez Suivant.
- Sur la page Configurer des actions, dans la section Sélectionner une rubrique SNS, sélectionnez Créer une rubrique.
- Pour Envoyer une notification à, saisissez l'adresse e-mail à laquelle vous souhaitez envoyer les notifications d'alarme.
- Sélectionnez Suivant.
- Sur la page Ajouter un nom et une description, dans Nom de l’alarme, saisissez un nom pour votre alarme.
- (Facultatif) Pour Description de l'alarme, saisissez une description pour votre alarme.
- Sélectionnez Suivant, puis Créer une alarme.
- Pour confirmer votre inscription, suivez les instructions figurant dans l'e-mail de confirmation.
Remarque : CloudWatch ne crée pas automatiquement toutes les métriques possibles à partir des données du journal. Pour afficher des métriques et des détails supplémentaires, utilisez CloudWatch Logs Insights pour analyser les données de journal.
Informations connexes
AWS Fargate pour Amazon ECS
Présentation d'Amazon CloudWatch Container Insights pour Amazon ECS
Comment Amazon ECS gère les ressources du processeur et de la mémoire