Cloud Monitoring

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Cloud Monitoring mostra o desempenho, o tempo de atividade e a integridade geral de aplicativos com tecnologia de nuvem. O pacote de operações do Google Cloud coleta e ingere métricas, eventos e metadados de clusters do Dataproc, incluindo métricas HDFS, YARN, job e operação por cluster, para gerar insights por meio de painéis e gráficos (consulte Métricas do Dataproc do Cloud Monitoring).

Use as métricas do cluster do Cloud Monitoring para monitorar o desempenho e a integridade dos clusters do Dataproc.

Métricas do cluster do Dataproc

As métricas do recurso do cluster do Dataproc são ativadas automaticamente em clusters do Dataproc. Use o Monitoring para ver essas métricas.

Ver métricas do cluster

É possível examinar o Monitoring no Console do Google Cloud ou usando a API Monitoring.

Console

  1. Depois de criar um cluster, acesse Monitoramento no Console do Google Cloud para ver os dados de monitoramento do cluster.

    Depois que o console do Monitoring aparecer, você poderá instalar o agente do Monitoring em VMs no seu projeto como uma etapa adicional de configuração. Não é necessário instalar o agente em VMs em clusters do Dataproc porque essa etapa é executada quando você cria um cluster do Dataproc.

  2. Selecione Metrics Explorer. Na lista suspensa "Encontrar tipo de recurso e métrica" selecione o recurso "Cloud Dataproc Cluster" ou digite "cloud_dataproc_cluster" na caixa.
  3. Clique novamente na caixa de entrada e selecione uma métrica na lista suspensa. Na próxima captura de tela, "YARN memory size" está selecionado. Passe o mouse sobre o nome da métrica para ver informações sobre ela.

    Você pode selecionar filtros, agrupar por marcadores de métricas, executar agregações e selecionar opções de exibição de gráficos. Consulte a documentação do Monitoring.

API

Você pode usar a API timeSeries.list do Monitoring para capturar e listar métricas definidas por uma expressão filter. Use o modelo Try this API na página da API para enviar uma solicitação de API e exibir a resposta.

Exemplo: veja o snapshot de uma solicitação de modelo e a resposta JSON retornada para os seguintes parâmetros timeSeries.list do Monitoring:

  • name: projects/example-project-id
  • filter: metric.type="dataproc.googleapis.com/cluster/hdfs/storage_capacity"
  • interval.endTime: 2018-02-27T11:54:00.000-08:00
  • interval.startTime: 2018-02-20T00:00:00.000-08:00

Métricas do OSS

O Dataproc coleta e integra as métricas do componente OSS do cluster do Dataproc no Monitoring. As métricas de OSS do Dataproc são coletadas no seguinte formato:

custom.googleapis.com/OSS_COMPONENT/METRIC.

Exemplos de métrica de OSS:

custom.googleapis.com/spark/driver/DAGScheduler/job/allJobs
custom.googleapis.com/hiveserver2/memory/MaxNonHeapMemory

Métricas de OSS disponíveis

É possível ativar o Dataproc para coletar as métricas de OSS listadas nas tabelas a seguir. A coluna Coletado por padrão será marcada com "quot;y" se o Dataproc coletar a métrica por padrão quando você ativar a origem da métrica associada. Qualquer uma das métricas listadas em uma origem de métrica e todas as métricas do Spark poderá ser ativada para coleta se você modificar o conjunto de métricas padrão da origem de métricas (consulte Ativar a coleta de métricas do OSS).

Métricas do Hadoop

Métricas do HDFS

