Monitorar o Amazon EMR com o CloudWatch
Métricas são atualizadas a cada cinco minutos e automaticamente coletadas e enviadas ao CloudWatch para cada cluster do Amazon EMR. Esse intervalo não é configurável. Não há cobrança para as métricas do Amazon EMR relatadas por meio do CloudWatch. Essas métricas de ponto de dados de cinco minutos são arquivadas por 63 dias, e os dados são descartados após esse período.
Como usar métricas do Amazon EMR?
A tabela a seguir mostra os usos comuns das métricas informadas pelo Amazon EMR. Essas são sugestões para você começar, e não uma lista abrangente. Para obter uma lista completa das métricas relatadas pelo Amazon EMR, consulte Métricas relatadas pelo Amazon EMR no CloudWatch.
Como eu faço para... | Métricas relevantes |
---|---|
Controlar o progresso do meu cluster | Examine as métricas RunningMapTasks , RemainingMapTasks , RunningReduceTasks e RemainingReduceTasks . |
Detectar clusters ociosos | A métrica IsIdle controla se um cluster está ativo, mas não executando tarefas no momento. Você pode definir um alarme a ser disparado quando o cluster permanecer ocioso por um determinado tempo, como trinta minutos. |
Detectar quando um nó fica sem armazenamento | A métrica MRUnhealthyNodes rastreia quando um ou mais nós centrais ou de tarefa ficam sem armazenamento em disco local e fazem a transição para o estado UNHEALTHY do YARN. Por exemplo, os nós centrais ou de tarefa estão com pouco espaço em disco e não poderão executar tarefas. |
Detectar quando um cluster fica sem armazenamento | A métrica HDFSUtilization monitora a capacidade HDFS combinada do cluster e pode exigir o redimensionamento do cluster para adicionar mais nós centrais. Por exemplo, a utilização do HDFS é alta, o que pode afetar os trabalhos e a integridade do cluster. |
Detectar quando um cluster está em execução com capacidade reduzida | A métrica MRLostNodes rastreia quando um ou mais nós centrais ou de tarefa não conseguem se comunicar com o nó principal. Por exemplo, o nó principal não consegue acessar o nó central ou de tarefa. |
Para obter mais informações, consulte O cluster é terminado com NO_SLAVE_LEFT e nós centrais FAILED_BY_MASTER e AWSSupport-AnalyzeEMRLogs.
Acessar as métricas do CloudWatch para o Amazon EMR
Você pode visualizar as métricas que o Amazon EMR informa ao CloudWatch usando o console do Amazon EMR ou o console do CloudWatch. Também é possível recuperar métricas usando o comando mon-get-stats
da CLI do CloudWatch ou a API GetMetricStatistics
do CloudWatch. Para obter mais informações sobre como visualizar ou recuperar métricas do Amazon EMR usando o CloudWatch, consulte o Guia do usuário do Amazon CloudWatch.
nota
Reformulamos o console do Amazon EMR para torná-lo mais fácil de usar. Consulte O que há de novo no console? para conhecer as diferenças entre as experiências do console antigo e novo.
Métricas relatadas pelo Amazon EMR no CloudWatch
A tabela a seguir lista todas as métricas que o Amazon EMR informa no console e envia ao CloudWatch.
Métricas do Amazon EMR
O Amazon EMR envia dados de diversas métricas para o CloudWatch. Todos os clusters do Amazon EMR enviam métricas automaticamente em intervalos de cinco minutos. As métricas são arquivadas por duas semanas. Depois desse período, os dados serão descartados.
O namespace AWS/ElasticMapReduce
inclui as métricas a seguir.
nota
O Amazon EMR extrai métricas de um cluster. Se um cluster torna-se inacessível, nenhuma métrica é relatada até que o cluster fique disponível novamente.
As métricas a seguir estão disponíveis para clusters que executam o Hadoop versões 2.x.
Métrica | Descrição |
---|---|
Status do cluster | |
IsIdle |
Indica que um cluster não está mais executando nenhum trabalho, mas ainda está ativo e acumulando cobranças. É definido como 1 se nenhuma tarefa ou nenhum trabalho estiver em execução, caso contrário, é definido como 0. Esse valor é verificado em intervalos de 5 minutos, sendo que um valor de 1 indica somente que o cluster estava ocioso no momento da verificação, e não que ele ficou ocioso durante todo o período de 5 minutos. Para evitar falsos positivos, você deve gerar um alerta quando esse valor for 1 em mais de uma verificação consecutiva de 5 minutos. Por exemplo, você pode gerar um alerta para esse valor se ele for 1 por 30 minutos ou mais. Caso de uso: monitorar a performance do cluster Unidade: booliano |
ContainerAllocated |
O número de contêineres de recurso alocados pelo ResourceManager. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
ContainerReserved |
O número de contêineres reservados. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
ContainerPending |
O número de contêineres na fila que ainda não foram alocados. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
ContainerPendingRatio |
A relação de contêineres pendentes para contêineres alocados (ContainerPendingRatio = ContainerPending / ContainerAllocated). Se ContainerAllocated = 0, ContainerPendingRatio = ContainerPending. O valor de ContainerPendingRatio representa um número, e não uma porcentagem. Esse valor é útil para escalonar recursos de cluster com base no comportamento de alocação do contêiner. Unidades: Contagem |
AppsCompleted |
O número de aplicativos enviados para o YARN que foram concluídos. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
AppsFailed |
O número de aplicativos enviados para o YARN que apresentaram falha ao concluir. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
AppsKilled |
O número de aplicativos enviados para o YARN que foram interrompidos. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
AppsPending |
O número de aplicativos enviados para o YARN em estado pendente. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
AppsRunning |
O número de aplicativos enviados para o YARN que estão em execução. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
AppsSubmitted |
O número de aplicativos enviados para o YARN. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
Status do nó | |
CoreNodesRunning |
O número de nós core em funcionamento. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
CoreNodesPending |
O número de nós core aguardando atribuição. Todos os nós core solicitados podem não estar disponíveis imediatamente; essa métrica reporta as solicitações pendentes. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
LiveDataNodes |
A porcentagem de nós de dados que estão recebendo trabalho do Hadoop. Caso de uso: monitorar a integridade do cluster Unidade: percentual |
MRTotalNodes |
O número de nós atualmente disponíveis para trabalhos MapReduce. Equivalente ao Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MRActiveNodes |
O número de nós executando tarefas ou trabalhos MapReduce no momento. Equivalente ao Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MRLostNodes |
O número de nós alocados para MapReduce que foram marcados em um estado LOST. Equivalente ao Caso de uso: monitorar a integridade do cluster, monitorar o progresso do cluster Unidades: Contagem |
MRUnhealthyNodes |
O número de nós disponíveis para trabalhos MapReduce que foram marcados em um estado UNHEALTHY. Equivalente ao Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MRDecommissionedNodes |
O número de nós alocados para aplicativos MapReduce que foram marcados em um estado DECOMMISSIONED. Equivalente ao Caso de uso: monitorar a integridade do cluster, monitorar o progresso do cluster Unidades: Contagem |
MRRebootedNodes |
O número de nós disponíveis para MapReduce que foram reiniciados e marcados em um estado REBOOTED. Equivalente ao Caso de uso: monitorar a integridade do cluster, monitorar o progresso do cluster Unidades: Contagem |
MultiMasterInstanceGroupNodesRunning |
O número de nós principais em execução. Caso de uso: monitorar falhas do nó principal e substituição Unidades: Contagem |
MultiMasterInstanceGroupNodesRunningPercentage |
A porcentagem de nós principais em execução sobre a contagem solicitada de instâncias de nós principais. Caso de uso: monitorar falhas do nó principal e substituição Unidade: percentual |
MultiMasterInstanceGroupNodesRequested |
O número de nós principais solicitados. Caso de uso: monitorar falhas do nó principal e substituição Unidades: Contagem |
IO | |
S3BytesWritten |
O número de bytes gravados no Amazon S3. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
S3BytesRead |
O número de bytes lidos no Amazon S3. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
HDFSUtilization |
O percentual de armazenamento do HDFS em uso no momento. Caso de uso: analisar a performance do cluster Unidade: percentual |
HDFSBytesRead |
O número de bytes lidos do HDFS. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
HDFSBytesWritten |
O número de bytes gravados no HDFS. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
MissingBlocks |
O número de blocos em que o HDFS não tem réplicas. Esses podem ser blocos danificados. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
CorruptBlocks |
O número de blocos que o HDFS reporta como corrompidos. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
TotalLoad |
O número total de transferências simultâneas de dados. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
MemoryTotalMB |
A quantidade total de memória no cluster. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MemoryReservedMB |
A quantidade de memória reservada. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MemoryAvailableMB |
A quantidade de memória disponível para ser alocada. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
YARNMemoryAvailablePercentage |
A porcentagem de memória restante disponível para YARN (YARNMemoryAvailablePercentage = MemoryAvailableMB / MemoryTotalMB). Esse valor é útil para escalonar recursos de cluster com base no uso da memória YARN. Unidade: percentual |
MemoryAllocatedMB |
A quantidade de memória alocada para o cluster. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
PendingDeletionBlocks |
O número de blocos marcados para exclusão. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
UnderReplicatedBlocks |
O número de blocos que precisam ser replicados uma ou mais vezes. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
DfsPendingReplicationBlocks |
O status da replicação de bloco: blocos sendo replicados, idade das solicitações de replicação e solicitações de replicação sem sucesso. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
CapacityRemainingGB |
A quantidade de capacidade de disco do HDFS restante. Caso de uso: monitorar o progresso do cluster, monitorar a integridade do cluster Unidades: Contagem |
Veja a seguir as métricas do Hadoop 1:
Métrica | Descrição |
---|---|
Status do cluster | |
IsIdle |
Indica que um cluster não está mais executando nenhum trabalho, mas ainda está ativo e acumulando cobranças. É definido como 1 se nenhuma tarefa ou nenhum trabalho estiver em execução, caso contrário, é definido como 0. Esse valor é verificado em intervalos de 5 minutos, sendo que um valor de 1 indica somente que o cluster estava ocioso no momento da verificação, e não que ele ficou ocioso durante todo o período de 5 minutos. Para evitar falsos positivos, você deve gerar um alerta quando esse valor for 1 em mais de uma verificação consecutiva de 5 minutos. Por exemplo, você pode gerar um alerta para esse valor se ele for 1 por 30 minutos ou mais. Caso de uso: monitorar a performance do cluster Unidade: booliano |
JobsRunning |
O número de trabalhos no cluster que estão em execução no momento. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
JobsFailed |
O número de trabalhos no cluster que apresentaram falha. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
Map/Reduce | |
MapTasksRunning |
O número de tarefas de mapeamento em execução para cada trabalho. Se você tiver um programador instalado e vários trabalhos em execução, vários gráficos são gerados. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MapTasksRemaining |
O número de tarefas de mapeamento restantes para cada trabalho. Se você tiver um programador instalado e vários trabalhos em execução, vários gráficos são gerados. Uma tarefa de mapeamento restante não está em nenhum dos seguintes estados: Running, Killed ou Completed. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
MapSlotsOpen |
A capacidade não utilizada da tarefa de mapeamento. É calculado como o número máximo de tarefas de mapeamento para um determinado cluster, menos o número total de tarefas de mapeamento em execução no momento nesse cluster. Caso de uso: analisar a performance do cluster Unidades: Contagem |
RemainingMapTasksPerSlot |
A razão entre o total de tarefas de mapeamento restantes e o total de slots de mapeamento disponíveis no cluster. Caso de uso: analisar a performance do cluster Unidade: razão |
ReduceTasksRunning |
O número de tarefas de redução em execução para cada trabalho. Se você tiver um programador instalado e vários trabalhos em execução, vários gráficos são gerados. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
ReduceTasksRemaining |
O número de tarefas de redução restantes para cada trabalho. Se você tiver um programador instalado e vários trabalhos em execução, vários gráficos são gerados. Caso de uso: monitorar o progresso do cluster Unidades: Contagem |
ReduceSlotsOpen |
Capacidade não utilizada das tarefas de redução. É calculado como a capacidade máxima da tarefa de redução para um determinado cluster, menos o número total de tarefas de redução em execução no momento nesse cluster. Caso de uso: analisar a performance do cluster Unidades: Contagem |
Status do nó | |
CoreNodesRunning |
O número de nós core em funcionamento. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
CoreNodesPending |
O número de nós core aguardando atribuição. Todos os nós core solicitados podem não estar disponíveis imediatamente; essa métrica reporta as solicitações pendentes. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
LiveDataNodes |
A porcentagem de nós de dados que estão recebendo trabalho do Hadoop. Caso de uso: monitorar a integridade do cluster Unidade: percentual |
TaskNodesRunning |
O número de nós da tarefa trabalhando. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
TaskNodesPending |
O número de nós de tarefa aguardando atribuição. Todos os nós de tarefa solicitados podem não estar disponíveis imediatamente; essa métrica reporta as solicitações pendentes. Os pontos de dados para essa métrica são relatados somente quando existe um grupo de instâncias correspondente. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
LiveTaskTrackers |
O percentual dos rastreadores de tarefas que estão funcionando. Caso de uso: monitorar a integridade do cluster Unidade: percentual |
IO | |
S3BytesWritten |
O número de bytes gravados no Amazon S3. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
S3BytesRead |
O número de bytes lidos no Amazon S3. Essa métrica agrega somente trabalhos do MapReduce, e não se aplica a outras workload no Amazon EMR. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
HDFSUtilization |
O percentual de armazenamento do HDFS em uso no momento. Caso de uso: analisar a performance do cluster Unidade: percentual |
HDFSBytesRead |
O número de bytes lidos do HDFS. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
HDFSBytesWritten |
O número de bytes gravados no HDFS. Caso de uso: analisar a performance do cluster, monitorar o progresso do cluster Unidades: Contagem |
MissingBlocks |
O número de blocos em que o HDFS não tem réplicas. Esses podem ser blocos danificados. Caso de uso: monitorar a integridade do cluster Unidades: Contagem |
TotalLoad |
O número total atual de leitores e escritores relatados por todos os DataNodes em um cluster. Caso de uso: diagnostique até que ponto a alta taxa de E/S pode continuar contribuindo para o desempenho insatisfatório da execução do trabalho. Os nós de operadores que executam o daemon do DataNode também devem executar tarefas de mapeamento e redução. Os valores TotalLoad persistentemente elevados ao longo do tempo podem indicar que a alta taxa de E/S é um possível fator que contribui para o desempenho insatisfatório. Os picos ocasionais nesse valor são típicos e geralmente não são indícios de problema. Unidades: Contagem |
Métricas de capacidade de cluster
As métricas a seguir indicam as capacidades atuais ou de destino de um cluster. Essas métricas só estão disponíveis quando o ajuste de escala gerenciado ou o término automático estão habilitados.
Para clusters compostos por frotas de instâncias, as métricas de capacidade de cluster são medidas em Units
. Para clusters compostos por grupos de instâncias, as métricas de capacidade de cluster são medidas em Nodes
ou VCPU
com base no tipo de unidade usado na política de escalabilidade gerenciada. Para obter mais informações, consulte Using EMR-managed scaling no Guia de gerenciamento do Amazon EMR.
Métrica | Descrição |
---|---|
|
O número total desejado de unidades/nós/vCPUs em um cluster, conforme determinado pela escalabilidade gerenciada. Unidades: Contagem |
|
O número total atual de unidades/nós/vCPUs disponíveis em um cluster em execução. Quando um redimensionamento de cluster for solicitado, essa métrica será atualizada depois que as novas instâncias forem adicionadas ou removidas do cluster. Unidades: Contagem |
|
O número desejado de unidades/nós/vCPUs CORE em um cluster, conforme determinado pela escalabilidade gerenciada. Unidades: Contagem |
|
O número atual de unidades/nós/vCPUs CORE em execução em um cluster. Unidades: Contagem |
|
O número desejado de unidades/nós/vCPUs TASK em um cluster, conforme determinado pela escalabilidade gerenciada. Unidades: Contagem |
|
O número atual de unidades/nós/vCPUs TASK em execução em um cluster. Unidades: Contagem |
O Amazon EMR emite as métricas a seguir em uma granularidade de um minuto quando você habilita o término automático usando uma política de término automático. Algumas métricas estão disponíveis somente para o Amazon EMR 6.4.0 e versões posteriores. Para saber mais sobre término automático, consulte Usar uma política de término automático.
Métrica | Descrição |
---|---|
TotalNotebookKernels |
O total de kernels de cadernos em execução e ociosos no cluster. Essa métrica está disponível somente para o Amazon EMR 6.4.0 e versões posteriores. |
AutoTerminationIsClusterIdle |
Indica se o cluster está em uso. O valor 0 indica que o cluster está sendo usado ativamente por um destes componentes:
O valor 1 indica que o cluster está ocioso. O Amazon EMR verifica a ociosidade contínua do cluster ( |
Dimensões para métricas do Amazon EMR
Os dados do Amazon EMR podem ser filtrados usando qualquer uma das dimensões da tabela a seguir.
Dimensão | Descrição |
---|---|
JobFlowId | Igual ao ID do cluster, que é o identificador exclusivo de um cluster no formato j-XXXXXXXXXXXXX . Encontre esse valor clicando no cluster do console do Amazon EMR. |