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

Neste documento, descrevemos 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 do job.

Para qualquer job, o Monitoring fornece métricas básicas, como utilização da CPU e tráfego de rede. No entanto, algumas métricas, como utilização de memória e processos, 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 você a identificar melhorias para iterações futuras do job. Por exemplo, você pode remover recursos não utilizados para otimizar custos ou melhorar ou aumentar recursos sobrecarregados para melhorar a performance.

Antes de começar

  1. Se você nunca usou o Batch, leia Começar a usar o Batch e ative o serviço 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. Se o projeto ainda não tiver feito isso, ative a API Monitoring:

    Enable the API

  4. Para receber as permissões necessárias para visualizar métricas de observabilidade, peça ao administrador para conceder a você o papel do IAM de Leitor de métricas do Monitoring (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 métricas de VM. No entanto, diferentes métodos 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 predefinidos do Monitoring para o Compute Engine ou as páginas do Compute Engine no console Google Cloud . No entanto, esses métodos não mostram informações sobre VMs que foram excluídas. Como resultado, não use esses métodos, a menos que você queira ver métricas de jobs do Batch enquanto eles estão em execução.

Consulte as métricas de jobs em lote em execução e concluídos 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 que mostre 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 projeto. Se quiser filtrar o gráfico para incluir apenas métricas de todos ou de jobs em lote 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 trabalhos específicos do Batch 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 específicos do Batch:use um rótulo aplicado aos recursos apenas para jobs específicos do Batch.

      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 ele está no estado RUNNING. Caso contrário, esse rótulo não vai aparecer como uma opção quando você 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 jobs do Batch, defina Tag como batch-node e Operador como Existe. Como alternativa, se você quiser que esse grupo inclua trabalhos em lote com nomes que começam com test, defina Tag como batch-job-id, Operador como Começa com e Valor como test.

A seguir