Métrica Nome do Metrics Explorer Coletado por padrão
hdfs:NomeNó:FSNameSystem:CapacidadeTotalGB dfs/FSNamesystem/capacityTotalGB y
hdfs:NomeNó:FSNameSystem:CapacidadeUsedGB dfs/FSNamesystem/capacityUsedGB y
hdfs:NomeNó:FSNamesystem:Capacidade restanteGB dfs/FSNamesystem/Capacidade restanteGB y
hdfs:NomeNó:FSNameSystem:FilesTotal dfs/FSNamesystem/FilesTotal y
hdfs:NomeNó:FSNamesystem:MissingBlocks dfs/FSNamesystem/MissingBlocks n
hdfs:NomeNode:FSNamesystem:ExpirationHeartbeats dfs/FSNamesystem/ExpirationHeartbeats n
hdfs:NomeNó:FSNamesystem:TransactionsinceLastCheckpoint dfs/FSNamesystem/Transaction SinceLastCheckpoint n
hdfs:NomeNó:FSNamesystem:TransaçõesDesdeÚltimoÚltimoLogRoll dfs/FSNamesystem/Transaction SinceLastLogRoll n
hdfs:NomeNó:FSNamesystem:LastWrittenTransactionId dfs/FSNamesystem/LastWrittenTransactionId n
hdfs:NomeNó:FSNameSystem:CapacidadeTotal dfs/FSNamesystem/capacityTotal n
hdfs:NomeNode:FSNamesystem:capacityUsed dfs/FSNamesystem/capacityUsed n
hdfs:NomeNó:FSNameSystem:Capacidade restante dfs/FSNamesystem/Capacidade restante n
hdfs:NomeNode:FSNamesystem:capacityUsedNonDFS dfs/FSNamesystem/capacityUsedNonDFS n
hdfs:NomeNó:FSNameSystem:TotalLoad dfs/FSNamesystem/TotalLoad n
hdfs:NomeNó:FSNamesystem:SnapshottableDirectories dfs/FSNamesystem/SnapshottableDirectories n
hdfs:NomeNode:FSNamesystem:Snapshots dfs/FSNamesystem/Snapshots n
hdfs:NomeNó:FSNameSystem:BlocksTotal dfs/FSNamesystem/BlocksTotal n
hdfs:NomeNode:FSNamesystem:PendingReplicationBlocks dfs/FSNamesystem/PendingReplicationBlocks n
hdfs:NomeNode:FSNamesystem:UnderReplicatedBlocks dfs/FSNamesystem/UnderReplicatedBlocks n
hdfs:NomeNó:FSNamesystem:CorruptBlocks dfs/FSNamesystem/CorruptBlocks n
hdfs:NomeNode:FSNamesystem:ScheduledReplicationBlocks dfs/FSNamesystem/ScheduledReplicationBlocks n
hdfs:NomeNó:FSNamesystem:PendingDeletionBlocks dfs/FSNamesystem/PendingExclusionBlocks n
hdfs:NomeNó:FSNamesystem:ExcessBlocks dfs/FSNamesystem/ExcessBlocks n
hdfs:NomeNode:FSNamesystem:PostponedMisreplicatedBlocks dfs/FSNamesystem/PostponedMisreplicatedBlocks n
hdfs:NomeNó:FSNamesystem:PendingDataNodeMessageCourt dfs/FSNamesystem/PendingDataNodeMessageCourt n
hdfs:NomeNó:FSNamesystem:MillissinceLastLoadedEdits dfs/FSNamesystem/MillissinceLastLoadedEdits n
hdfs:NomeNode:FSNamesystem:Blockcapacity dfs/FSNamesystem/Blockcapacity n
hdfs:NomeNó:FSNamesystem:StaleDataNodes dfs/FSNamesystem/StaleDataNodes n
hdfs:NomeNó:FSNameSystem:TotalFiles dfs/FSNamesystem/TotalFiles n
hdfs:NomeNode:JvmMetrics:MemHeapUsedM dfs/jvm/MemHeapUsedM n
hdfs:NomeNode:JvmMetrics:MemHeapCompromissoM dfs/jvm/MemHeapCommitM n
hdfs:NomeNode:JvmMetrics:MemHeapMaxM dfs/jvm/MemHeapMaxM n
hdfs:NomeNó:JvmMetrics:MMaxMaxM dfs/jvm/MemMaxM n

Métricas YARN

