Monitoraggio AWS Glue utilizzo dei CloudWatch parametri di Amazon - AWS Glue

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à.

Monitoraggio AWS Glue utilizzo dei CloudWatch parametri di Amazon

Puoi profilare e monitorare AWS Glue operazioni utilizzando AWS Glue profiler di lavoro. Raccoglie ed elabora dati grezzi da AWS Glue lavori in metriche leggibili e quasi in tempo reale archiviate in Amazon. CloudWatch Queste statistiche vengono conservate e aggregate in CloudWatch modo da poter accedere alle informazioni storiche per una migliore prospettiva sulle prestazioni dell'applicazione.

Nota

È possibile che vengano addebitati costi aggiuntivi quando si abilitano le metriche relative ai lavori e CloudWatch si creano metriche personalizzate. Per ulteriori informazioni, consulta i CloudWatch prezzi di Amazon.

AWS Glue panoramica delle metriche

Quando interagisci con AWS Glue, invia le metriche a. CloudWatch È possibile visualizzare queste metriche utilizzando il AWS Glue console (il metodo preferito), la dashboard della CloudWatch console o AWS Command Line Interface (AWS CLI).

Per visualizzare le metriche utilizzando il AWS Glue dashboard della console

Puoi visualizzare grafici dettagliati o di riepilogo dei parametri per un processo oppure grafici dettagliati per un'esecuzione di un processo.

  1. Accedi AWS Management Console e apri la AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/.

  2. Nel riquadro di navigazione, scegli Monitoraggio dell'esecuzione del processo.

  3. In Esecuzioni del processo, scegli Operazioni per interrompere un processo attualmente in esecuzione, visualizzare un processo o riavvolgerne il segnalibro.

  4. Seleziona un processo, quindi scegli Visualizza dettagli di esecuzione per visualizzare informazioni aggiuntive sull'esecuzione del processo.

Per visualizzare le metriche utilizzando la dashboard della CloudWatch console

I parametri vengono raggruppati prima in base allo spazio dei nomi del servizio e successivamente in base alle diverse combinazioni di dimensioni all'interno di ogni spazio dei nomi.

  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel riquadro di navigazione, seleziona Parametri.

  3. Selezionare lo spazio dei nomi Glue.

Per visualizzare le metriche utilizzando il AWS CLI
  • Al prompt dei comandi utilizza il comando seguente.

    aws cloudwatch list-metrics --namespace Glue

AWS Glue riporta le metriche CloudWatch ogni 30 secondi e i dashboard delle CloudWatch metriche sono configurate per visualizzarle ogni minuto. Il AWS Glue le metriche rappresentano i valori delta rispetto ai valori precedentemente riportati. Se appropriato, i pannelli di controllo dei parametri aggregano (sommano) i valori inviati ogni 30 secondi per ottenere un valore per l'intero ultimo minuto.

AWS Glue comportamento delle metriche per i lavori Spark

AWS Glue le metriche sono abilitate all'inizializzazione di un GlueContext in uno script e generalmente vengono aggiornate solo alla fine di un'attività di Apache Spark. Rappresentano i valori aggregati per tutte le attività di Spark completate fino al momento attuale.

Tuttavia, le metriche di Spark che AWS Glue i passaggi a CloudWatch sono generalmente valori assoluti che rappresentano lo stato corrente nel momento in cui vengono segnalati. AWS Glue li riporta CloudWatch ogni 30 secondi e i dashboard delle metriche generalmente mostrano la media dei punti dati ricevuti nell'ultimo minuto.

AWS Glue i nomi delle metriche sono tutti preceduti da uno dei seguenti tipi di prefisso:

  • glue.driver.— Le metriche i cui nomi iniziano con questo prefisso rappresentano entrambe AWS Glue metriche aggregate da tutti gli esecutori del driver Spark o metriche Spark corrispondenti al driver Spark.

  • glue.executorId.: executorId è il numero di un executor Spark specifico. Corrisponde agli executor elencati nei log.

  • glue.ALL.: i parametri i cui nomi iniziano con questo prefisso aggregano i valori di tutti gli executor Spark.

