Amazon ECS CloudWatch métriques - Amazon Elastic Container Service

Si nous fournissons une traduction de la version anglaise du guide, la version anglaise du guide aura préséance en cas de contradiction. La traduction sera une traduction automatique.

Amazon ECS CloudWatch métriques

Vous pouvez surveiller votre Amazon ECS utilisation des ressources Amazon CloudWatch, qui collecte et traite les données brutes données de Amazon ECS en métriques lisibles, en temps quasi réel. Ces statistiques sont enregistrées pour une période de deux semaines afin que vous puissiez accéder aux informations historiques et obtenir une meilleure sur la façon dont vos clusters ou services exécutent. Amazon ECS les données de mesure sont envoyé automatiquement à CloudWatch par périodes de 1 minute. Pour plus d’informations sur CloudWatch, voir le Guide de l'utilisateur Amazon CloudWatch.

Activation CloudWatch métriques

Tout Amazon ECS à l’aide du Fargate type de lancement est activé pour CloudWatch Métriques d’utilisation de l’UC et de la mémoire automatiquement, vous n’avez donc pas besoin de prendre les étapes manuelles.

Pour tout Amazon ECS à l’aide de l’ EC2 lancement type, votre Amazon ECS Les instances de conteneur nécessitent la version 1.4.0 ou ultérieure du conteneur agent à activer CloudWatch les métriques. Cependant, nous vous recommandons d’utiliser le dernier agent de conteneur version. Pour plus d’informations sur la vérification de la version de votre agent et la mise à jour vers le dernière version, voir Mise à jour de l'agent de conteneur Amazon ECS.

Si vous démarrez votre agent manuellement (par exemple, si vous n’êtes pas à l’aide de la Amazon ECS-optimisé AMI pour vos instances de conteneur), consultez Mise à jour manuelle de l'agent de conteneur Amazon ECS (pour les non Amazon ECS-Optimized AMI).

Votre Amazon ECS les instances de conteneur nécessitent également ecs:StartTelemetrySession sur le IAM rôle que vous lancez vos instances de conteneur avec. Si vous avez créé votre Amazon ECS instance de conteneur avant le rôle CloudWatch métrique étaient disponibles pour Amazon ECS, vous devrez peut-être ajouter ce . Pour plus d’informations sur la vérification de votre Amazon ECS rôle d’instance de conteneur et en attachant les IAM stratégie pour les instances de conteneur, consultez Pour rechercher le rôle ecsInstanceRole dans la console IAM.

Note

Vous pouvez désactiver CloudWatch collecte de métriques par définition ECS_DISABLE_METRICS=true dans votre Amazon ECS agent de conteneur configuration. Pour plus d’informations, consultez Configuration de l'agent de conteneur Amazon ECS.

Métriques et dimensions

Les sections suivantes répertorient les métriques et les dimensions qui Amazon ECS envoie à Amazon CloudWatch.

Amazon ECS métriques

Amazon ECS fournit des métriques pour vous permettre de surveiller vos ressources. Vous pouvez mesurer le la réservation et l’utilisation de l’UC et de la mémoire sur l’ensemble de votre cluster, et l’utilisation de l’UC et de la mémoire sur les services de vos clusters. Pour votre GPU , vous pouvez mesurer votre réservation GPU sur votre cluster.

Les métriques mises à disposition dépendent du type de lancement des tâches et services dans vos clusters. Si vous utilisez le Fargate type de lancement pour vos services, des métriques d’utilisation de l’UC et de la mémoire sont fournies pour vous aider à la surveillance de vos services. Pour le EC2 type de lancement, vous allez et doivent surveiller le Amazon EC2 qui font de votre sous-jacent de l’infrastructure. En conséquence. CPU supplémentaire, mémoire, et réserve GPU et CPU et les métriques d’utilisation de la mémoire sont disponibles sur le cluster, le service et niveau de tâche.

Amazon ECS envoie les métriques suivantes à CloudWatch chaque minute. Quand Amazon ECS collecte , il collecte plusieurs points de données chaque minute. Il les regroupe ensuite à un point de données avant d’envoyer les données à CloudWatch. Donc dans CloudWatch, un compte d’échantillon est en fait l’agrégation de plusieurs points de données pendant une minute.

