

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Suivez l'utilisation de la capacité des services
<a name="track-capacity-utilization-service-jobs"></a>

AWS Batch fournit plusieurs opérations d'API que vous pouvez utiliser ensemble pour suivre l'utilisation de la capacité pour les tâches de service dans une file d'attente. Le flux de travail de surveillance dépend du type de politique de planification attachée à votre file d'attente de tâches.

Pour les files d'attente de tâches qui utilisent une politique *de planification du premier entré, premier sorti (FIFO*) :

1. Vérifiez l'utilisation totale de la file d'attente (`GetJobQueueSnapshot`).

1. Répertoriez les tâches par statut, par exemple `SCHEDULED` et `RUNNING` (`ListServiceJobs`).

1. Examinez n'importe quelle tâche (`DescribeServiceJob`).

Pour les files d'attente de travail qui utilisent une politique de planification basée sur le *partage équitable (FSS)* ou la *gestion des quotas* (QM) :

1. Vérifiez l'utilisation totale de la file d'attente (`GetJobQueueSnapshot`).

1. Afficher le taux d'utilisation par action (`GetJobQueueSnapshot`).

1. Répertoriez les tâches par statut et par partage qui contribuent activement à leur utilisation, telles que `SCHEDULED` and `RUNNING` (`ListServiceJobs`).

1. Examinez n'importe quelle tâche (`DescribeServiceJob`).

Les sections suivantes décrivent chaque étape en détail.