AWS Glue metriche

AWS Glue profila e invia le seguenti metriche CloudWatch ogni 30 secondi e la AWS Glue Metrics Dashboard le riporta una volta al minuto:

Parametro Descrizione

glue.driver.aggregate.bytesRead

Il numero di byte letti da tutte le origini dati da tutti i processi Spark completati in esecuzione in tutti gli executor.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: byte

Può essere utilizzato per monitorare:

  • I byte letti.

  • L'avanzamento del processo.

  • L'origine dati JDBC.

  • Problemi relativi ai segnalibri di processo.

  • Varianza tra esecuzioni di processo.

Questo parametro può essere utilizzato come il parametro glue.ALL.s3.filesystem.read_bytes, con la differenza che questo viene aggiornato alla fine di un processo Spark e acquisisce anche origini dati non S3.

glue.driver.aggregate.elapsedTime

Il tempo di ETL trascorso in millisecondi (non include i tempi di bootstrap del processo).

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: millisecondi

Può essere utilizzato per determinare il tempo medio di esecuzione di un processo.

Alcuni modi per utilizzare i dati:

  • Impostare allarmi per i ritardi.

  • Misurare la varianza tra esecuzioni di processo.

glue.driver.aggregate.numCompletedStages

Il numero di fasi completate nel processo.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: numero

Può essere utilizzato per monitorare:

  • L'avanzamento del processo.

  • La sequenza temporale per fase dell'esecuzione del processo, se correlata ad altri parametri.

Alcuni modi per utilizzare i dati:

  • Identificare fasi impegnative nell'esecuzione di un processo.

  • Impostare gli allarmi per picchi correlati (fasi impegnative) tra le esecuzioni dei lavori.

glue.driver.aggregate.numCompletedTasks

Il numero di attività completate nel processo.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: numero

Può essere utilizzato per monitorare:

  • L'avanzamento del processo.

  • Parallelismo all'interno di una fase.

glue.driver.aggregate.numFailedTasks

Il numero di processi non riusciti.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: numero

Può essere utilizzato per monitorare:

  • Anomalie dei dati che causano la non riuscita delle attività del processo.

  • Anomalie del cluster che causano la non riuscita delle attività del processo.

  • Anomalie dello script che causano la non riuscita delle attività del processo.

I dati possono essere utilizzati per impostare allarmi per errori maggiori che potrebbero suggerire anomalie nei dati, nel cluster o negli script.

glue.driver.aggregate.numKilledTasks

Il numero di attività interrotte.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: numero

Può essere utilizzato per monitorare:

  • Anomalie nel Data Skew che provocano eccezioni () che interrompono le attività. OOMs

  • Anomalie degli script che generano eccezioni () che interrompono le attività. OOMs

Alcuni modi per utilizzare i dati:

  • Impostare allarmi per errori maggiori che potrebbero suggerire anomalie nei dati.

  • Impostare allarmi per errori maggiori che potrebbero suggerire anomalie nel cluster.

  • Impostare allarmi per errori maggiori che potrebbero suggerire anomalie nello script.

glue.driver.aggregate.recordsRead

Il numero di record letti da tutte le origini dati da tutti i processi Spark completati in esecuzione in tutti gli executor.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: numero

Può essere utilizzato per monitorare:

  • Record letti.

  • L'avanzamento del processo.

  • L'origine dati JDBC.

  • Problemi relativi ai segnalibri di processo.

  • Differenza nelle esecuzioni dei processi nei giorni.

Questo parametro può essere utilizzato come il parametro glue.ALL.s3.filesystem.read_bytes, con la differenza che questo viene aggiornato alla fine di un processo Spark.

glue.driver.aggregate.shuffleBytesWritten

Il numero di byte scritti da tutti gli executor per mescolare i dati tra di loro rispetto al report precedente (aggregato dal AWS Glue Metrics Dashboard come numero di byte scritti a questo scopo nel minuto precedente).

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: byte

