

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 serviço
<a name="track-capacity-utilization-service-jobs"></a>

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 serviço 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`.

1. Liste os trabalhos por status, como `SCHEDULED` e `RUNNING` (`ListServiceJobs`).

1. Examine qualquer trabalho específico (`DescribeServiceJob`).

Para filas de trabalho que usam uma política de agendamento de *compartilhamento justo (FSS)* ou *gerenciamento de cotas (QM*):

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

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

1. Liste os trabalhos por status e compartilhamento que estão contribuindo ativamente para a utilização, como `SCHEDULED` e `RUNNING` (`ListServiceJobs`).

1. Examine qualquer trabalho específico (`DescribeServiceJob`).

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

Para obter informações sobre o rastreamento da utilização da capacidade para tarefas de computação ECS, EKS e Fargate, consulte. [Rastreie a utilização da capacidade de trabalho de computação](track-capacity-utilization-compute-jobs.md)

**Topics**
+ [Verifique a utilização da fila](#capacity-utilization-snapshots-service)
+ [Exibir a utilização por ação](#share-utilization-monitoring-service)
+ [Listar trabalhos de serviço por status e compartilhamento](#list-service-jobs-by-share)
+ [Examine um trabalho de serviço específico](#examine-service-job)

## Verifique a utilização da fila
<a name="capacity-utilization-snapshots-service"></a>

O `queueUtilization` campo na [`GetJobQueueSnapshot`](https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html)resposta fornece uma point-in-time visão de quanta capacidade computacional é consumida por trabalhos enviados de uma fila. A capacidade é medida na contagem de instâncias para trabalhos de serviço.

Para filas de trabalho que usam uma política de agendamento de compartilhamento justo ou gerenciamento de cotas, 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](#share-utilization-monitoring-service).

### Exibir a utilização da capacidade ()AWS CLI
<a name="capacity-snapshots-service-cli"></a>

Use o [get-job-queue-snapshot](https://docs.aws.amazon.com/cli/latest/reference/batch/get-job-queue-snapshot.html)comando 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. 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": "ml.m5.large",
                "quantity": 9.0
            }
        ],
        "lastUpdatedAt": 1700000000000
    }
}
```

Neste exemplo, a fila consome um total de 9 instâncias em todos os trabalhos enviados.

------
#### [ 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": "NUM_INSTANCES",
                "quantity": 9.0
            }
        ],
        "fairshareUtilization": {
            "activeShareCount": 2,
            "topCapacityUtilization": [
                {
                    "shareIdentifier": "team-a",
                    "capacityUsage": [
                        {
                            "capacityUnit": "NUM_INSTANCES",
                            "quantity": 5.0
                        }
                    ]
                },
                {
                    "shareIdentifier": "team-b",
                    "capacityUsage": [
                        {
                            "capacityUnit": "NUM_INSTANCES",
                            "quantity": 4.0
                        }
                    ]
                }
            ]
        },
        "lastUpdatedAt": 1700000000000
    }
}
```

Neste exemplo, o `totalCapacityUsage` campo mostra que a fila consome um total de 9 instâncias. O `fairshareUtilization` objeto mostra o detalhamento por ação. O compartilhamento `team-a` consome 5 instâncias e o compartilhamento `team-b` consome 4 instâncias.

------
#### [ Quota management (QM) ]

Veja a seguir um exemplo de resposta para uma fila de tarefas de gerenciamento de cotas. 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. per-quota-share O `frontOfQuotaShares` objeto mostra o primeiro `RUNNABLE` trabalho por compartilhamento de cota.

```
{
    "frontOfQueue": {
        "jobs": [],
        "lastUpdatedAt": 1700000000000
    },
    "frontOfQuotaShares": {
        "quotaShares": {
            "team-a-share": [],
            "team-b-share": []
        },
        "lastUpdatedAt": 1700000000000
    },
    "queueUtilization": {
        "totalCapacityUsage": [
            {
                "capacityUnit": "ml.m5.large",
                "quantity": 9.0
            }
        ],
        "quotaShareUtilization": {
            "topCapacityUtilization": [
                {
                    "quotaShareName": "team-a-share",
                    "capacityUsage": [
                        {
                            "capacityUnit": "ml.m5.large",
                            "quantity": 5.0
                        }
                    ]
                },
                {
                    "quotaShareName": "team-b-share",
                    "capacityUsage": [
                        {
                            "capacityUnit": "ml.m5.large",
                            "quantity": 4.0
                        }
                    ]
                }
            ]
        },
        "lastUpdatedAt": 1700000000000
    }
}
```

Neste exemplo, o `totalCapacityUsage` campo mostra que a fila consome um total de 9 instâncias. O `quotaShareUtilization` objeto mostra a per-quota-share avaria. O compartilhamento de cota `team-a-share` consome 5 instâncias e o compartilhamento de cota `team-b-share` consome 4 instâncias. O `frontOfQuotaShares` objeto mostra o primeiro `RUNNABLE` trabalho para cada compartilhamento de cota, junto com a primeira vez em que o trabalho alcançou essa posição.

------

## Exibir a utilização por ação
<a name="share-utilization-monitoring-service"></a>

Para filas de trabalhos com uma política de agendamento de compartilhamento justo ou gerenciamento de cotas, a `queueUtilization` resposta de `GetJobQueueSnapshot` inclui um objeto de utilização 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 os recursos estão distribuídos entre os compartilhamentos conforme o esperado.
+ Detecte ações que possam estar saturando ou subutilizando sua alocação.
+ Determine se a configuração da política de agendamento deve ser ajustada.

Para obter mais informações sobre as políticas de agendamento de compartilhamento justo, consulte. [Políticas de agendamento de compartilhamento justo](job_scheduling.md)

Para obter mais informações sobre cotas compartilhadas, consulte[Ações de cota](quota-shares.md).

## Listar trabalhos de serviço por status e compartilhamento
<a name="list-service-jobs-by-share"></a>

Depois de identificar a fila geral e a utilização por compartilhamento, use a operação da [`ListServiceJobs`](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListServiceJobs.html)API para encontrar os trabalhos de serviç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. `SCHEDULED` Para filas com uma política de agendamento de compartilhamento justo ou gerenciamento de cotas, você também pode filtrar por identificador de compartilhamento para restringir os resultados a um compartilhamento específico.

**nota**  
Os `QUOTA_SHARE_NAME` filtros `SHARE_IDENTIFIER` e são os únicos filtros que podem ser combinados com o `jobStatus` parâmetro. Quando você usa outros filtros, o `jobStatus` parâmetro é ignorado.

### Listar trabalhos de serviço (AWS CLI)
<a name="list-service-jobs-by-share-cli"></a>

Use o [list-service-jobs](https://docs.aws.amazon.com/cli/latest/reference/batch/list-service-jobs.html)comando com o `--job-status` parâmetro para filtrar por status.

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

```
aws batch list-service-jobs \
    --job-queue {{my-job-queue}} \
    --job-status RUNNING
