Monitorar e otimizar os recursos de jobs consultando as métricas

Este documento descreve como monitorar e tentar otimizar os recursos de um job em lote visualizando métricas no Cloud Monitoring. Para saber mais sobre os recursos em que um job é executado, consulte Recursos de jobs.

Para qualquer job, o Monitoring fornece métricas básicas, como a utilização da CPU e o tráfego de rede. No entanto, algumas métricas, como a memória e a utilização do processo, só podem ser coletadas se um job instalar o Agente de operações. As métricas dos recursos de um job ajudam a avaliar o desempenho e a utilização de cada recurso. Essas informações podem ajudar a identificar melhorias para qualquer edição futura do job. Por exemplo, você pode remover recursos não utilizados para otimizar custos ou melhorar ou aumentar os recursos sobrecarregados para melhorar o desempenho.

Antes de começar

  1. Se você nunca usou o Batch, consulte Começar a usar o Batch e ative o Batch concluindo os pré-requisitos para projetos e usuários.
  2. Opcional: para coletar outras métricas de um job, crie e execute um job que instale automaticamente o Agente de operações.
  3. Ative a API Monitoring no seu projeto, se ainda não tiver feito isso:

    Enable the API

  4. Para receber as permissões necessárias para conferir as métricas de observabilidade, peça ao administrador para conceder a você o Papel do IAM de leitor de métricas de monitoramento (roles/monitoring.metricViewer) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Conferir métricas de recursos de jobs

Observar e monitorar VMs na documentação do Compute Engine fornece informações conceituais relevantes sobre as métricas de VM. No entanto, métodos diferentes são recomendados para visualizar métricas de VM para jobs em lote. Especificamente, a documentação do Compute Engine explica como visualizar métricas usando os painéis de monitoramento predefinidos para o Compute Engine ou páginas do Compute Engine no console do Google Cloud . No entanto, esses métodos não mostram informações sobre VMs que foram excluídas. Portanto, não use esses métodos, a menos que você queira apenas conferir as métricas dos jobs em lote enquanto eles estão em execução.

Para conferir as métricas de jobs em lote em execução e concluídos, use os gráficos do Metrics Explorer, conforme explicado nesta seção. Os gráficos são temporários, a menos que você os salve em painéis personalizados.

Para criar um gráfico para visualizar uma ou mais métricas, faça o seguinte:

  1. Opcional: se você planeja salvar o gráfico, identifique ou crie um painel personalizado para ele.
  2. Crie um gráfico do Metrics Explorer para uma ou mais métricas.

    Sem filtros, cada métrica de VM em um gráfico inclui dados de todas as VMs no seu projeto. Se quiser filtrar o gráfico para incluir apenas métricas de todos os jobs em lote ou de alguns específicos, adicione o seguinte filtro:

    group=RESOURCE_GROUP_NAME
    

    Substitua RESOURCE_GROUP_NAME pelo nome de um grupo de recursos para jobs em lote. Para mais informações, consulte Criar grupos de recursos para filtrar métricas neste documento.

Criar grupos de recursos para filtrar métricas

É possível usar grupos de recursos como filtros personalizáveis para gráficos do Metrics Explorer. Para criar um grupo de recursos para todos ou alguns trabalhos em lote no seu projeto, faça o seguinte:

  1. Selecione um rótulo para usar como critério de associação com base nos jobs que você quer incluir no grupo:

    • Todos os jobs em lote:use o rótulo batch-node predefinido, que é aplicado automaticamente a todos os recursos de todos os jobs em lote e tem um valor nulo.
    • Jobs em lote específicos:use um rótulo aplicado aos recursos apenas para jobs em lote específicos.

      Por exemplo, se você quiser criar um grupo com base em nomes de cargos completos ou parciais, use o nome de rótulo batch-job-id predefinido com um valor específico. O rótulo batch-job-id é aplicado automaticamente a todos os recursos de todos os jobs em lote e definido com o nome do job.

      Como alternativa, se você usar um rótulo personalizado, aplique-o a todos os recursos dos trabalhos em lote que você quer incluir no grupo ao criar os trabalhos.

  2. Verifique se o projeto tem pelo menos um job com o rótulo selecionado e se esse job está no estado RUNNING. Caso contrário, esse rótulo não vai aparecer como uma opção ao tentar criar o grupo de recursos.

  3. Crie um grupo de recursos. Ao especificar os critérios de associação, faça o seguinte:

    1. Defina o Tipo como Tag.
    2. Defina o campo Tag como o nome do marcador selecionado. Em seguida, defina os campos a seguir com base nos valores de rótulo que você quer incluir no grupo.

      Por exemplo, se você quiser que esse grupo inclua todos os trabalhos em lote, defina Tag como batch-node e Operador como Existe. Como alternativa, você quer que esse grupo inclua trabalhos em lote com nomes que começam com test, defina Tag como batch-job-id, Operador como Starts with e Value como test.

A seguir