Può essere utilizzato per monitorare: la distribuzione casuale dei dati nei processi (join di grandi dimensioni, groupBy, repartition, coalesce).

Alcuni modi per utilizzare i dati:

  • Ripartizionare o decomprimere file di input di grandi dimensioni prima di ulteriori elaborazioni.

  • Ripartizionare i dati in modo più uniforme per evitare i tasti di scelta rapida.

  • Prefiltrare i dati prima delle operazioni di join o groupBy.

glue.driver.aggregate.shuffleLocalBytesRead

Il numero di byte letti da tutti gli executor per mescolare i dati tra di loro rispetto al report precedente (aggregato dal AWS Glue Metrics Dashboard come numero di byte letti a questo scopo nel minuto precedente).

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (count).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella AWS Glue Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione.

Unità: byte

Può essere utilizzato per monitorare: la distribuzione casuale dei dati nei processi (join di grandi dimensioni, groupBy, repartition, coalesce).

Alcuni modi per utilizzare i dati:

  • Ripartizionare o decomprimere file di input di grandi dimensioni prima di ulteriori elaborazioni.

  • Ripartizionare i dati in modo più uniforme utilizzando i tasti di scelta rapida.

  • Prefiltrare i dati prima delle operazioni di join o groupBy.

glue.driver.BlockManager.disk.diskSpaceUsed_MB

Numero di megabyte di spazio su disco utilizzati in tutti gli executor.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Average (Media). Si tratta di un parametro Spark, riportato come valore assoluto.

Unità: megabyte

Può essere utilizzato per monitorare:

  • Spazio su disco utilizzato per i blocchi che rappresentano partizioni RDD memorizzate nella cache.

  • Spazio su disco utilizzato per i blocchi che rappresentano uscite shuffle intermedie.

  • Spazio su disco utilizzato per i blocchi che rappresentano le trasmissioni.

Alcuni modi per utilizzare i dati:

  • Identificare gli errori dei processi dovuti a un maggiore utilizzo del disco.

  • Identificare partizioni di grandi dimensioni con conseguente riversamento o distribuzione casuale.

  • Aumentare la capacità DPU sottoposta a provisioning per risolvere questi problemi.

glue.driver.ExecutorAllocationManager.executors.numberAllExecutors

Numero di executor di processo attivi.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Average (Media). Si tratta di un parametro Spark, riportato come valore assoluto.

Unità: numero

Può essere utilizzato per monitorare:

  • L'attività dei processi.

  • Calo degli executor (con solo pochi executor attivi)

  • Parallelismo attuale a livello di executor.

Alcuni modi per utilizzare i dati:

  • Ripartizionare o decomprimere i file di input di grandi dimensioni in anticipo se il cluster è sottoutilizzato.

  • Identificare i ritardi di esecuzione delle fasi o dei processi dovuti a scenari di rallentamento.

  • • Effettua un confronto con numberMaxNeeded gli Executor per comprendere meglio il backlog e aumentare il provisioning. DPUs

glue.driver.ExecutorAllocationManager.executors.numberMaxNeededExecutors

Il numero massimo di executor di processo (attivi e in sospeso) necessari per soddisfare il carico corrente.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Maximum (Massimo). Si tratta di un parametro Spark, riportato come valore assoluto.

Unità: numero

Può essere utilizzato per monitorare:

  • L'attività dei processi.

  • Parallelismo attuale a livello di executor e backlog delle attività in sospeso non ancora pianificate per la non disponibilità degli executor, a causa della capacità DPU o di executor interrotti/non riusciti.

Alcuni modi per utilizzare i dati:

  • Identificare sospensione/backlog della coda di pianificazione.

  • Identificare i ritardi di esecuzione delle fasi o dei processi dovuti a scenari di rallentamento.

  • Confronta con numberAllExecutors per comprendere meglio il backlog e il provisioning. DPUs

  • Aumentare la capacità DPU sottoposta a provisioning per correggere il backlog dell'executor in sospeso.

glue.driver.jvm.heap.usage