Métrica Nome do Metrics Explorer Coletado por padrão
yarn:ResourceManager:ClusterMetrics:NumActiveNMs lã/ClusterMetrics/NumActiveNMs y
yarn:ResourceManager:ClusterMetrics:NumDecommissionedNMs lã/ClusterMetrics/NumDecommissionedNMs n
yarn:ResourceManager:ClusterMetrics:NumLostNMs lã/ClusterMetrics/NumLostNMs n
yarn:ResourceManager:ClusterMetrics:NumUnhealthNMs lã/ClusterMetrics/NumUnhealthyNMs n
yarn:ResourceManager:ClusterMetrics:NumReiniciaredNMs lã/ClusterMetrics/NumReiniciaredNMs n
yarn:ResourceManager:QueueMetrics:running_0 lã/QueueMetrics/running_0 y
yarn:ResourceManager:QueueMetrics:running_60 lã/QueueMetrics/running_60 y
yarn:ResourceManager:QueueMetrics:running_300 lã/QueueMetrics/running_300 y
yarn:ResourceManager:QueueMetrics:running_1440 lã/QueueMetrics/running_1440 y
yarn:ResourceManager:QueueMetrics:AppsEnviados lã/QueueMetrics/AppsEnviados y
yarn:ResourceManager:QueueMetrics:DisponívelMB lã/QueueMetrics/AvailableMB y
yarn:ResourceManager:QueueMetrics:PendingContainers lã/QueueMetrics/PendingContainers y
yarn:ResourceManager:QueueMetrics:AppsRunning lã/QueueMetrics/AppsRunning n
yarn:ResourceManager:QueueMetrics:AppsPending lã/QueueMetrics/AppsPending n
yarn:ResourceManager:QueueMetrics:AppsCompleted lã/QueueMetrics/AppsCompleted n
yarn:ResourceManager:QueueMetrics:AppsKilled lã/QueueMetrics/AppsKilled n
yarn:ResourceManager:QueueMetrics:AppsFailed lã/QueueMetrics/AppsFailed n
yarn:ResourceManager:QueueMetrics:Alocação de MB lã/QueueMetrics/Alocada MB n
yarn:ResourceManager:QueueMetrics:AlodVCores lã/QueueMetrics/AlocdVCores n
yarn:ResourceManager:QueueMetrics:Alocação de Contêineres lã/QueueMetrics/alocadadContainers n
yarn:ResourceManager:QueueMetrics:AggregateContainersAlignd lã/QueueMetrics/AggregateContainersGKEd n
yarn:ResourceManager:QueueMetrics:AggregateContainersReleased lã/QueueMetrics/AggregateContainersReleased n
yarn:ResourceManager:QueueMetrics:AvailableVCores lã/QueueMetrics/AvailableVCores n
yarn:ResourceManager:QueueMetrics:PendingMB lã/QueueMetrics/PendingMB n
yarn:ResourceManager:QueueMetrics:PendingVCores lã/QueueMetrics/PendingVCores n
yarn:ResourceManager:QueueMetrics:Reservado lã/QueueMetrics/Reservado n
yarn:ResourceManager:QueueMetrics:ReservaVCores lã/QueueMetrics/ReservaVCVCores n
yarn:ResourceManager:QueueMetrics:ReservadoContainers lã/QueueMetrics/ReservasDeContêineres n
yarn:ResourceManager:QueueMetrics:ActiveUsers lã/QueueMetrics/ActiveUsers n
yarn:ResourceManager:QueueMetrics:ActiveApplications lã/QueueMetrics/ActiveApplications n
lã:ResourceManager:QueueMetrics:FairShareMB lã/QueueMetrics/FairShareMB n
yarn:ResourceManager:QueueMetrics:FairShareVCores lã/QueueMetrics/FairShareVCores n
yarn:ResourceManager:QueueMetrics:MinShareMB lã/QueueMetrics/MinShareMB n
yarn:ResourceManager:QueueMetrics:MinShareVCores lã/QueueMetrics/MinShareVCores n
yarn:ResourceManager:QueueMetrics:MaxShareMB lã/QueueMetrics/MaxShareMB n
yarn:ResourceManager:QueueMetrics:MaxShareVCores lã/QueueMetrics/MaxShareVCores n
yarn:ResourceManager:JvmMetrics:MemHeapUsedM lã/jvm/memHeapUsedM n
yarn:ResourceManager:JvmMetrics:MemHeapCompromissoM yarn/jvm/MemHeapCommitM n
yarn:ResourceManager:JvmMetrics:MemHeapMaxM lã/jvm/memHeaMaxMaxM n
yarn:ResourceManager:JvmMetrics:MemMaxM lã/jvm/memMaxM n