Le AWS/ECS namespace inclut les métriques suivantes.

CPUReservation

Pourcentage d’unités UC réservées par l’exécution de tâches dans le cluster.

de l’UC du cluster (cette métrique ne peut être filtrée que par ClusterName) est mesuré comme le nombre total d’unités UC réservées par Amazon ECS tâches sur le cluster, divisées par le unités UC totales qui ont été enregistrées pour l’ensemble du conteneur instances dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur Métriques de réservation de l’UC. Cette métrique est utilisée uniquement pour les tâches utilisant le EC2 type de lancement.

Dimensions valides : ClusterName.

Statistiques valides : Moyenne, Minimum, Maximum, Somme, Nombre d’échantillons. La statistique la plus utile est Moyenne.

Unité : Pourcentage.

CPUUtilization

Le pourcentage d’unités UC utilisées dans le cluster ou du service après-vente.

Utilisation de l’UC du cluster (mesures filtrées par ClusterName sans ServiceName) est mesurés comme le nombre total d’unités UC utilisées par Amazon ECS tâches sur le du cluster, divisé par le nombre total d’unités UC enregistrées pour tous des instances de conteneur dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur Métriques d’utilisation de l’UC. Les métriques d’utilisation de l’UC de cluster sont uniquement utilisé pour les tâches utilisant le EC2 type de lancement.

Utilisation de l’UC de service (mesures filtrées par ClusterName et ServiceName) est mesurés en tant que nombre total d’unités UC utilisées par les tâches appartenant à le service, divisé par le nombre total d’unités UC qui sont réservé pour les tâches qui appartiennent au service. CPU de service des métriques d’utilisation sont utilisées pour les tâches utilisant à la fois Fargate et le EC2 type de lancement.

Dimensions valides : ClusterName, ServiceName.

Statistiques valides : Moyenne, Minimum, Maximum, Somme, Nombre d’échantillons. La statistique la plus utile est Moyenne.

Unité : Pourcentage.

MemoryReservation

Le pourcentage de mémoire qui est réservé en exécutant des tâches dans le du cluster.

La réservation de mémoire de cluster (cette métrique ne peut être filtrée que par ClusterName) est mesuré comme la mémoire totale que est réservé par Amazon ECS tâches sur le cluster, divisées par le total quantité de mémoire enregistrée pour l’ensemble du conteneur instances dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur Métriques de réservation de mémoire. Cette métrique est utilisée uniquement pour les tâches utilisant le EC2 type de lancement.

Dimensions valides : ClusterName.

Statistiques valides : Moyenne, Minimum, Maximum, Somme, Nombre d’échantillons. La statistique la plus utile est Moyenne.

Unité : Pourcentage.

MemoryUtilization

Pourcentage de mémoire utilisé dans le cluster ou le service.

Utilisation de la mémoire du cluster (mesures filtrées par ClusterName sans ServiceName) est mesuré comme la mémoire totale utilisée par Amazon ECS tâches sur le cluster, divisé par la quantité totale de mémoire qui a été enregistrée pour tous les les instances de conteneur dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur Métriques d’utilisation de la mémoire. Les métriques d’utilisation de la mémoire du cluster sont utilisé uniquement pour les tâches utilisant le EC2 type de lancement.

Utilisation de la mémoire de service (mesures filtrées par ClusterName et ServiceName) est mesuré comme la mémoire totale utilisée par les tâches appartenant au divisé par la mémoire totale réservée aux tâches appartenant au service. Les métriques d’utilisation de la mémoire de service sont utilisé pour les tâches utilisant à la fois Fargate et EC2 types de lancement.

Dimensions valides : ClusterName, ServiceName.

Statistiques valides : Moyenne, Minimum, Maximum, Somme, Nombre d’échantillons. La statistique la plus utile est Moyenne.

Unité : Pourcentage.

GPUReservation

Pourcentage du nombre total de GPU disponibles réservés par exécution de tâches dans le cluster.