glue.executorId.jvm.heap.usage

glue.ALL.jvm.heap.usage

Frazione di memoria usata dall'heap JVM per questo driver (dimensione: 0-1) per driver, executor identificato da executorId o TUTTI gli executor.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Average (Media). Si tratta di un parametro Spark, riportato come valore assoluto.

Unità: percentuale

Può essere utilizzato per monitorare:

  • Utilizzo out-of-memory delle condizioni del driver (OOM). glue.driver.jvm.heap.usage

  • Utilizzo out-of-memory glue.ALL.jvm.heap.usage delle condizioni dell'esecutore (OOM).

Alcuni modi per utilizzare i dati:

  • Identificare gli ID e le fasi dell'executor che consumano memoria.

  • Identificare gli ID e le fasi dell'executor in calo.

  • Identifica una out-of-memory condizione del driver (OOM).

  • Identifica una out-of-memory condizione dell'esecutore (OOM) e ottieni l'ID dell'esecutore corrispondente in modo da poter ottenere una traccia dello stack dal log dell'esecutore.

  • Identifica i file o le partizioni che possono presentare una distorsione dei dati che causa ritardi o condizioni (). out-of-memory OOMs

glue.driver.jvm.heap.used

glue.executorId.jvm.heap.used

glue.ALL.jvm.heap.used

Il numero di byte di memoria utilizzati dall'heap JVM per il driver, l'executor identificato da executorId o TUTTI gli executor.

Dimensioni valide: JobName (il nome del AWS Glue Job), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Average (Media). Si tratta di un parametro Spark, riportato come valore assoluto.

Unità: byte

Può essere utilizzato per monitorare:

  • out-of-memoryCondizioni del conducente (OOM).

  • out-of-memoryCondizioni dell'esecutore (OOM).

Alcuni modi per utilizzare i dati:

  • Identificare gli ID e le fasi dell'executor che consumano memoria.

  • Identificare gli ID e le fasi dell'executor in calo.

  • Identifica una out-of-memory condizione del driver (OOM).

  • Identifica una out-of-memory condizione dell'esecutore (OOM) e ottieni l'ID dell'esecutore corrispondente in modo da poter ottenere una traccia dello stack dal log dell'esecutore.

  • Identifica i file o le partizioni che possono presentare una distorsione dei dati che causa ritardi o condizioni (). out-of-memory OOMs

glue.driver.s3.filesystem.read_bytes

glue.executorId.s3.filesystem.read_bytes

glue.ALL.s3.filesystem.read_bytes

Il numero di byte letti da Amazon S3 dal driver, da un executor identificato da ExecutorID o da ALL executor rispetto al report precedente (aggregato dal Metrics Dashboard come il numero di byte letti AWS Glue nel minuto precedente).

Dimensioni valide: JobName, JobRunId e Type (valutazione).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione AWS Glue . L'area sotto la curva nella AWS Glue Metrics Dashboard può essere utilizzata per confrontare visivamente i byte letti da due diverse esecuzioni di lavoro.

Unità: byte.

Può essere utilizzato per monitorare:

  • Spostamento di dati ETL.

  • L'avanzamento del processo.

  • Problemi relativi ai segnalibri di processo (dati elaborati, rielaborati e saltati).

  • Confronto tra letture e velocità di importazione da origini dati esterne.

  • Varianza tra esecuzioni di processo.

I dati risultanti possono essere utilizzati per:

  • Pianificazione della capacità DPU.

  • Impostare gli allarmi per picchi o riduzioni di grandi dimensioni nei dati letti per le esecuzioni le fasi dei processi.

glue.driver.s3.filesystem.write_bytes

glue.executorId.s3.filesystem.write_bytes

glue.ALL.s3.filesystem.write_bytes

Il numero di byte scritti su Amazon S3 dal driver, da un executor identificato da ExecutorID o da ALL executor a partire dal report precedente (aggregato dal Metrics Dashboard come il numero di byte scritti AWS Glue nel minuto precedente).