Métricas do Spark

Métricas do driver do Spark

Métrica Nome do Metrics Explorer Coletado por padrão
spark:driver:BlockManager:disk.diskSpaceUsed_MB spark/driver/BlockManager/disk/diskSpaceUsed_MB y
spark:driver:BlockManager:memory.maxMem_MB Spark/Driver/BlockManager/memory/maxMem_MB y
spark:driver:BlockManager:memory.memUsed_MB Spark/Driver/BlockManager/memory/memUsed_MB y
spark:driver:DAGScheduler:job.allJobs spark/driver/DAGScheduler/job/allJobs y
spark:driver:DAGScheduler:stage.failedStages Spark/Driver/DAGScheduler/stage/failedStages y
spark:driver:DAGScheduler:stage.waitingStages Spark/Driver/DAGScheduler/stage/waitingStages y

Métricas do executor do Spark

Métrica Nome do Metrics Explorer Coletado por padrão
spark:executor:executor:bytesRead Spark/executor/bytesRead y
spark:executor:executor:bytesWritten Spark/executor/bytes Written y
spark:executor:executor:cpuTime spark/executor/cpuTime y
spark:executor:executor:diskBytesSpilled spark/executor/diskBytesSpilled y
spark:executor:executor:registros Spark/executor/recordsRead y
spark:executor:executor:recordsWritten Spark/executor/recordsWritten y
spark:executor:executor:tempo de execução Spark/executor/runTime y
spark:executor:executor:shuffleRecordsRead spark/executor/shuffleRecordsRead y
spark:executor:executor:shuffleRecordsWritten spark/executor/shuffleRecordsWritten y

Métricas do servidor de histórico do Spark

O Dataproc coleta as seguintes métricas de memória da JVM sobre o serviço de histórico do Spark:

Métrica Nome do Metrics Explorer Coletado por padrão
sparkHistoryServer:JVM:Memória:HeapMemoryUsage.comconfirmado sparkHistoryServer/memory/CommitHeapMemory y
sparkHistoryServer:JVM:Memory:HeapMemoryUsage.used sparkHistoryServer/memory/UsedHeapMemory y
sparkHistoryServer:JVM:Memória:HeapMemoryUsage.max sparkHistoryServer/memory/MaxHeapMemory y
sparkHistoryServer:JVM:Memória:NonHeapMemoryUsage.comconfirmado sparkHistoryServer/memory/CommitNonHeapMemory y
sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.used sparkHistoryServer/memory/UsedNonHeapMemory y
sparkHistoryServer:JVM:Memória:NonHeapMemoryUsage.max sparkHistoryServer/memory/MaxNonHeapMemory y

Métricas do HiveServer 2

Métrica Nome do Metrics Explorer Coletado por padrão
hiveserver2:JVM:Memória:HeapMemoryUsage.comconfirmado hiveserver2/memory/CommitHeapMemory y
hiveserver2:JVM:Memória:HeapMemoryUsage.used hiveserver2/memory/UsedHeapMemory y
hiveserver2:JVM:Memória:HeapMemoryUsage.max hiveserver2/memory/MaxHeapMemory y
hiveserver2:JVM:Memória:NonHeapMemoryUsage.comconfirmado hiveserver2/memory/CommitNonHeapMemory y
hiveserver2:JVM:Memória:NonHeapMemoryUsage.used hiveserver2/memory/UsedNonHeapMemory y
hiveserver2:JVM:Memória:NonHeapMemoryUsage.max hiveserver2/memory/MaxNonHeapMemory y

Métricas do agente de monitoramento do Dataproc

Por padrão, o Dataproc coleta as seguintes métricas padrão do agente de monitoramento do Dataproc, que são publicadas com um prefixo agent.googleapis.com:

