Monitorar e otimizar recursos do job visualizando métricas

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

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 memória e utilização do processo, só poderão 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 futuras iterações do job. Por exemplo, é possível remover recursos não utilizados para ajudar a otimizar os custos, ou você pode melhorar ou aumentar os recursos cansados para ajudam a melhorar o desempenho.

Antes de começar

  1. Se você nunca usou o Batch antes, revise Introdução ao Batch e ativar o Batch. Para isso, conclua 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, caso seu projeto ainda não tenha 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 dos 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, os A documentação do Compute Engine explica como exibir métricas usando o painéis predefinidos do Monitoring para o Compute Engine ou páginas do Compute Engine no console do Google Cloud. O mais importante é que esses métodos não exibem informações sobre VMs que tenham foi excluído. 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.

Ver métricas de jobs em lote em execução e concluídos por usando 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. Como opção, se você quiser filtrar o gráfico para incluir apenas métricas de todos ou de jobs específicos do Batch, adicione as seguintes métricas: 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 apenas jobs do Batch em seu projeto, faça o seguinte:

  1. Selecione um rótulo para usar como os critérios de associação com base nos trabalhos que você deseja incluir no grupo:

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

      Por exemplo, se você quiser criar um grupo com base em vagas completas 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 para todos os jobs em lote e definidos 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. Criar 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 campos a seguir com base nos valores de rótulo que você quer que o grupo incluir.

      Por exemplo, se você quiser que este grupo inclua todos os arquivos jobs, defina Tag como batch-node e Operador como Existe. Como alternativa, você quer que o grupo inclua jobs em lote com nomes que começam com test, defina Tag como batch-job-id, Defina Operador como Começa com e Valor como test.

A seguir