Dimensioni valide: JobName, JobRunId e Type (valutazione).

Statistiche valide: SUM (Somma). Questa metrica è un valore delta dell'ultimo valore riportato, quindi nella Metrics Dashboard viene utilizzata una statistica SUM per l'aggregazione AWS Glue . L'area sotto la curva nella AWS Glue Metrics Dashboard può essere utilizzata per confrontare visivamente i byte scritti da due diverse esecuzioni di job.

Unità: byte

Può essere utilizzato per monitorare:

  • Spostamento di dati ETL.

  • L'avanzamento del processo.

  • Problemi relativi ai segnalibri di processo (dati elaborati, rielaborati e saltati).

  • Confronto tra letture e velocità di importazione da origini dati esterne.

  • Varianza tra esecuzioni di processo.

Alcuni modi per utilizzare i dati:

  • Pianificazione della capacità DPU.

  • Impostare gli allarmi per picchi o riduzioni di grandi dimensioni nei dati letti per le esecuzioni le fasi dei processi.

glue.driver.streaming.numRecords

Numero di record ricevuti in un micro-batch. Questa metrica è disponibile solo per i lavori di AWS Glue streaming con la AWS Glue versione 2.0 e successive.

Dimensioni valide: JobName (il nome del AWS Glue lavoro), JobRunId (l' JobRun ID. orALL) e Type (count).

Valid Statistics: Sum (Somma), Maximum (Massimo), Minimum (Minimo), Average (Media), Percentile (Percentuale)

Unità: numero

Può essere utilizzato per monitorare:

  • Record letti.

  • L'avanzamento del processo.

glue.driver.streaming.batchProcessingTimeInMs

Il tempo necessario per elaborare i batch in millisecondi. Questa metrica è disponibile solo per i lavori di AWS Glue streaming con la AWS Glue versione 2.0 e successive.

Dimensioni valide: JobName (il nome del AWS Glue lavoro), JobRunId (l' JobRun ID. orALL) e Type (count).

Valid Statistics: Sum (Somma), Maximum (Massimo), Minimum (Minimo), Average (Media), Percentile (Percentuale)

Unità: numero

Può essere utilizzato per monitorare:

  • L'avanzamento del processo.

  • Prestazioni dello script.

glue.driver.system.cpuSystemLoad

glue.executorId.system.cpuSystemLoad

glue.ALL.system.cpuSystemLoad

Frazione del carico di sistema della CPU usata (dimensione: 0-1) dal driver, da un executor identificato da executorId o da tutti gli executor.

Dimensioni valide: JobName (il nome del AWS Glue lavoro), JobRunId (l' JobRun ID. orALL) e Type (gauge).

Statistiche valide: Average (Media). Questo parametro è riportato come valore assoluto.

Unità: percentuale

Può essere utilizzato per monitorare:

  • Carico della CPU del driver.

  • Carico della CPU dell'executor.

  • Rilevamento di executor o fasi associati alla CPU o all'IO in un processo.

Alcuni modi per utilizzare i dati:

  • Pianificazione della capacità DPU insieme alle metriche IO (Byte letti/casuali, parallelismo dell'attività) e al numero massimo di parametri di executor necessari.

  • Identificare il rapporto CPU/IO. Questo consente il ripartizionamento e l'aumento della capacità di provisioning per i processi a esecuzione prolungata con set di dati suddivisibili con minore utilizzo della CPU.

Dimensioni per le metriche AWS Glue

AWS Glue le metriche utilizzano lo spazio dei AWS Glue nomi e forniscono metriche per le seguenti dimensioni:

Dimensione Descrizione

JobName

Questa dimensione filtra le metriche di tutte le esecuzioni di un processo specifico. AWS Glue

JobRunId

Questa dimensione filtra le metriche di un AWS Glue lavoro specifico eseguito da un JobRun ID o. ALL

Type

Questa dimensione filtra i parametri in base a count (numero aggregato) o gauge (valore in un determinato momento).

Per ulteriori informazioni, consulta la Amazon CloudWatch User Guide.