本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS Glue 串流指標
本節說明各項指標,以及各指標間相互的關聯。
記錄數目 (指標:streaming.numRecords)
此指標指出正在處理的記錄數目。

此串流指標可讓您了解在一段時間內處理的記錄數目。除了正在處理的記錄數目外,這項指標還能幫助您了解輸入流量的行為。
指標 #1 顯示了沒有任何暴增流量的穩定流量範例。一般來說,這會是像 IoT 感應器這類的應用程式,IoT 感應器會定期收集資料,並將資料傳送到串流來源。
指標 #2 顯示了在穩定的負載中突然出現暴增流量的範例。在遇到像黑色星期五之類的行銷活動,而出現點擊次數暴增時,點擊流應用程式就可能會發生這種情況
指標 #3 顯示了無法預測的流量範例。無法預測的流量並不表示發生問題。這只是輸入資料的本質問題。回到 IoT 感應器的例子,您可以想像有數百個感應器正在向串流來源傳送天氣變化事件。由於天氣變化是不可預測的,資料當然也無法預測。了解流量模式是調整執行器大小的關鍵。如果輸入流量會在瞬間達到高峰,您可以考慮使用自動調整功能 (之後會詳細說明)。

您可以將這項指標與 Kinesis PutRecords 指標合併使用,以確保所擷取的事件數目和讀取的記錄數目幾近相同。當您試著要了解延遲情況時,這個做法更是格外有用。隨著擷取速率增加,numRecords
讀取者也隨之增加 AWS Glue。
批次處理時間 (指標:streaming.batchProcessingTimeInMs)
「批次處理時間」指標可協助您判斷叢集是佈建不足或過度佈建。

這項指標表示處理每個微批次記錄所需的毫秒數。這項指標的主要目標是監控時間,以確保時間小於 windowSize
間隔。只要 batchProcessingTimeInMs
在之後的時段間隔恢復正常,暫時的升高並沒有關係。指標 #1 顯示處理任務所花費較穩定或較不穩定的時間. 但是,如果輸入記錄的數量增加,則處理任務所需的時間也會增加 (如指標 #2 所示)。如果 numRecords
沒有增加,但處理時間卻上升,那麼您需要更深入地查看執行器所處理的任務。設定閾值和警示是個不錯的做法,可確保 batchProcessingTimeInMs
高出 120% 的時間不會超過 10 分鐘。如需有關設定警示的詳細資訊,請參閱使用 Amazon CloudWatch 警示。
取用者延遲 (指標:streaming.maxConsumerLagInMs)
取用者延遲指標可協助您了解事件處理是否有延遲。如果延遲時間過高,即使您的 windowSize 正確,也可能會錯過業務所依賴的處理中 SLA。您必須使用 emitConsumerLagMetrics
連線選項明確啟用這項指標。如需詳細資訊,請參閱KinesisStreamingSourceOptions。

衍生指標
若要取得更深入的分析數據,您可以建立衍生指標,以進一步了解 Amazon CloudWatch 中的串流任務。

您可以使用衍生指標建立圖形,以決定是否需要使用更多 DPU。雖然自動調整功能可協助您自動執行此作業,但您可以使用衍生指標來判斷自動調整功能是否有效運作。
InputRecordsPerSecond 表示取得輸入記錄的速率。此數值的計算方式為:輸入記錄數目 (glue.driver.streaming.numRecords)/windowSize。
ProcessingRecordsPerSecond 表示處理記錄的速率。此數值的計算方式為:輸入記錄數目 (glue.driver.streaming.numRecords)/batchProcessingTimeInMs。
如果輸入速率高於處理速率,則可能需要新增更多容量來處理任務或增加平行處理。
自動調整指標
若您的輸入流量會突然衝高,您應該考慮啟用自動調整功能並指定工作者數目上限。啟用此功能後,您會額外獲得兩個指標,numberAllExecutors
和 numberMaxNeededExecutors
。
numberAllExecutors 是目前正在執行的任務執行器數量。
numberMaxNeededExecutors 是滿足目前負載所需的任務執行器最大數目 (正在執行中和擱置中)。
這兩個指標可協助您了解自動調整功能是否正常運作。

AWS Glue 會透過幾個微型批次監控batchProcessingTimeInMs
指標,並執行下列兩項操作之一。如果 batchProcessingTimeInMs
接近 windowSize
,便會擴展執行器;如果 batchProcessingTimeInMs
相對來說低於 windowSize
,則會縮減執行器。此外,它會使用演算法來逐步調整執行器。
指標 #1 顯示運作中的執行器如何擴展以趕上所需的執行器數目上限,以便處理負載。
指標 #2 顯示當
batchProcessingTimeInMs
過低,運作中的執行器會如何縮減。
您可以使用這些指標來監控目前的執行器層級平行處理原則,並據此調整自動調整組態中的工作者數目上限。