View a markdown version of this page

Rastreie a utilização da capacidade de trabalho de computação - AWS Batch

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Rastreie a utilização da capacidade de trabalho de computação

AWS Batch fornece várias operações de API que você pode usar em conjunto para rastrear a utilização da capacidade para trabalhos de computação ECS, EKS e Fargate em uma fila. O fluxo de trabalho de monitoramento depende do tipo de política de agendamento anexada à sua fila de trabalhos.

Para filas de trabalhos que usam uma política de agendamento FIFO (primeiro a entrar, primeiro a sair):

  1. Verifique a utilização total da fila ()GetJobQueueSnapshot.

  2. Liste os trabalhos por status, como RUNNABLE e RUNNING (ListJobs).

  3. Examine qualquer trabalho específico (DescribeJobs).

Para filas de trabalho que usam uma política de agendamento de compartilhamento justo (FSS):

  1. Verifique a utilização total da fila ()GetJobQueueSnapshot.

  2. Exibir a utilização por compartilhamento ()GetJobQueueSnapshot.

  3. Liste os trabalhos por status e compartilhamento que estão contribuindo ativamente para a utilização, como RUNNABLE e RUNNING (ListJobs).

  4. Examine qualquer trabalho específico (DescribeJobs).

As seções a seguir descrevem cada etapa em detalhes.

Para obter informações sobre o rastreamento da utilização da capacidade para trabalhos de serviço, consulteRastreie a utilização da capacidade de trabalho de serviço.

Verifique a utilização da fila

O queueUtilization campo na GetJobQueueSnapshotresposta fornece uma point-in-time visão de quanta capacidade computacional é consumida por trabalhos enviados de uma fila. A capacidade é medida em v CPUs para trabalhos de computação.

Para filas de trabalho que usam uma política de agendamento de compartilhamento justo, a resposta também inclui um detalhamento por ação para que você possa ver como a capacidade é distribuída entre as ações. Para obter mais informações, consulte Exibir a utilização por ação.

Exibir a utilização da capacidade ()AWS CLI

Use o get-job-queue-snapshotcomando para recuperar um instantâneo da utilização da capacidade de uma fila de trabalhos.

aws batch get-job-queue-snapshot \ --job-queue my-job-queue

A resposta varia de acordo com a política de agendamento anexada à sua fila de trabalhos. Escolha a guia do seu tipo de política de agendamento para ver um exemplo de resposta.

First-in, first-out (FIFO)

Veja a seguir um exemplo de resposta para uma fila de trabalhos FIFO executando trabalhos de computação. Como uma fila FIFO não usa uma política de agendamento, a resposta não inclui a utilização por compartilhamento.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 96.0 } ], "lastUpdatedAt": 1700000000000 } }

Neste exemplo, a fila consome um total de 96 v CPUs em todos os trabalhos despachados.

Fair-share scheduling (FSS)

Veja a seguir um exemplo de resposta para uma fila de trabalhos com compartilhamento justo. O queueUtilization objeto contém um point-in-time instantâneo da capacidade total consumida por todos os trabalhos enviados da fila, junto com um detalhamento por ação.

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 192.0 } ], "fairshareUtilization": { "activeShareCount": 2, "topCapacityUtilization": [ { "shareIdentifier": "team-a", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 128.0 } ] }, { "shareIdentifier": "team-b", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 64.0 } ] } ] }, "lastUpdatedAt": 1700000000000 } }

Neste exemplo, o totalCapacityUsage campo mostra que a fila consome um total de 192 v. CPUs O fairshareUtilization objeto mostra o detalhamento por ação. O compartilhamento team-a consome 128 v CPUs e o compartilhamento team-b consome 64 v. CPUs

Exibir a utilização por ação

Para filas de trabalhos com uma política de agendamento de compartilhamento justo, a queueUtilization resposta de GetJobQueueSnapshot inclui um fairshareUtilization objeto com uma topCapacityUtilization matriz que lista os principais compartilhamentos ativos por consumo.

Essas informações ajudam você a:

  • Identifique quais compartilhamentos consomem mais recursos.

  • Verifique se o agendamento de compartilhamento justo está distribuindo os recursos conforme o esperado.

  • Detecte ações que possam estar saturando ou subutilizando sua alocação.

  • Determine se deseja ajustar os pesos das ações em sua política de agendamento.

Para obter mais informações sobre as políticas de agendamento de compartilhamento justo, consulte. Políticas de agendamento de compartilhamento justo

Listar trabalhos de computação por status e compartilhamento

Depois de identificar a fila geral e a utilização por compartilhamento, use a operação da ListJobsAPI para encontrar os trabalhos de computação que estão contribuindo ativamente para a utilização. Você pode filtrar por status do trabalho para ver os trabalhos que estão RUNNING ou estão em outro estado. RUNNABLE Para filas com uma política de agendamento de compartilhamento justo, você também pode filtrar por identificador de compartilhamento para restringir os resultados a um compartilhamento específico.

nota

O SHARE_IDENTIFIER filtro é o único filtro que pode ser combinado com o jobStatus parâmetro. Quando você usa outros filtros, o jobStatus parâmetro é ignorado.

Listar trabalhos de computação ()AWS CLI

Use o comando list-jobs com o --job-status parâmetro para filtrar por status.

Veja os trabalhos de computação em execução na sua fila:

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNING

Veja os trabalhos de computação aguardando para serem enviados:

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNABLE

Para filas com uma política de agendamento de compartilhamento justo, use o --filters parâmetro with SHARE_IDENTIFIER para listar trabalhos para um compartilhamento específico. Isso é útil quando você identifica um compartilhamento com alto consumo de capacidade e deseja ver quais trabalhos são responsáveis.

Liste somente trabalhos RUNNING de computação para um compartilhamento de uma fila de compartilhamento justo:

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNING \ --filters name=SHARE_IDENTIFIER,values="team-a"

Veja a seguir um exemplo de resposta para listar trabalhos de computação em execução.

{ "jobSummaryList": [ { "jobArn": "arn:aws:batch:us-east-1:123456789012:job/b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobId": "b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobName": "my-data-processing-job", "status": "RUNNING", "shareIdentifier": "team-a", "createdAt": 1700000000000, "startedAt": 1700000120000, "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 4.0 } ], "container": { "exitCode": null }, "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/my-job-def:1" } ] }

Examine um trabalho de computação específico

Depois de identificar um trabalho de computação de interesse, use a DescribeJobsoperação para obter informações abrangentes sobre o trabalho, incluindo seu status atual, detalhes do contêiner e configuração de recursos.

Veja informações detalhadas sobre um trabalho de computação específico:

aws batch describe-jobs \ --jobs b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f

Esse comando retorna informações abrangentes sobre o trabalho, incluindo:

  • ARN do trabalho e status atual

  • Configuração do contêiner e requisitos de recursos (v CPUs e memória)

  • Definição do trabalho e detalhes do ambiente computacional

  • Prioridade de agendamento e configuração de novas tentativas

  • Informações detalhadas da tentativa com horários de início e término

  • Informações de fluxo de registros para acessar registros de contêineres