Surveillance des métriques Amazon EMR avec CloudWatch
Les métriques sont mises à jour toutes les cinq minutes, et automatiquement collectées et transmises à CloudWatch pour chaque cluster Amazon EMR. Cet intervalle n'est pas configurable. Aucun frais ne s'appliquent aux métriques Amazon EMR signalées dans CloudWatch. Ces métriques de points de données de cinq minutes sont archivées pendant 63 jours, après quoi les données sont supprimées.
Comment utiliser les métriques Amazon EMR ?
Le tableau suivant montre les utilisations courantes des mesures signalées par Amazon EMR. Voici quelques suggestions pour vous aider à démarrer, qui ne forment pas une liste exhaustive. Pour consulter une liste complète des métriques présentées par Amazon EMR, consultez Métriques rapportées par Amazon EMR dans CloudWatch.
Comment... ? | Métriques pertinentes |
---|---|
Suivre la progression de mon cluster | Prenez en compte les métriques RunningMapTasks , RemainingMapTasks , RunningReduceTasks et RemainingReduceTasks . |
Détecter les clusters inactifs | La métrique IsIdle vérifie si un cluster est présent mais n'exécute actuellement aucune tâche. Vous pouvez définir une alarme afin qu'elle se déclenche lorsque le cluster est inactif pendant une période donnée, par exemple 30 minutes. |
Détecter lorsqu'un nœud ne dispose plus d'un espace de stockage suffisant | La métrique MRUnhealthyNodes suit le moment où un ou plusieurs nœuds principaux ou de tâches sont à court de stockage sur disque local et passent à l'état YARN UNHEALTHY . Par exemple, les nœuds principaux ou les nœuds de tâches manquent d'espace disque et ne seront pas en mesure d'exécuter des tâches. |
Détecter lorsqu'un cluster ne dispose plus d'un espace de stockage suffisant | La métrique HDFSUtilization surveille la capacité HDFS combinée du cluster et peut nécessiter le redimensionnement du cluster pour ajouter d'autres nœuds principaux. Par exemple, l'utilisation du HDFS est élevée, ce qui peut attribuer les tâches et l'état du cluster. |
Détecter lorsqu'un cluster fonctionne à capacité réduite | La métrique MRLostNodes surveille les problèmes de communication de plusieurs nœuds principaux ou de tâches avec le nœud principal. Par exemple, le nœud principal ou le nœud de tâches n'est pas accessible par le nœud principal. |
Pour plus d'informations, consultez Le cluster se termine avec NO_SLAVE_LEFT et les nœuds principaux FAILED_BY_MASTER. et AWSSupport-AnalyzeEMRLogs.
Accès aux métriques CloudWatch pour Amazon EMR.
Vous pouvez consulter les métriques qu'Amazon EMR transmet à CloudWatch à l'aide de la console Amazon EMR ou de la console CloudWatch. Vous pouvez également récupérer des métriques à l'aide de la commande CloudWatch CLI mon-get-stats
ou de l'API GetMetricStatistics
CloudWatch. Pour plus d'informations sur l'affichage ou l'extraction de métriques pour Amazon EMR à l'aide de CloudWatch, consultez le Guide de l'utilisateur Amazon CloudWatch.
Note
Nous avons repensé la console Amazon EMR pour en faciliter l'utilisation. Consultez Nouveautés de la console pour en savoir plus sur les différences entre l'ancienne et la nouvelle expérience console.
Métriques rapportées par Amazon EMR dans CloudWatch
Les tableaux suivants répertorient toutes les métriques présentées par Amazon EMR dans la console et transmises à CloudWatch.
Métriques Amazon EMR
Amazon EMR envoie des données pour plusieurs métriques à CloudWatch. Tous les clusters Amazon EMR envoient automatiquement des métriques à intervalles de cinq minutes. Les métriques sont archivées pendant deux semaines ; après cette période, les données sont supprimées.
L'espace de noms AWS/ElasticMapReduce
inclut les métriques suivantes.
Note
Amazon EMR extrait les métriques d'un cluster. Si un cluster devient inaccessible, aucune des métriques n'est signalée jusqu'à ce que le cluster redevienne disponible.
Les métriques suivantes sont disponibles pour les clusters exécutant les versions 2.x de Hadoop.
Métrique | Description |
---|---|
Statut du cluster | |
IsIdle |
Indique qu'un cluster ne s'exécute plus, mais est encore en actif et génère des frais. Il est défini sur 1 si aucune tâche ni aucun travail n'est en cours d'exécution, et défini sur 0 dans le cas contraire. Cette valeur est vérifiée à intervalles de cinq minutes et une valeur de 1 indique uniquement que le cluster a été inactif lors de la vérification, et non pas qu'il a été inactif pendant les cinq minutes entières. Pour éviter les fausses erreurs, vous devez déclencher une alarme lorsque cette valeur est 1 pendant plusieurs contrôles consécutifs de 5 minutes. Par exemple, vous pouvez déclencher une alarme pour cette valeur si elle renvoie 1 pendant au moins 30 minutes. Cas d'utilisation : surveiller les performances du cluster Unités : booléennes |
ContainerAllocated |
Nombre de conteneurs de ressources attribués par ResourceManager. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
ContainerReserved |
Nombre de conteneurs réservés. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
ContainerPending |
Nombre de conteneurs dans la file d'attente qui n'ont pas encore été alloués. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
ContainerPendingRatio |
Le rapport entre les conteneurs en attente et les conteneurs attribués (Rapport de conteneurs en attente = Conteneurs en attente/Conteneurs attribués). Si les Conteneurs attribués = 0, le Rapport des conteneurs en attente = Conteneurs en attente. La valeur du Rapport des conteneurs en attente est exprimée sous forme de nombre et non de pourcentage. Cette valeur est utile pour dimensionner les ressources de cluster en fonction du comportement d'attribution des conteneurs. Unités : nombre |
AppsCompleted |
Nombre de demandes soumises à YARN ayant été traitées. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
AppsFailed |
Nombre de demandes soumises à YARN impossibles à traiter. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
AppsKilled |
Nombre d'applications soumises à YARN ayant été désactivées. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
AppsPending |
Nombre d'applications soumises à YARN qui se trouvent dans un état d'attente. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
AppsRunning |
Nombre d'applications soumises à YARN qui sont en cours d'exécution. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
AppsSubmitted |
Nombre d'applications soumises à YARN. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
Statut du nœud | |
CoreNodesRunning |
Nombre de nœuds principaux actifs. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
CoreNodesPending |
Nombre de nœuds principaux en attente d'attribution. Il se peut que tous les nœuds principaux demandés ne soient pas immédiatement accessibles ; cette métrique indique les demandes en attente. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
LiveDataNodes |
Pourcentage de nœuds de données qui reçoivent des tâches de Hadoop. Cas d'utilisation : surveiller l'intégrité du cluster Unités : pourcentage |
MRTotalNodes |
Nombre de nœuds actuellement disponibles pour les tâches MapReduce. Équivalent à la métrique YARN Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MRActiveNodes |
Nombre de nœuds exécutant actuellement des tâches ou travaux MapReduce. Équivalent à la métrique YARN Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MRLostNodes |
Nombre de nœuds alloués à MapReduce qui ont été marqués à l'état PERDU. Équivalent à la métrique YARN Cas d'utilisation : surveiller l'intégrité du cluster, surveiller la progression du cluster Unités : nombre |
MRUnhealthyNodes |
Nombre de nœuds disponibles pour les tâches MapReduce marqués à l'état NON SAIN. Équivalent à la métrique YARN Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MRDecommissionedNodes |
Nombre de nœuds alloués aux applications MapReduce qui ont été marqués à l'état HORS SERVICE. Équivalent à la métrique YARN Cas d'utilisation : surveiller l'intégrité du cluster, surveiller la progression du cluster Unités : nombre |
MRRebootedNodes |
Nombre de nœuds disponibles pour MapReduce ayant été redémarrés et marqués à l'état REINITIALISE. Équivalent à la métrique YARN Cas d'utilisation : surveiller l'intégrité du cluster, surveiller la progression du cluster Unités : nombre |
MultiMasterInstanceGroupNodesRunning |
Le nombre de nœuds maîtres en cours d'exécution. Cas d'utilisation : surveiller l'échec et le remplacement du nœud maître Unités : nombre |
MultiMasterInstanceGroupNodesRunningPercentage |
Le pourcentage de nœuds principaux en cours d'exécution sur le nombre d'instances de nœuds principaux demandées. Cas d'utilisation : surveiller l'échec et le remplacement du nœud maître Unités : pourcentage |
MultiMasterInstanceGroupNodesRequested |
Le nombre de nœuds maîtres demandés. Cas d'utilisation : surveiller l'échec et le remplacement du nœud maître Unités : nombre |
E/S | |
S3BytesWritten |
Nombre d'octets écrits sur Amazon S3. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
S3BytesRead |
Nombre d'octets lus à partir d'Amazon S3. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
HDFSUtilization |
Pourcentage de stockage HDFS actuellement utilisé. Cas d'utilisation : analyser les performances du cluster Unités : pourcentage |
HDFSBytesRead |
Nombre d'octets lus à partir de HDFS. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
HDFSBytesWritten |
Nombre d'octets écrits sur HDFS. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
MissingBlocks |
Nombre de blocs dans lesquels HDFS n'a aucun réplica. Il peut s'agir de blocs corrompus. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
CorruptBlocks |
Nombre de blocs que HDFS indique comme étant corrompus. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
TotalLoad |
Nombre total de transferts de données simultanés. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
MemoryTotalMB |
Quantité totale de mémoire dans le cluster. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MemoryReservedMB |
Quantité de mémoire réservée. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MemoryAvailableMB |
Quantité de mémoire disponible à allouer. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
YARNMemoryAvailablePercentage |
Le pourcentage de mémoire disponible restante pour YARN (Pourcentage de mémoire disponible YARN = Mémoire disponible en Mo/Total de mémoire en Mo). Cette valeur est utile pour dimensionner les ressources de cluster en fonction de l'utilisation de mémoire YARN. Unités : pourcentage |
MemoryAllocatedMB |
Quantité de mémoire allouée au cluster. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
PendingDeletionBlocks |
Nombre de blocs marqués pour la suppression. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
UnderReplicatedBlocks |
Nombre de blocs devant être répliqués une ou plusieurs fois. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
DfsPendingReplicationBlocks |
État de la réplication des blocs : blocs en cours de réplication, l'âge des demandes de réplication et demandes de réplication ayant échoué. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
CapacityRemainingGB |
Quantité de capacité du disque HDFS restante. Cas d'utilisation : surveiller la progression du cluster, surveiller l'intégrité du cluster Unités : nombre |
Voici les métriques Hadoop 1 :
Métrique | Description |
---|---|
Statut du cluster | |
IsIdle |
Indique qu'un cluster ne s'exécute plus, mais est encore en actif et génère des frais. Il est défini sur 1 si aucune tâche ni aucun travail n'est en cours d'exécution, et défini sur 0 dans le cas contraire. Cette valeur est vérifiée à intervalles de cinq minutes et une valeur de 1 indique uniquement que le cluster a été inactif lors de la vérification, et non pas qu'il a été inactif pendant les cinq minutes entières. Pour éviter les fausses erreurs, vous devez déclencher une alarme lorsque cette valeur est 1 pendant plusieurs contrôles consécutifs de 5 minutes. Par exemple, vous pouvez déclencher une alarme pour cette valeur si elle renvoie 1 pendant au moins 30 minutes. Cas d'utilisation : surveiller les performances du cluster Unités : booléennes |
JobsRunning |
Nombre de tâches en cours d'exécution dans le cluster. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
JobsFailed |
Nombre de tâches qui ont échoué dans le cluster. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
Mapper/Réduire | |
MapTasksRunning |
Nombre de tâches de mappage en cours d'exécution pour chaque tâche. Si un planificateur est installé et plusieurs tâches sont en cours d'exécution, plusieurs graphiques sont générés. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MapTasksRemaining |
Nombre de tâches de mappage restantes pour chaque tâche. Si un planificateur est installé et plusieurs tâches sont en cours d'exécution, plusieurs graphiques sont générés. Une tâche de mappage restante correspond à une tâche dont l'état n'est pas l'un des états suivants : en cours d'exécution, désactivé ou terminé. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
MapSlotsOpen |
Capacité de tâche de mappage inutilisée. Elle est calculée sur la base du nombre maximal de tâches de mappage pour un cluster donné, moins le nombre total de tâches de mappage en cours d'exécution dans ce cluster. Cas d'utilisation : analyser les performances du cluster Unités : nombre |
RemainingMapTasksPerSlot |
Rapport entre les tâches de mappage total restantes et le nombre total d'emplacements de mappage disponibles dans le cluster. Cas d'utilisation : analyser les performances du cluster Unités : rapport |
ReduceTasksRunning |
Nombre de tâches de réduction en cours d'exécution pour chaque tâche. Si un planificateur est installé et plusieurs tâches sont en cours d'exécution, plusieurs graphiques sont générés. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
ReduceTasksRemaining |
Nombre de tâches de réduction restantes pour chaque tâche. Si un planificateur est installé et plusieurs tâches sont en cours d'exécution, plusieurs graphiques sont générés. Cas d'utilisation : surveiller la progression du cluster Unités : nombre |
ReduceSlotsOpen |
Capacité des tâches de réduction inutilisée. Elle est calculée sur la base de la capacité des tâches de réduction maximale pour un cluster donné, moins le nombre de tâches de réduction en cours d'exécution dans ce cluster. Cas d'utilisation : analyser les performances du cluster Unités : nombre |
Statut du nœud | |
CoreNodesRunning |
Nombre de nœuds principaux actifs. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
CoreNodesPending |
Nombre de nœuds principaux en attente d'attribution. Il se peut que tous les nœuds principaux demandés ne soient pas immédiatement accessibles ; cette métrique indique les demandes en attente. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
LiveDataNodes |
Pourcentage de nœuds de données qui reçoivent des tâches de Hadoop. Cas d'utilisation : surveiller l'intégrité du cluster Unités : pourcentage |
TaskNodesRunning |
Nombre de nœuds de tâches actifs. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
TaskNodesPending |
Nombre de nœuds de tâches en attente d'attribution. Il se peut que tous les nœuds de tâches demandés ne soient pas immédiatement accessibles ; cette métrique indique les demandes en attente. Les points de données pour cette métrique sont présentés uniquement s'il existe un groupe d'instances correspondant. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
LiveTaskTrackers |
Pourcentage de dispositifs de suivi des tâches fonctionnels. Cas d'utilisation : surveiller l'intégrité du cluster Unités : pourcentage |
E/S | |
S3BytesWritten |
Nombre d'octets écrits sur Amazon S3. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
S3BytesRead |
Nombre d'octets lus à partir d'Amazon S3. Cette métrique regroupe uniquement les tâches MapReduce et ne s'applique pas aux autres charges de travail sur Amazon EMR. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
HDFSUtilization |
Pourcentage de stockage HDFS actuellement utilisé. Cas d'utilisation : analyser les performances du cluster Unités : pourcentage |
HDFSBytesRead |
Nombre d'octets lus à partir de HDFS. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
HDFSBytesWritten |
Nombre d'octets écrits sur HDFS. Cas d'utilisation : analyser les performances du cluster, surveiller la progression du cluster Unités : nombre |
MissingBlocks |
Nombre de blocs dans lesquels HDFS n'a aucun réplica. Il peut s'agir de blocs corrompus. Cas d'utilisation : surveiller l'intégrité du cluster Unités : nombre |
TotalLoad |
Nombre total actuel de lecteurs et auteurs indiqué par tous les DataNodes d'un cluster. Cas d'utilisation : diagnostic de la mesure dans laquelle des performances d'I/O élevées peuvent contribuer à des performances d'exécution des tâches médiocres. Les nœuds de travail exécutant le démon DataNode doivent également procéder à des tâches de mappage et de réduction. Des valeurs TotalLoad constamment élevées peuvent être le signe que des I/O élevées contribuent à des performances médiocres. Des pics occasionnels de cette valeur ne sont pas inhabituels et ne sont généralement pas le signe d'un problème. Unités : nombre |
Métriques de capacité de cluster
Les métriques suivantes indiquent les capacités actuelles ou cibles d'un cluster. Ces métriques sont disponibles uniquement lorsque la mise à l'échelle gérée ou l'arrêt automatique sont activés.
Pour les clusters composés de parcs d'instances, les métriques de capacité de cluster sont mesurées en Units
. Pour les clusters composés de groupes d'instances, les métriques de capacité de cluster sont mesurées en Nodes
ou en VCPU
selon le type d'unité utilisé dans la politique de dimensionnement géré. Pour plus d'informations, consultez Utilisation de la mise à l'échelle gérée par EMR dans le Guide de gestion Amazon EMR.
Métrique | Description |
---|---|
|
Nombre total cible d'unités/nœuds/vCPU dans un cluster tel que déterminé par le dimensionnement géré. Unités : nombre |
|
Nombre total actuel d'unités/nœuds/vCPU disponibles dans un cluster en cours d'exécution. Lorsqu'un redimensionnement de cluster est demandé, cette métrique est mise à jour après l'ajout ou la suppression des nouvelles instances du cluster. Unités : nombre |
|
Nombre cible d'unités/nœuds/vCPU CORE dans un cluster tel que déterminé par le dimensionnement géré. Unités : nombre |
|
Nombre actuel d'unités/nœuds/vCPU CORE en cours d'exécution dans un cluster. Unités : nombre |
|
Nombre cible d'unités/nœuds/vCPU dans un cluster tel que déterminé par le dimensionnement géré. Unités : nombre |
|
Nombre actuel d'unités/nœuds/vCPU TASK en cours d'exécution dans un cluster. Unités : nombre |
Amazon EMR émet les statistiques suivantes avec une granularité d'une minute lorsque vous activez la terminaison automatique à l'aide d'une politique de terminaison automatique. Certaines mesures ne sont disponibles que pour les versions 6.4.0 et ultérieures d'Amazon EMR. Pour en savoir plus sur l'arrêt automatique, consultez Utilisation d'une politique de résiliation automatique.
Métrique | Description |
---|---|
TotalNotebookKernels |
Nombre total de noyaux de bloc-notes en cours d'exécution et inactifs sur le cluster. Cette métrique n'est disponible que pour les versions 6.4.0 et ultérieures d'Amazon EMR. |
AutoTerminationIsClusterIdle |
Indique si le cluster est en cours d'utilisation. La valeur 0 indique que le cluster est activement utilisé par l'un des composants suivants :
La valeur 1 indique que le cluster est inactif. Amazon EMR vérifie l'inactivité continue du cluster ( |
Dimensions pour les métriques Amazon EMR
Les données Amazon EMR peuvent être filtrées à l'aide des dimensions du tableau ci-dessous.
Dimension | Description |
---|---|
JobFlowId | Le même que l'ID de cluster, qui correspond à l'identifiant unique d'un cluster sous la forme j-XXXXXXXXXXXXX . Trouvez cette valeur en cliquant sur le cluster dans la console Amazon EMR. |