Utilizzo delle metriche di AWS Glue streaming - 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à.

Utilizzo delle metriche di AWS Glue streaming

Questa sezione descrive ciascuno dei parametri e il modo in cui sono correlati tra loro.

Numero di record (metrica: streaming). numRecords)

Questo parametro indica quanti record sono in fase di elaborazione.

Lo screenshot mostra il monitoraggio del numero di record nei processi di streaming.

Questo parametro di streaming consente di visualizzare il numero di record in fase di elaborazione in una finestra. Oltre a specificare il numero di record in fase di elaborazione, agevola la comprensione del comportamento del traffico di input.

  • L'indicatore n. 1 mostra un esempio di traffico stabile senza picchi. In genere si tratta di applicazioni come i sensori IoT che raccolgono dati a intervalli regolari e li inviano all'origine di streaming.

  • L'indicatore n. 2 mostra un esempio di improvviso aumento del traffico su un carico altrimenti stabile. In un'applicazione clickstream, ciò può accadere in concomitanza con un evento di marketing come il Black Friday, quando si verifica un aumento esponenziale del numero di clic.

  • L'indicatore n. 3 mostra un esempio di traffico imprevedibile. Il traffico imprevedibile non significa che ci sia un problema. ma è una caratteristica intrinseca dei dati di input. Tornando all'esempio del sensore IoT, immaginiamo centinaia di sensori che inviano eventi di cambiamenti meteorologici all'origine di streaming. Poiché i cambiamenti meteorologici non sono prevedibili, non lo sono nemmeno i dati. Comprendere l'andamento del traffico è fondamentale per dimensionare gli esecutori. Se l'input presenta molti picchi, potresti prendere in considerazione l'utilizzo del dimensionamento automatico, di cui parleremo più avanti.

La schermata mostra il monitoraggio utilizzando il numero di record e le metriche PutRecords Kinesis nei lavori di streaming.

Puoi combinare questa metrica con la metrica PutRecords Kinesis per assicurarti che il numero di eventi da inserire e il numero di record letti siano quasi gli stessi. Questo è particolarmente utile quando si cerca di comprendere il ritardo. All'aumentare del tasso di ingestione, aumenta anche il readby. numRecords AWS Glue

Tempo di elaborazione in batch (metrica: streaming). batchProcessingTimeInMs)

Il parametro del tempo di elaborazione del batch consente di determinare se il provisioning del cluster è insufficiente o eccessivo.

Lo screenshot mostra il monitoraggio del tempo di elaborazione del batch nei processi di streaming.

Questo parametro indica il numero di millisecondi necessari per elaborare ogni microbatch di record. L'obiettivo principale in questo caso è monitorare questo periodo per assicurarsi che sia inferiore all'intervallo windowSize. È accettabile che batchProcessingTimeInMs salga temporaneamente, purché torni alla normalità nell'intervallo di finestra successivo. L'indicatore n. 1 mostra un tempo più o meno stabile richiesto per elaborare il processo. Tuttavia, se il numero di record di input aumenta, il tempo necessario per elaborare il processo aumenta di conseguenza, come segnalato dall'indicatore n. 2. Se numRecords non aumenta ma il tempo di elaborazione sì, è necessario esaminare più a fondo l'elaborazione del processo sugli esecutori. È buona norma impostare una soglia e un allarme per assicurarsi che batchProcessingTimeInMs non superi il 120% per più di 10 minuti. Per ulteriori informazioni sull'impostazione degli allarmi, consulta Using Amazon CloudWatch alarms.

Ritardo dei consumatori (metrica: streaming). maxConsumerLagInMs)

Il parametro del ritardo dei consumatori aiuta a comprendere se sussiste un ritardo nell'elaborazione degli eventi. Se il ritardo è troppo elevato, potresti perdere l'elaborazione da SLA cui dipende la tua attività, anche se ne hai una correttawindowSize. È necessario abilitare esplicitamente questi parametri utilizzando l'opzione di connessione emitConsumerLagMetrics. Per ulteriori informazioni, consulta KinesisStreamingSourceOptions.

Lo screenshot mostra il monitoraggio del ritardo nei processi di streaming.

Parametri derivati

Per ottenere informazioni più approfondite, puoi creare metriche derivate per saperne di più sui tuoi lavori di streaming in Amazon CloudWatch.

Lo screenshot mostra il monitoraggio dei parametri derivati nei processi di streaming.

Puoi creare un grafico con metriche derivate per decidere se è necessario utilizzarne di più. DPUs Sebbene il dimensionamento automatico ti aiuti a farlo automaticamente, puoi utilizzare parametri derivati per stabilire se il dimensionamento automatico funziona in modo efficace.

  • InputRecordsPerSecondindica la frequenza con cui vengono ricevuti i record di input. È derivato come segue: numero di record di input (glue.driver.streaming). numRecords)/. WindowSize

  • ProcessingRecordsPerSecondindica la velocità con cui vengono elaborati i record. È derivato come segue: numero di record di input (glue.driver.streaming). numRecords)/. batchProcessingTime InMs

Se la velocità di input è superiore a quella di elaborazione, potrebbe essere necessario incrementare la capacità per elaborare il processo oppure aumentare il parallelismo.

Parametri di dimensionamento automatico

Se il traffico in entrata ha molti picchi, dovresti valutare l'abilitazione del dimensionamento automatico e specificare il numero massimo di worker. In tal caso ottieni due parametri aggiuntivi, numberAllExecutors e numberMaxNeededExecutors.

  • numberAllExecutorsè il numero di esecutori di lavori che eseguono attivamente

  • numberMaxNeededExecutor è il numero massimo di job executor (in esecuzione attiva e in sospeso) necessari per soddisfare il carico corrente.

Questi due parametri ti aiuteranno a capire se il dimensionamento automatico funziona correttamente.

Lo screenshot mostra il monitoraggio del dimensionamento automatico nei processi di streaming.

AWS Glue monitorerà la batchProcessingTimeInMs metrica su alcuni microbatch e farà una delle due cose. Aumenterà gli esecutori, se batchProcessingTimeInMs è più vicino a windowSize, oppure ridurrà gli esecutori, se batchProcessingTimeInMs è relativamente più basso di windowSize. Inoltre, utilizzerà un algoritmo per dimensionare gradualmente gli esecutori.

  • L'indicatore n. 1 mostra come gli esecutori attivi sono aumentati fino a raggiungere il numero massimo di esecutori necessari per elaborare il carico.

  • L'indicatore n. 2 mostra che gli esecutori attivi sono diminuiti rispetto a quando batchProcessingTimeInMs era basso.

È possibile utilizzare questi parametri per monitorare l'attuale parallelismo a livello di esecutore e regolare di conseguenza il numero massimo di worker nella configurazione di dimensionamento automatico.