Exibir métricas de computação

Este artigo explica como usar a ferramenta de métricas de computação nativa na interface do usuário do Azure Databricks para coletar métricas-chave de hardware e do Spark. A UI de métricas está disponível para computação geral e por trabalhos.

Métricas de cluster das últimas 24 horas

As métricas estão disponíveis quase em tempo real com um atraso normal de menos de um minuto. As métricas são armazenadas no armazenamento gerenciado pelo Azure Databricks, não no armazenamento do cliente.

A computação sem servidor para notebooks e trabalhos usa insights de consultas em vez da UI de métricas. Para obter mais informações sobre métricas de computação sem servidor, consulte Visualizar insights da consulta.

Acessar a UI de métricas de computação

Para exibir a UI das métricas de computação:

  1. Clique em Computação na barra lateral.
  2. Clique no recurso de computação para o qual você deseja exibir as métricas.
  3. Clique na guia métricas.

As métricas de hardware para todos os nós são mostradas por padrão. Para visualizar as métricas do Spark, clique no menu suspenso denominado Hardware e selecione Spark. Você também pode selecionar GPU se a instância estiver habilitada para GPU.

Filtrar métricas por período de tempo

Você pode exibir métricas históricas selecionando um intervalo de tempo usando o filtro seletor de data. As métricas são coletadas a cada minuto, para que você possa filtrar por qualquer intervalo de dia, hora ou minuto dos últimos 30 dias. Clique no ícone de calendário para selecionar entre intervalos de dados predefinidos ou clique dentro da caixa de texto para definir valores personalizados.

Observação

Os intervalos de tempo exibidos nos gráficos se ajustam com base no período de tempo que você está exibindo. A maioria das métricas são médias com base no intervalo de tempo que você está exibindo no momento.

Você também pode obter as métricas mais recentes clicando no botão Atualizar.

Exibir métricas no nível do nó

Por padrão, a página de métricas mostra as métricas para todos os nós em um cluster (incluindo o driver) calculadas como média ao longo do período.

Você pode exibir métricas para nós individuais clicando no menu suspenso Todos os nós e selecionando o nó para o qual deseja exibir as métricas. As métricas de GPU estão disponíveis apenas no nível de nó individual. As métricas do Spark não estão disponíveis para nodos individuais.

Para ajudar a identificar quaisquer nós de exceção dentro do cluster, você também pode exibir métricas para todos os nós individuais em uma única página. Para acessar essa exibição, clique no menu suspenso Todos os nós e selecione Por nó e, em seguida, selecione a subcategoria de métrica que você deseja exibir.

Métricas de cluster por nó nas últimas 24 horas

Gráficos de métricas de hardware

Os seguintes gráficos de métricas de hardware estão disponíveis para visualização na IU de métricas de computação:

  • Utilização da CPU e nós ativos: o grafo de linha exibe o número de nós ativos em cada carimbo de data/hora para a computação fornecida. O gráfico de barras exibe a porcentagem de tempo gasto pela CPU em cada modo, com base no custo total de segundos da CPU. A seguir estão os modos rastreados:
    • guest: se você estiver executando VMs, a CPU que essas VMs utilizam
    • iowait: tempo gasto aguardando E/S
    • idle: hora em que a CPU não tinha nada a fazer
    • irq: tempo gasto em solicitações de interrupção
    • nice: tempo usado por processos que têm uma integridade positiva, o que significa uma prioridade menor do que outras tarefas
    • softirq: tempo gasto em solicitações de interrupção de software
    • steal: se você for uma VM, tempo que outras VMs "roubaram" de suas CPUs
    • system: o tempo gasto no núcleo
    • user: o tempo gasto no espaço de usuário
  • Uso de memória do contêiner: a memória consumida pelo contêiner do Spark, em média em todos os nós aplicáveis. Inclui médias de memória não recuperável (Container memory used), o cache da página de arquivo do sistema operacional (Container memory file cache) e o limite de memória configurado (Container memory limit).
  • Uso de heap de JVM: o uso de memória de heap JVM, em média em todos os nós aplicáveis. Inclui médias do uso efetivo do heap, da capacidade do heap e do limite máximo do heap configurado.
  • Rede recebida e transmitida: o número de bytes recebidos e transmitidos pela rede por cada dispositivo.
  • Espaço livre do sistema de arquivos: o uso total do sistema de arquivos por cada ponto de montagem, medido em bytes.

Clique no uso de memória do nó na parte inferior da guia Hardware para expandir o seguinte gráfico adicional:

  • Utilização e troca de memória: o grafo de linha mostra o uso total de troca de memória por modo, medido em bytes. O gráfico de barras mostra o uso total de memória por modo, também medido em bytes. Os seguintes tipos de uso são acompanhados:
    • used: memória total no nível do sistema operacional em uso, incluindo a memória usada por processos em segundo plano em execução em uma computação. Como os processos de driver e em segundo plano utilizam memória, o uso ainda pode aparecer mesmo quando nenhum trabalho do Spark está em execução.
    • other: memória em uso para fins diferentes de used, buffer ou cached
    • buffer: memória usada por buffers de kernel
    • cached: memória usada pelo cache do sistema de arquivos no nível do sistema operacional
    • free: memória não utilizado. Qualquer coisa não atribuída a uma das categorias acima no gráfico é gratuita.

Gráficos de métricas do Spark

Os seguintes gráficos de métricas do Spark estão disponíveis para exibição na interface do usuário das métricas de computação:

  • Distribuição de carga do servidor: esses blocos mostram a utilização da CPU no último minuto para cada nó no recurso de computação. Cada tile é um link clicável para a página das métricas do nó individual.
  • Tarefas ativas: o número total de tarefas em execução a qualquer momento.
  • Total de tarefas com falha: o número total de tarefas que falharam em executores.
  • Total de tarefas concluídas: o número total de tarefas concluídas em executores.
  • Número total de tarefas: o número total de todas as tarefas (em execução, com falha e concluídas) em executores.
  • Leitura total de shuffle: o tamanho total dos dados de leitura de shuffle, medidos em bytes. Shuffle read significa a soma de dados de leitura serializados em todos os executores no início de um estágio.
  • Escrita de embaralhamento total: O tamanho total da escrita de embaralhamento, medido em bytes. Shuffle Write é a soma de todos os dados serializados gravados em todos os executores antes de transmitir (normalmente no final de um estágio).
  • Duração total da tarefa: o tempo total decorrido que a JVM gastou executando tarefas em executores, medido em segundos.

Gráficos de métricas de GPU

Observação

As métricas de GPU só estão disponíveis no Databricks Runtime ML 13.3 e superior.

Os seguintes gráficos de métricas de GPU estão disponíveis para exibição na interface do usuário das métricas de computação:

  • Distribuição de carga do servidor: esse gráfico mostra a utilização da CPU no último minuto para cada nó.
  • Utilização do decodificador por GPU: A porcentagem de utilização do decodificador de GPU.
  • Utilização do codificador por GPU: o percentual de utilização do codificador de GPU.
  • Memória de buffer de quadro por GPU, em bytes: a utilização da memória do buffer de quadros, medida em bytes.
  • Utilização de memória por GPU: o percentual de utilização de memória das GPUs.
  • Per-GPU utilization: o percentual de utilização da GPU.

Solução de problemas

Se você vir métricas incompletas ou ausentes por um período, pode ser um dos seguintes problemas:

  • Uma interrupção no serviço do Databricks responsável por consultar e armazenar métricas.
  • Problemas de rede no lado do cliente.
  • O recurso computacional está ou estava em um estado não saudável.