La réservation de GPU de cluster est mesurée comme le nombre de GPU réservés par Amazon ECS tâches sur le cluster, divisées par le nombre total de GPU qui était disponible sur toutes les instances de conteneur compatibles GPU dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur la réservation GPU les métriques.

Dimensions valides : ClusterName.

Statistiques valides : Moyenne, Minimum, Maximum, Somme, Nombre d’échantillons. La statistique la plus utile est Moyenne.

Unité : Pourcentage.

Note

Si vous utilisez des tâches avec l’ EC2 type de lancement et ont Instances de conteneur Linux, l’ Amazon ECS l’agent de conteneur s’appuie sur Docker stats pour collecter les données d’UC et de mémoire pour chaque conteneur s’exécutant sur l’instance. Pour les instances à capacité extensible (T3, les instances T3a et T2), la métrique d’utilisation de l’UC peut refléter différentes données comparées aux métriques d’UC au niveau de l’instance.

Dimensions pour Amazon ECS métriques

Amazon ECS les métriques utilisent l’ AWS/ECS namespace et fournir des métriques pour les dimensions suivantes. Les métriques pour une dimension reflètent uniquement les ressources avec l’exécution de tâches pendant une période. Par exemple, si vous avez un cluster avec un mais ce service n’a pas de tâches dans un RUNNING de l’État, aucune mesure ne sera envoyée à CloudWatch. Si vous avez deux services et l’un d’entre eux a des tâches en cours d’exécution et l’autre ne les exécute pas, uniquement les métriques pour le service avec des tâches en cours d’exécution seraient envoyées.

ClusterName

Cette dimension filtre les données que vous demandez pour toutes les ressources dans un cluster spécifié. Tous Amazon ECS les métriques sont filtrées par ClusterName.

ServiceName

Cette dimension filtre les données que vous demandez pour toutes les ressources dans un service spécifié au sein d’un cluster spécifié.

Réservation de groupement

Les métriques de réservation de cluster sont mesurées en tant que pourcentage d’UC, de mémoire et GPU réservés par tous Amazon ECS tâches sur un cluster par rapport au agréger l’UC, la mémoire et les GPU qui ont été enregistrés pour chaque conteneur actif dans le cluster. Uniquement les instances de conteneur dans ACTIVE ou DRAINING aura une incidence sur les métriques de réservation de cluster. Ce est utilisée uniquement sur les clusters avec des tâches ou des services utilisant l’ EC2 type de lancement. Il n’est pas pris en charge sur les clusters avec des tâches utilisant l’ Fargate type de lancement.

(Total CPU units reserved by tasks in cluster) x 100 Cluster CPU reservation = -------------------------------------------------------------- (Total CPU units registered by container instances in cluster)
(Total MiB of memory reserved by tasks in cluster x 100) Cluster memory reservation = ------------------------------------------------------------------ (Total MiB of memory registered by container instances in cluster)
(Total GPUs reserved by tasks in cluster x 100) Cluster GPU reservation = ------------------------------------------------------------------ (Total GPUs registered by container instances in cluster)

Lorsque vous exécutez une tâche dans un cluster, Amazon ECS analyse sa définition de tâche et ses réserves les unités UC agrégées, Mio de mémoire et GPU spécifiés dans son conteneur définitions. Chaque minute, Amazon ECS calcule le nombre d’unités CPU, Mio de mémoire, et GPU actuellement réservés pour chaque tâche en cours d’exécution dans le cluster. Quantité totale d’UC, de mémoire et de GPU réservés pour toutes les tâches exécutées sur le est calculé, et ces chiffres sont rapportés à CloudWatch en pourcentage du total des ressources enregistrées pour le cluster. Si vous spécifiez une limite franchissable (memoryReservation), il est utilisé pour calculer la quantité de mémoire. Sinon, la limite stricte (memory) est utilisé. Pour en savoir plus informations sur les limites strictes et limites logicielles, voir Tâche Paramètres de définition.

Par exemple, un cluster a deux instances de conteneur actives enregistrées : un c4.4xlarge et une instance c4.large instance. Le c4.4xlarge l’instance s’enregistre dans le cluster avec l’UC 16 384 et 30 158 Mio de mémoire. Le c4.large l’instance s’enregistre avec 2 048 unités UC et 3 768 Mio de mémoire. Les ressources agrégées de ce cluster sont 18 432 unités UC et 33 926 Mio de mémoire.