Pour plus d'informations sur le suivi de l'utilisation de la capacité pour les tâches de calcul ECS, EKS et Fargate, consultez. [Suivez l'utilisation de la capacité des tâches informatiques](track-capacity-utilization-compute-jobs.md)

**Topics**
+ [Vérifier l'utilisation des files d'attente](#capacity-utilization-snapshots-service)
+ [Afficher le taux d'utilisation par action](#share-utilization-monitoring-service)
+ [Répertoriez les emplois de service par statut et partagez-les](#list-service-jobs-by-share)
+ [Examiner une tâche de service spécifique](#examine-service-job)

## Vérifier l'utilisation des files d'attente
<a name="capacity-utilization-snapshots-service"></a>

Le `queueUtilization` champ de la [https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html)réponse fournit une point-in-time vue de la capacité de calcul consommée par les tâches expédiées depuis une file d'attente. La capacité est mesurée en nombre d'instances pour les emplois de service.

Pour les files d'attente de travail qui utilisent une politique de planification basée sur le partage équitable ou la gestion des quotas, la réponse inclut également une ventilation par action afin que vous puissiez voir comment la capacité est répartie entre les actions. Pour de plus amples informations, veuillez consulter [Afficher le taux d'utilisation par action](#share-utilization-monitoring-service).

### Afficher le taux d'utilisation des capacités (AWS CLI)
<a name="capacity-snapshots-service-cli"></a>

Utilisez la [get-job-queue-snapshot](https://docs.aws.amazon.com/cli/latest/reference/batch/get-job-queue-snapshot.html)commande pour récupérer un instantané de l'utilisation de la capacité pour une file d'attente de tâches.

```
aws batch get-job-queue-snapshot \
    --job-queue {{my-job-queue}}
```

La réponse varie en fonction de la politique de planification attachée à votre file d'attente de tâches. Choisissez l'onglet correspondant à votre type de politique de planification pour voir un exemple de réponse.

------
#### [ First-in, first-out (FIFO) ]

Voici un exemple de réponse pour une file de tâches FIFO. Comme une file d'attente FIFO n'utilise pas de politique de planification, la réponse n'inclut pas l'utilisation par partage.

```
{
    "frontOfQueue": {
        "jobs": [],
        "lastUpdatedAt": 1700000000000
    },
    "queueUtilization": {
        "totalCapacityUsage": [
            {
                "capacityUnit": "ml.m5.large",
                "quantity": 9.0
            }
        ],
        "lastUpdatedAt": 1700000000000
    }
}
```

Dans cet exemple, la file d'attente consomme un total de 9 instances pour l'ensemble des tâches distribuées.

------
#### [ Fair-share scheduling (FSS) ]

Voici un exemple de réponse pour une file d'attente de tâches équitable. L'`queueUtilization`objet contient un point-in-time instantané de la capacité totale consommée par toutes les tâches expédiées depuis la file d'attente, ainsi qu'une ventilation par partage.

```
{
    "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
    }
}
```

Dans cet exemple, le `totalCapacityUsage` champ indique que la file d'attente consomme un total de 9 instances. L'`fairshareUtilization`objet affiche la répartition par action. Le partage `team-a` consomme 5 instances et le partage en `team-b` consomme 4.

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

Voici un exemple de réponse pour une file d'attente de tâches de gestion des quotas. L'`queueUtilization`objet contient un point-in-time instantané de la capacité totale consommée par toutes les tâches expédiées depuis la file d'attente, ainsi qu'une per-quota-share ventilation. L'`frontOfQuotaShares`objet montre le premier `RUNNABLE` travail par part de quota.

```
{
    "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
    }
}
```

Dans cet exemple, le `totalCapacityUsage` champ indique que la file d'attente consomme un total de 9 instances. L'`quotaShareUtilization`objet montre la per-quota-share répartition. Le partage de quotas `team-a-share` consomme 5 instances et le partage de quotas en `team-b-share` consomme 4. L'`frontOfQuotaShares`objet indique la première `RUNNABLE` tâche pour chaque part de quota, ainsi que la date à laquelle la tâche a atteint cette position pour la première fois.

------

## Afficher le taux d'utilisation par action
<a name="share-utilization-monitoring-service"></a>

Pour les files d'attente de travail soumises à une politique de planification fondée sur le partage équitable ou la gestion des quotas, la `queueUtilization` réponse de `GetJobQueueSnapshot` inclut un objet d'utilisation avec un `topCapacityUtilization` tableau répertoriant les principales parts actives par consommation.

Ces informations vous aident à :
+ Identifiez les actions qui consomment le plus de ressources.
+ Vérifiez que les ressources sont réparties entre les partages comme prévu.
+ Détectez les actions susceptibles de saturer ou de sous-utiliser leur allocation.
+ Déterminez s'il convient d'ajuster la configuration de votre politique de planification.

Pour plus d'informations sur les politiques de planification de partage équitable, consultez. [Politiques de planification équitables](job_scheduling.md)

Pour plus d'informations sur les quotes-parts, consultez[Partage des quotas](quota-shares.md).

## Répertoriez les emplois de service par statut et partagez-les
<a name="list-service-jobs-by-share"></a>

Après avoir identifié la file d'attente globale et l'utilisation par partage, utilisez l'opération [https://docs.aws.amazon.com/batch/latest/APIReference/API_ListServiceJobs.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_ListServiceJobs.html)API pour rechercher les tâches de service qui contribuent activement à l'utilisation. Vous pouvez filtrer par statut de tâche pour voir les tâches qui sont `RUNNING` ou se trouvent dans un autre état. `SCHEDULED` Pour les files d'attente soumises à une politique de planification fondée sur le partage équitable ou la gestion des quotas, vous pouvez également filtrer par identifiant de partage afin de limiter les résultats à un partage spécifique.

**Note**  
Les `QUOTA_SHARE_NAME` filtres `SHARE_IDENTIFIER` et sont les seuls filtres qui peuvent être combinés avec le `jobStatus` paramètre. Lorsque vous utilisez d'autres filtres, le `jobStatus` paramètre est ignoré.

### Lister les offres d'emploi dans les services (AWS CLI)
<a name="list-service-jobs-by-share-cli"></a>

Utilisez la [list-service-jobs](https://docs.aws.amazon.com/cli/latest/reference/batch/list-service-jobs.html)commande avec le `--job-status` paramètre pour filtrer par statut.

Consultez les tâches de service en cours dans votre file d'attente :

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

Pour les files d'attente soumises à une politique de planification équitable, utilisez le `--filters` paramètre with pour `SHARE_IDENTIFIER` répertorier les tâches correspondant à un partage spécifique. Pour les files d'attente soumises à une politique de planification de gestion des quotas, utilisez cette option pour `QUOTA_SHARE_NAME` répertorier les tâches correspondant à un partage de quotas spécifique. Cela est utile lorsque vous identifiez une part dont la consommation de capacité est élevée et que vous souhaitez savoir quels emplois sont responsables.

Répertoriez uniquement les tâches de `RUNNING` service correspondant à un partage dans une file d'attente de partage équitable :

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

Pour les files d'attente soumises à une politique de planification de gestion des quotas, utilisez le filtre : `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}}"
```

Voici un exemple de réponse pour répertorier les tâches de service en cours filtrées par identifiant de partage dans une file d'attente de partage équitable.

```
{
    "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"
                }
            }
        }
    ]
}
```

Dans cet exemple, la réponse inclut le `shareIdentifier` champ indiquant que la tâche appartient au `team-a` partage et le `capacityUsage` tableau indiquant que la tâche consomme 5 `ml.m5.large` instances. L'`latestAttempt`objet contient l'identifiant de ressource de service que vous pouvez utiliser pour obtenir des informations supplémentaires sur le service cible.

## Examiner une tâche de service spécifique
<a name="examine-service-job"></a>

Après avoir identifié une tâche de service qui vous intéresse, utilisez l'[https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeServiceJob.html)opération pour obtenir des informations complètes sur la tâche, notamment son statut actuel, les identifiants des ressources de service et des informations détaillées sur les tentatives.

Afficher des informations détaillées sur une tâche de service spécifique :

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

Cette commande renvoie des informations complètes sur la tâche, notamment :
+ Job ARN et statut actuel
+ Identifiants de ressources de service (tels que l'ARN de SageMaker la tâche de formation)
+ Planification de la priorité et configuration des nouvelles tentatives
+ Charge utile de la demande de service contenant les paramètres de service d'origine
+ Informations détaillées sur les tentatives avec heures de début et d'arrêt
+ Messages d'état provenant du service cible

### Examiner le travail SageMaker de formation sous-jacent
<a name="track-sagemaker-training-jobs"></a>

Lorsque vous SageMaker surveillez les tâches de formation AWS Batch, vous pouvez accéder à la fois aux informations relatives aux AWS Batch tâches et aux détails des tâches de SageMaker formation sous-jacentes.

L'identifiant de ressource de service indiqué dans les détails de la tâche contient l'ARN de la tâche de SageMaker formation :

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

Vous pouvez utiliser cet ARN pour obtenir des informations supplémentaires directement auprès de SageMaker :

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

Surveillez l'avancement des tâches en vérifiant à la fois AWS Batch le statut et le statut des tâches de SageMaker formation. Le statut du AWS Batch poste indique le cycle de vie global du travail, tandis que le statut du poste de SageMaker formation fournit des informations spécifiques au service sur le processus de formation.