CPU
agent.googleapis.com/cpu/load_15m
agent.googleapis.com/cpu/load_1m
agent.googleapis.com/cpu/load_5m
agent.googleapis.com/cpu/usage_time*
agent.googleapis.com/cpu/utilization*

Disco
agent.googleapis.com/disk/bytes_used
agent.googleapis.com/disk/io_time
agent.googleapis.com/disk/merged_operations
agent.googleapis.com/disk/Operation_count
agent.googleapis.com/disk/operations_time
agent.googleapis.com/disk/pending_operations
agent.googleapis.com/disk/percent_bytes
agent

Trocar
agent.googleapis.com/swap/bytes_used
agent.googleapis.com/swap/io
agent.googleapis.com/swap/percent_used

Memória
agent.googleapis.com/memory/bytes_used
agent.googleapis.com/memory/percent_used

Processos: (segue uma política de cota um pouco diferente para alguns atributos)
agent.googleapis.com/processes/count_by_state
agent.googleapis.com/processes/cpu_time
agent.googleapis.com/processes/disk/read_bytes_count
agent.googleapis.com/processes/disk/write_bytes_count
agent.googleapis.com/processes/usagek_sources

Interface
agent.googleapis.com/interface/errors
agent.googleapis.com/interface/packets
agent.googleapis.com/interface/traffic

Rede
agent.googleapis.com/network/tcp_connections

Ativar a coleta de métricas do OSS

Ao criar um cluster do Dataproc, você pode usar a CLI gcloud ou a API Dataproc para ativar a coleta de métricas do OSS de duas maneiras (é possível usar um ou ambos os métodos de coleta):

  1. Ative a coleta apenas das métricas padrão de uma ou mais fontes de métricas do OSS
  2. Permitir a coleta de métricas especificadas ("override") de uma ou mais fontes de métricas do OSS

Comando gcloud

Coleta de métricas padrão

Use a sinalização gcloud dataproc clusters create --metric-sources para ativar a coleta de métricas padrão de OSS disponíveis de uma ou mais fontes de métricas.

gcloud dataproc clusters create cluster-name \
    --metric-sources=METRIC_SOURCE(s) \
    ... other flags

Observações:

  • --metric-sources: obrigatório para ativar a coleta de métricas padrão. Especifique uma ou mais das seguintes fontes de métrica: spark, hdfs, yarn, spark-history-server, hiveserver2 e monitoring-agent-defaults. O nome da fonte da métrica não diferencia maiúsculas de minúsculas (por exemplo, "yarn" ou "YARN" é aceitável).

Substituir a coleta de métricas

Como alternativa, adicione a sinalização --metric-overrides ou --metric-overrides-file para ativar a coleta de uma ou mais das métricas de OSS disponíveis de uma ou mais fontes de métricas.

  • Qualquer uma das métricas do OSS disponíveis e todas as métricas do Spark pode ser listada para coleta como uma modificação de métrica. Os valores de métrica de substituição diferenciam maiúsculas de minúsculas e precisam ser fornecidos, se apropriado, no formato CamelCase.

    Examples

    • sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed
    • hiveserver2:JVM:Memory:NonHeapMemoryUsage.used
    • yarn:ResourceManager:JvmMetrics:MemHeapMaxM
  • Somente as métricas substituídas especificadas serão coletadas de uma determinada origem de métricas. Por exemplo, se uma ou mais métricas spark:executive estiverem listadas como substituições, outras métricas SPARK não serão coletadas. A coleta de métricas padrão do OSS de outras fontes não é afetada. Por exemplo, se as origens de métricas SPARK e YARN estiverem ativadas e as substituições forem fornecidas apenas para métricas do Spark, todas as métricas padrão do YARN serão coletadas.
  • A origem da modificação da métrica especificada precisa estar ativada. Por exemplo, se uma ou mais métricas spark:driver forem fornecidas como substituições, a fonte de métricas spark precisará ser ativada (--metric-sources=spark).

Substituir lista de métricas

gcloud dataproc clusters create cluster-name \
    --metric-sources=METRIC_SOURCE(s) \
    --metric-overrides=LIST_OF_METRIC_OVERRIDES \
    ... other flags

