View a markdown version of this page

Monitora l'utilizzo della capacità dei lavori di assistenza - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitora l'utilizzo della capacità dei lavori di assistenza

AWS Batch fornisce più operazioni API che è possibile utilizzare insieme per tenere traccia dell'utilizzo della capacità per i lavori di assistenza in coda. Il flusso di lavoro di monitoraggio dipende dal tipo di politica di pianificazione allegata alla coda dei lavori.

Per le code di lavoro che utilizzano una politica di pianificazione FIFO (First-in, Firstout):

  1. Verifica l'utilizzo totale della coda (). GetJobQueueSnapshot

  2. Elenca i lavori per stato, ad esempio SCHEDULED and RUNNING ()ListServiceJobs.

  3. Esamina un determinato lavoro (DescribeServiceJob).

Per le code di lavoro che utilizzano una politica di pianificazione equa (FSS) o di gestione delle quote (QM):

  1. Verifica l'utilizzo GetJobQueueSnapshot totale della coda ().

  2. Visualizza l'utilizzo per condivisione (). GetJobQueueSnapshot

  3. Elenca i lavori per stato e condivisione che contribuiscono attivamente all'utilizzo, ad esempio and (). SCHEDULED RUNNING ListServiceJobs

  4. Esamina un determinato lavoro (DescribeServiceJob).

Le seguenti sezioni illustrano in dettaglio ogni passaggio.

Per informazioni sul monitoraggio dell'utilizzo della capacità per i job di calcolo ECS, EKS e Fargate, vedere. Monitora l'utilizzo della capacità dei processi di elaborazione

Verifica l'utilizzo della coda

Il queueUtilization campo nella GetJobQueueSnapshotrisposta fornisce una point-in-time panoramica della quantità di capacità di elaborazione consumata dai lavori inviati da una coda. La capacità viene misurata in base al numero di istanze relative ai lavori di assistenza.

Per le code di lavoro che utilizzano una politica di pianificazione basata sulla condivisione equa o sulla gestione delle quote, la risposta include anche una suddivisione per condivisione in modo da poter vedere come viene distribuita la capacità tra le condivisioni. Per ulteriori informazioni, consulta Visualizza l'utilizzo per condivisione.

Visualizza l'AWS CLI utilizzo della capacità ()

Utilizzate il get-job-queue-snapshotcomando per recuperare un'istantanea dell'utilizzo della capacità per una coda di lavori.

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

La risposta varia a seconda della politica di pianificazione allegata alla coda dei lavori. Scegli la scheda corrispondente al tipo di politica di pianificazione per visualizzare un esempio di risposta.

First-in, first-out (FIFO)

Di seguito è riportato un esempio di risposta per una coda di lavori FIFO. Poiché una coda FIFO non utilizza una politica di pianificazione, la risposta non include l'utilizzo per condivisione.

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

In questo esempio, la coda utilizza un totale di 9 istanze in tutti i lavori inviati.

Fair-share scheduling (FSS)

Di seguito è riportato un esempio di risposta per una coda di lavoro equa. L'queueUtilizationoggetto contiene un' point-in-timeistantanea della capacità totale consumata da tutti i lavori inviati dalla coda, insieme a una suddivisione per condivisione.

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

In questo esempio, il totalCapacityUsage campo mostra che la coda utilizza un totale di 9 istanze. L'fairshareUtilizationoggetto mostra la ripartizione per condivisione. La condivisione team-a utilizza 5 istanze e la condivisione utilizza 4 istanze. team-b

Quota management (QM)

Di seguito è riportato un esempio di risposta per una coda di lavori per la gestione delle quote. L'queueUtilizationoggetto contiene un' point-in-timeistantanea della capacità totale consumata da tutti i lavori inviati dalla coda, insieme a una suddivisione. per-quota-share L'frontOfQuotaSharesoggetto mostra il primo lavoro per condivisione di quotaRUNNABLE.

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

In questo esempio, il totalCapacityUsage campo mostra che la coda utilizza un totale di 9 istanze. L'quotaShareUtilizationoggetto mostra la suddivisione. per-quota-share La condivisione di quota team-a-share utilizza 5 istanze e la condivisione di quota team-b-share utilizza 4 istanze. L'frontOfQuotaSharesoggetto mostra il primo RUNNABLE lavoro per ogni condivisione di quota, insieme alla prima volta in cui il lavoro ha raggiunto quella posizione.

Visualizza l'utilizzo per condivisione

Per le code di lavoro con una politica di pianificazione basata sulla condivisione equa o sulla gestione delle quote, il modulo di queueUtilization risposta GetJobQueueSnapshot include un oggetto di utilizzo con una topCapacityUtilization matrice che elenca le principali condivisioni attive per consumo.