Si une définition de tâche réserve 1 024 unités UC et 2 048 Mio de mémoire, et dix les tâches sont démarrées avec cette définition de tâche sur ce cluster (et aucune autre tâche n’est actuellement en cours d’exécution), un total de 10 240 unités UC et 20 480 Mio de mémoire sont réservé. Ceci est signalé à CloudWatch avec une réservation de 55 % pour le processeur et une réservation de 60 % pour la mémoire pour le cluster.

L’illustration suivante montre le nombre total d’unités UC enregistrées dans un cluster et ce que leur réservation et leur utilisation signifient pour les tâches existantes et les nouvelles tâches de l’emplacement. Les blocs inférieurs (réservés, utilisés) et centraux (réservés, non utilisés) représente le nombre total d’unités UC réservées pour les tâches existantes qui sont en cours d’exécution sur le cluster ou l’ CPUReservation CloudWatch métrique. Le plus bas représente les unités UC réservées que les tâches en cours d’exécution utilisent réellement sur le cluster, ou le CPUUtilization CloudWatch métrique. Le bloc supérieur représente les unités d’UC qui ne sont pas réservées par des tâches existantes ; ces unités d’UC sont disponible pour le placement de la nouvelle tâche. Les tâches existantes peuvent utiliser ces unités CPU non réservées également, si leur besoin en ressources d’UC augmente. Pour plus d’informations, consultez le cpu paramètre de définition de tâche de la documentation.


                    Utilisation et réservation de l’UC du cluster

Utilisation du cluster

L’utilisation du cluster est mesurée comme le pourcentage de CPU et de mémoire utilisé par tous Amazon ECS tâches sur un cluster par rapport à l’UC et à la mémoire agrégées qui a été enregistré pour chaque instance de conteneur active dans le cluster. Conteneur uniquement instances dans ACTIVE ou DRAINING aura une incidence sur le cluster des métriques d’utilisation. Une métrique d’utilisation du GPU n’est pas prise en charge car elle n’est pas possibilité de sur-engager un GPU. Cette métrique est utilisée uniquement sur les clusters avec des tâches ou à l’aide de l’ EC2 type de lancement. Il n’est pas pris en charge sur les clusters avec des tâches utilisant le Fargate type de lancement.

(Total CPU units used by tasks in cluster) x 100 Cluster CPU utilization = -------------------------------------------------------------- (Total CPU units registered by container instances in cluster)
(Total MiB of memory used by tasks in cluster x 100) Cluster memory utilization = ------------------------------------------------------------------ (Total MiB of memory registered by container instances in cluster)

Chaque minute, le Amazon ECS sur chaque instance de conteneur calcule le nombre d’unités CPU et Mio de mémoire actuellement utilisés pour chaque tâche qui est en cours d’exécution sur cette instance de conteneur, et ces informations sont renvoyées à Amazon ECS. Quantité totale d’UC et de mémoire utilisée pour toutes les tâches en cours d’exécution sur le cluster est calculé, et ces chiffres sont reportés à CloudWatch en pourcentage du total ressources enregistrées pour le cluster.

Par exemple, un cluster a deux instances de conteneur actives enregistrées, une c4.4xlarge et une instance c4.large instance. Le c4.4xlarge l’instance s’enregistre dans le cluster avec l’UC 16 384 et 30 158 Mio de mémoire. Le c4.large l’instance s’enregistre avec 2 048 unités UC et 3 768 Mio de mémoire. Les ressources agrégées de ce cluster sont 18 432 unités UC et 33 926 Mio de mémoire.

Si dix tâches sont en cours d’exécution sur ce cluster et que chaque tâche consomme 1 024 unités UC et 2 048 Mio de mémoire, un total de 10 240 unités UC et 20 480 Mio de mémoire sont utilisé sur le cluster. Ceci est signalé à CloudWatch avec une utilisation de l’UC de 55 % et une mémoire de 60 % pour le cluster.

Utilisation du service