Observações:

  • --metric-sources: obrigatório para ativar a coleta de métricas padrão. Especifique uma ou mais das seguintes fontes de métrica: spark, hdfs, yarn, spark-history-server, hiveserver2 e monitoring-agent-defaults. O nome da origem da métrica não diferencia maiúsculas de minúsculas. Por exemplo, "yarn" ou "YARN" é aceitável.
  • --metric-overrides: forneça uma lista de métricas no seguinte formato:

    METRIC_SOURCE:INSTANCE:GROUP,METRIC

    Use o formato concatenado conforme apropriado.

    Exemplo:--metric-overrides=sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed

  • Essa sinalização é uma alternativa e não pode ser usada com a sinalização --metric-overrides-file.

Arquivo de métricas de substituição

gcloud dataproc clusters create cluster-name \
    --metric-sources=METRIC-SOURCE(s) \
    --metric-overrides-file=METRIC_OVERRIDES_FILENAME \
    ... other flags

Observações:

  • --metric-sources: obrigatório para ativar a coleta de métricas padrão. Especifique uma ou mais das seguintes fontes de métrica: spark, hdfs, yarn, spark-history-server, hiveserver2 e monitoring-agent-defaults. O nome da fonte da métrica não diferencia maiúsculas de minúsculas. Por exemplo, "yarn" ou "YARN" é aceitável.
  • --metric-overrides-file: especifique um arquivo local ou do Cloud Storage (gs://bucket/filename) que contenha uma ou mais métricas no seguinte formato:

    METRIC_SOURCE:INSTANCE:GROUP,METRIC

    Use o formato concatenado conforme apropriado.

    Exemplo: --metric-overrides=sparkHistoryServer:JVM:Memory:NonHeapMemoryUsage.committed

  • Essa sinalização é uma alternativa e não pode ser usada com a sinalização --metric-overrides-file.

API REST

Use DataprocMetricConfig como parte de uma solicitação clusters.create para ativar a coleta de métricas do OSS.

Criar um painel do Monitoring

É possível criar um painel personalizado do Monitoring que exibe gráficos de métricas de cluster selecionadas do Cloud Dataproc.

  1. Selecione + CREATE DASHBOARD na página Dashboards Overview do Monitoring. Forneça um nome para o painel e clique em Add Chart no menu superior direito para abrir a janela Add Chart. Selecione “Cloud Dataproc Cluster” como o tipo de recurso. Selecione uma ou mais métricas e propriedades para métricas e gráficos. Em seguida, salve o gráfico.

  2. É possível adicionar gráficos ao seu painel. Depois que você salvar o painel, seu título aparecerá na página Dashboards Overview do Monitoring. Os gráficos do painel podem ser exibidos, atualizados e excluídos a partir da página de exibição do painel.

Criar alertas

Você pode criar um alerta do Monitoring para notificar quando a métrica de um job ou cluster do Dataproc ultrapassar um limite especificado, por exemplo, quando a capacidade livre de HDFS estiver baixa.

  1. Abra Monitoramento de alertas no Console do Google Cloud. Clique em + CREATE POLICY para abrir o formulário Create new alerting policy. Para definir um alerta, adicione condições de alerta, acionadores de política, canais de notificação e documentação.

  2. Selecione ADD CONDITION para abrir o formulário de condição de alerta com a guia "Metric" selecionada. Preencha os campos para definir uma condição de alerta e clique em ADD. A condição de alerta de exemplo mostrada abaixo será acionada quando a capacidade do HDFS do cluster do Dataproc ficar abaixo do limite de 930 GiB (GB binário) especificado (998.579.896.320 bytes) por 1 minuto.

  3. Depois de adicionar a condição de alerta, preencha a política de alerta configurando canais de notificação, acionadores de política, documentação e o nome da política de alerta.

Ver alertas

Quando um alerta é acionado por uma condição de limite de métrica, o Monitoring cria um incidente e um evento correspondente. É possível ver os incidentes na página Monitoramento de alertas no Console do Google Cloud. O Monitoring também envia uma notificação do incidente se tiver sido definido na política de alerta algum mecanismo de notificação, como notificações por e-mail ou por SMS.

A seguir