Queste informazioni ti aiutano a:

  • Identifica quali azioni consumano la maggior parte delle risorse.

  • Verifica che le risorse siano distribuite tra le condivisioni come previsto.

  • Rileva le azioni che potrebbero saturare o sottoutilizzare la loro allocazione.

  • Determina se modificare la configurazione della politica di pianificazione.

Per ulteriori informazioni sulle politiche di pianificazione della condivisione equa, vedere. Politiche di pianificazione con condivisione equa

Per ulteriori informazioni sulla condivisione delle quote, vedere. Condivisioni di quote

Elenca i lavori di assistenza per stato e condividi

Dopo aver identificato la coda complessiva e l'utilizzo per condivisione, utilizza l'operazione ListServiceJobsAPI per trovare i lavori di servizio che contribuiscono attivamente all'utilizzo. Puoi filtrare in base allo stato del lavoro per visualizzare i lavori esistenti o in un RUNNING altro SCHEDULED stato. Per le code con una politica di pianificazione basata sulla condivisione equa o sulla gestione delle quote, puoi anche filtrare per identificatore di condivisione per restringere i risultati a una condivisione specifica.

Nota

I QUOTA_SHARE_NAME filtri SHARE_IDENTIFIER and sono gli unici filtri che possono essere combinati con il parametro. jobStatus Quando si utilizzano altri filtri, il jobStatus parametro viene ignorato.

Elenca i lavori di assistenza ()AWS CLI

Utilizzate il list-service-jobscomando con il --job-status parametro per filtrare in base allo stato.

Visualizza i lavori di servizio in esecuzione nella tua coda:

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

Per le code con una politica di pianificazione equa, utilizza il --filters parametro with SHARE_IDENTIFIER per elencare i lavori per una condivisione specifica. Per le code con politica di pianificazione della gestione delle quote, utilizzare per elencare i lavori per una specifica condivisione QUOTA_SHARE_NAME di quote. Ciò è utile quando si identifica una condivisione con un elevato consumo di capacità e si desidera vedere quali lavori sono responsabili.

Elenca solo i lavori di RUNNING assistenza relativi a una condivisione da una coda equa:

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

Per le code con una politica di pianificazione per la gestione delle quote, utilizza il 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"

Di seguito è riportato un esempio di risposta per elencare i lavori di servizio in esecuzione filtrati per identificatore di condivisione in una coda equa.

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

In questo esempio, la risposta include il shareIdentifier campo che mostra che il job appartiene alla team-a condivisione e l'capacityUsagearray che indica che il job utilizza 5 istanze. ml.m5.large L'latestAttemptoggetto contiene l'identificatore della risorsa di servizio che è possibile utilizzare per ottenere ulteriori dettagli dal servizio di destinazione.

Esamina un lavoro di assistenza specifico

Dopo aver identificato una mansione di servizio che vi interessa, utilizzate l'DescribeServiceJoboperazione per ottenere informazioni complete sulla mansione, tra cui lo stato attuale, gli identificatori delle risorse di servizio e informazioni dettagliate sui tentativi.

Visualizza informazioni dettagliate su una specifica mansione di assistenza:

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

Questo comando restituisce informazioni complete sul lavoro, tra cui:

  • Job ARN e stato attuale

  • Identificatori delle risorse del servizio (ad esempio SageMaker Training job ARN)

  • Priorità di pianificazione e configurazione dei nuovi tentativi

  • Payload della richiesta di servizio contenente i parametri di servizio originali

  • Informazioni dettagliate sui tentativi con orari di inizio e fine

  • Messaggi di stato dal servizio di destinazione

Esamina il lavoro SageMaker di formazione sottostante

Quando si monitorano i lavori di SageMaker formazione AWS Batch, è possibile accedere sia alle informazioni sulla AWS Batch mansione sia ai dettagli del lavoro di SageMaker formazione sottostante.

L'identificatore della risorsa di servizio nei dettagli del lavoro contiene l'ARN del lavoro di SageMaker formazione:

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

Puoi utilizzare questo ARN per ottenere ulteriori dettagli direttamente da: SageMaker

aws sagemaker describe-training-job \ --training-job-name my-training-job

Monitora l'avanzamento del lavoro controllando sia AWS Batch lo stato del lavoro che lo stato del lavoro di SageMaker formazione. Lo stato del AWS Batch lavoro mostra il ciclo di vita complessivo del lavoro, mentre lo stato del lavoro di SageMaker formazione fornisce dettagli specifici del servizio sul processo di formazione.