L’utilisation du service est mesurée comme le pourcentage de CPU et de mémoire utilisé par le Amazon ECS les tâches qui appartiennent à un service sur un cluster par rapport à l’UC et la mémoire qui est spécifiée dans la définition de tâche du service. Cette métrique est prise en charge pour les services avec des tâches utilisant à la fois le EC2 et Fargate types de lancement.

(Total CPU units used by tasks in service) x 100 Service CPU utilization = ---------------------------------------------------------------------------- (Total CPU units specified in task definition) x (number of tasks in service)
(Total MiB of memory used by tasks in service) x 100 Service memory utilization = -------------------------------------------------------------------------------- (Total MiB of memory specified in task definition) x (number of tasks in service)

Chaque minute, le Amazon ECS agent de conteneur sur chaque instance de conteneur calcule le nombre d’unités CPU et de Mio de mémoire actuellement utilisées pour chaque tâche détenue par le service qui est en cours d’exécution instance de conteneur, et ces informations sont communiquées à Amazon ECS. Le quantité totale d’UC et de mémoire utilisée pour toutes les tâches détenues par le service qui sont en cours d’exécution sur le cluster est calculé, et ces nombres sont rapportés à CloudWatch en tant que du pourcentage du total des ressources spécifiées pour le service dans le définition de tâche du service. Si vous spécifiez une limite franchissable (memoryReservation), il est utilisé pour calculer la quantité de mémoire. Sinon, la limite stricte (memory) est utilisé. Pour en savoir plus informations sur les limites strictes et limites logicielles, voir Tâche Paramètres de définition.

Par exemple, la définition de tâche d’un service spécifie un total de 512 unités UC et 1 024 Mio de mémoire (avec la limite stricte memory ) pour tous ses conteneurs. Le service a un nombre souhaité de 1 en cours d’exécution , le service s’exécute sur un cluster avec 1 c4.large contenant (avec 2 048 unités UC et 3 768 Mio de mémoire totale), et il n’y a pas autres tâches en cours d’exécution sur le cluster. Bien que la tâche spécifie 512 unités UC, car c’est la seule tâche en cours d’exécution sur une instance de conteneur avec 2 048 unités UC, elle peut utiliser jusqu’à quatre fois la quantité spécifiée (2 048 / 512). Cependant, le de 1 024 Mio est une limite stricte et ne peut pas être dépassée, donc dans ce cas, l’utilisation de la mémoire de service ne peut pas dépasser 100 %.

Si l’exemple précédent utilisait la limite franchissable memoryReservation au lieu de la limite stricte memory , les tâches du service peuvent utiliser plus de 1 024 Mio de mémoire selon les besoins. Dans ce cas, l’utilisation de la mémoire du service peut dépasser 100 %.

Si cette tâche effectue un travail intensif sur l’UC pendant une période et utilisant les 2 048 unités CPU disponibles et 512 Mio de mémoire, le service rapporte 400 % d’utilisation de l’UC et 50 % d’utilisation de la mémoire. Si la tâche est inactive et utilisant 128 unités de processeur et 128 Mio de mémoire, le service indique une utilisation de 25 % du processeur et 12,5 % d’utilisation de la mémoire.

Service après-vente RUNNING tâche nombre

Vous pouvez utiliser CloudWatch pour afficher le nombre de tâches dans vos services qui sont dans le RUNNING état. Par exemple, vous pouvez définir un CloudWatch pour cette pour vous avertir si le nombre de tâches en cours d’exécution dans votre service est inférieur à un valeur spécifiée.

Pour afficher le nombre de tâches en cours d’exécution dans un service

  1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le volet de navigation, choisissez Métriques.

  3. Sur la page Toutes les mesures , choisissez Système de contrôle-commande.

  4. Choisir Nom du groupe, Nom du service puis choisissez n’importe quelle métrique (soit CPUUtilization ou MemoryUtilization) qui correspond au service à afficher exécution de tâches dans.

  5. Sur la page Métriques représentées graphiquement onglet, modifier Période à 1 minute et Statistique à Échantillon Nombre.

    La valeur affichée dans le graphique indique le nombre de RUNNING tâches dans le service.

    
                            Vue Métriques de cluster