View a markdown version of this page

Monitora l'utilizzo della capacità dei processi di elaborazione - 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 processi di elaborazione

AWS Batch fornisce più operazioni API che è possibile utilizzare insieme per tenere traccia dell'utilizzo della capacità per i processi di elaborazione ECS, EKS e Fargate in una 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 RUNNABLE and RUNNING ()ListJobs.

  3. Esamina un determinato lavoro (DescribeJobs).

Per le code di lavoro che utilizzano una politica di pianificazione equa (FSS):

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

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

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

  4. Esamina un determinato lavoro (DescribeJobs).

Le seguenti sezioni illustrano in dettaglio ogni passaggio.

Per informazioni sul monitoraggio dell'utilizzo della capacità per i lavori di assistenza, vedereMonitora l'utilizzo della capacità dei lavori di assistenza.

Controlla 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 v CPUs per i lavori di elaborazione.

Per le code di lavoro che utilizzano una politica di pianificazione equa, 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 che esegue processi di calcolo. 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": "vCPU", "quantity": 96.0 } ], "lastUpdatedAt": 1700000000000 } }

In questo esempio, la coda consuma un totale di 96 v in tutti i lavori inviati. CPUs

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

In questo esempio, il totalCapacityUsage campo mostra che la coda consuma un totale di 192 v. CPUs L'fairshareUtilizationoggetto mostra la ripartizione per condivisione. La condivisione team-a consuma 128 v CPUs e la condivisione team-b consuma 64 v. CPUs

Visualizza l'utilizzo per condivisione

Per le code di lavoro con una politica di pianificazione equa, la queueUtilization risposta di GetJobQueueSnapshot include un fairshareUtilization oggetto con una topCapacityUtilization matrice che elenca le condivisioni attive principali per consumo.

Queste informazioni ti aiutano a:

  • Identifica quali azioni consumano più risorse.

  • Verifica che la pianificazione basata sulla condivisione equa stia distribuendo le risorse come previsto.

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

  • Stabilisci se modificare il peso delle azioni nella tua politica di pianificazione.

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

Elenca i lavori di elaborazione per stato e condividi

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

Nota

Il SHARE_IDENTIFIER filtro è l'unico filtro che può essere combinato con il parametro. jobStatus Quando si utilizzano altri filtri, il jobStatus parametro viene ignorato.

Elenca i lavori di calcolo ()AWS CLI

Utilizzate il comando list-jobs con il --job-status parametro per filtrare in base allo stato.

Visualizza i lavori di elaborazione in esecuzione nella tua coda:

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

Visualizza i lavori di elaborazione in attesa di essere eseguiti:

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

Per le code con una politica di pianificazione equa, usa il --filters parametro with SHARE_IDENTIFIER per elencare i lavori per una condivisione specifica. Questo è 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 elaborazione per una condivisione da una coda di condivisione equa:

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

Di seguito è riportato un esempio di risposta per elencare i lavori di elaborazione in esecuzione.

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

Esamina un processo di elaborazione specifico

Dopo aver identificato un lavoro di elaborazione che ti interessa, utilizza l'DescribeJobsoperazione per ottenere informazioni complete sul lavoro, tra cui lo stato corrente, i dettagli del contenitore e la configurazione delle risorse.

Visualizza informazioni dettagliate su un processo di elaborazione specifico:

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

Questo comando restituisce informazioni complete sul lavoro, tra cui:

  • Job ARN e stato attuale

  • Configurazione del contenitore e requisiti in termini di risorse (v CPUs e memoria)

  • Definizione del job e dettagli sull'ambiente di calcolo

  • Priorità di pianificazione e configurazione dei nuovi tentativi

  • Informazioni dettagliate sui tentativi con orari di inizio e fine

  • Informazioni sul flusso di log per accedere ai log dei container