```

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. Para filas com política de agendamento de gerenciamento de cotas, use `QUOTA_SHARE_NAME` para listar trabalhos para um compartilhamento de cota 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 serviço para uma parcela de uma fila de compartilhamento justo:

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

Para filas com uma política de agendamento de gerenciamento de cotas, use o filtro: `QUOTA_SHARE_NAME`

```
aws batch list-service-jobs \
    --job-queue {{my-job-queue}} \
    --job-status RUNNING \
    --filters name=QUOTA_SHARE_NAME,values="{{my-quota-share}}"
```

Veja a seguir um exemplo de resposta para listar trabalhos de serviço em execução filtrados por identificador de compartilhamento em uma fila de compartilhamento justo.

```
{
    "jobSummaryList": [
        {
            "jobArn": "arn:aws:batch:us-east-1:123456789012:service-job/a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d",
            "jobId": "a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d",
            "jobName": "my-training-job",
            "serviceJobType": "SAGEMAKER_TRAINING",
            "status": "RUNNING",
            "shareIdentifier": "team-a",
            "createdAt": 1700000000000,
            "scheduledAt": 1700000060000,
            "startedAt": 1700000120000,
            "capacityUsage": [
                {
                    "capacityUnit": "ml.m5.large",
                    "quantity": 5.0
                }
            ],
            "latestAttempt": {
                "serviceResourceId": {
                    "name": "TrainingJobArn",
                    "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/my-training-job"
                }
            }
        }
    ]
}
```

Neste exemplo, a resposta inclui o `shareIdentifier` campo que mostra que o trabalho pertence ao `team-a` compartilhamento e a `capacityUsage` matriz que mostra que o trabalho consome 5 `ml.m5.large` instâncias. O `latestAttempt` objeto contém o identificador do recurso de serviço que você pode usar para obter detalhes adicionais do serviço de destino.

## Examine um trabalho de serviço específico
<a name="examine-service-job"></a>

Depois de identificar um trabalho de serviço de interesse, use a [`DescribeServiceJob`](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html)operação para obter informações abrangentes sobre o trabalho, incluindo seu status atual, identificadores de recursos de serviço e informações detalhadas sobre tentativas.

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

```
aws batch describe-service-job \
    --job-id {{a4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d}}
```

Esse comando retorna informações abrangentes sobre o trabalho, incluindo:
+ ARN do trabalho e status atual
+ Identificadores de recursos de serviço (como ARN do trabalho SageMaker de treinamento)
+ Prioridade de agendamento e configuração de novas tentativas
+ Carga útil da solicitação de serviço contendo os parâmetros originais do serviço
+ Informações detalhadas da tentativa com horários de início e término
+ Mensagens de status do serviço de destino

### Examine o trabalho SageMaker de treinamento subjacente
<a name="track-sagemaker-training-jobs"></a>

Ao monitorar os trabalhos de SageMaker treinamento AWS Batch, você pode acessar as informações do AWS Batch trabalho e os detalhes subjacentes do trabalho de SageMaker treinamento.

O identificador do recurso de serviço nos detalhes do trabalho contém o ARN do trabalho de SageMaker treinamento:

```
{
    "latestAttempt": {
        "serviceResourceId": {
            "name": "TrainingJobArn",
            "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/my-training-job"
        }
    }
}
```

Você pode usar esse ARN para obter detalhes adicionais diretamente de: SageMaker

```
aws sagemaker describe-training-job \
    --training-job-name {{my-training-job}}
```

Monitore o progresso do trabalho verificando AWS Batch o status e o status do trabalho de SageMaker treinamento. O status do AWS Batch trabalho mostra o ciclo de vida geral do trabalho, enquanto o status do trabalho de SageMaker treinamento fornece detalhes específicos do serviço sobre o processo de treinamento.