監控整合 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控整合

整合狀態

下列整合狀態可說明整合:

  • Creating – 正在建立整合。

  • Active – 整合正在將交易資料傳送至目標。

  • Modifying – 正在修改整合。

  • Syncing – 整合遇到可復原的錯誤,且正在重新植入資料。

  • Needs attention – 整合發生事件或錯誤,需要手動介入才能解決此問題。若要修正問題,請遵循整合詳細資訊上錯誤訊息中的指示。

  • Failed – 整合發生無法復原的事件或錯誤。您必須刪除並重新建立整合。

  • Deleting – 正在刪除整合。

檢視整合的 Amazon CloudWatch 日誌

AWS Glue 零 ETL 整合會產生 Amazon CloudWatch logs,讓您清楚了解資料移動。與每個成功擷取相關的日誌事件,或由於來源資料記錄有問題而遇到的任何失敗,或由於結構描述變更或許可不足而導致的資料寫入錯誤,都會傳送到客戶帳戶中建立的預設日誌群組。

對於建立的每個整合,將在 Amazon Cloudwatch 中的 /aws-glue/zeroETL-integrations/logs/ 下收集該整合的日誌事件。在日誌群組中,日誌訊息會分區為日誌串流。建立的每個整合都有一個專用日誌串流,用於寫入該整合的所有日誌。例如,可在 /aws-glue/zeroETL-integrations/logs/03cabe77-79e7-4b7a-b3da-8c160bea6bbf 中找到與 IntegrationArn arn:aws:glue:us-east-1:123456789012:integration:03cabe77-79e7-4b7a-b3da-8c160bea6bbf 整合的日誌。可以從建立整合時產生的 {integrationArn} 中參考 {IntegrationId}。

注意

對於跨帳戶案例,會在整合存在的來源帳戶中發出來源處理日誌,而目標處理日誌會在目標資料庫存在的目標帳戶中發出。

啟用 ABAC 所需的 IAM 許可

建立整合時,來源和目標角色需要下列 IAM 許可,才能為整合啟用 CloudWatch 記錄。 AWS Glue 零 ETL 整合會使用來源和目標角色中提供的這些許可,將 CloudWatch 日誌傳送至客戶帳戶。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "*" ] } ] }

日誌訊息

日誌格式:零 ETL 整合會發出四種類型的日誌訊息:

// Ingestion started { "integrationArn": "arn:aws:glue:us-east-2:123456789012:integration/1a012bba-123a-1bba-ab1c-173de3b12345", ... "messageType": "IngestionStarted", "details": { "tableName": "testDDBTable", "message": "Ingestion Job started" } } // Data processing stats on successful table ingestion { ... "messageType": "IngestionProcessingStats", "details": { "tableName": "testDDBTable", "insert_count": 100, "update_count": 10, "delete_count": 10 } } // Ingestion failure logs for failed table-processing { ... "messageType": "IngestionFailed", "details": { "tableName": "testDDBTable", "errorMessage": "Failed to ingest data with error: Target Glue database not found.", "error_code" : "client_error" } } // Ingestion completed notification with lastSyncedTimestamp { ... "messageType": "IngestionCompleted", "details": { "tableName": "testDDBTable", "message": "Ingestion Job completed" "lastSyncedTimestamp": "1132344255745" } }

檢視整合的 Amazon CloudWatch 指標

整合完成後,您可以看到每個 AWS Glue 任務執行在帳戶中產生的這些 Amazon Cloudwatch 指標:

CloudWatch 指標命名空間:"AWS/Glue/ZeroETL"

指標維度:

  • integrationArn

  • loadType

  • tableName

指標名稱:

  • InsertCount - 插入到目標 Iceberg 資料表的記錄數目。

  • UpdateCount - 在目標 Iceberg 資料表中更新的記錄數目。

  • DeleteCount - 從目標 Iceberg 資料表中刪除的記錄數目。

  • IngestionSucceeded - 計數 1,如果整合的擷取成功。

  • IngestionFailed - 計數 1,如果整合的擷取失敗。

  • LastSyncTimestamp - 在來源已同步至目標之前的時間戳記。

使用 Amazon EventBridge 來管理事件通知

零 ETL 整合使用 Amazon EventBridge 來管理事件通知,讓您隨時掌握整合變更的最新資訊。Amazon EventBridge 是無伺服器事件匯流排服務,可讓您用於將應用程式與來自各種來源的資料互相連線。在此情況下,事件來源為 AWS Glue。在 環境中受監控變更的事件會自動從 傳送至 EventBridge AWS Glue 。系統會以接近即時的速度傳送事件。

EventBridge 會提供環境讓您編寫事件規則,它可以指定要針對特定事件採取的動作。您也可以設定目標,這些目標是 EventBridge 可以向其傳送事件的資源。目標可以包含 API 目的地、Amazon CloudWatch 日誌群組和其他項目。如需規則的相關資訊,請參閱 Amazon EventBridge 規則。如需目標的相關資訊,請參閱 Amazon EventBridge 目標

若要擷取所有零 ETL 通知,請建立符合下列要求的 Eventbridge 規則:

{ "source": [{ "prefix": "aws.glue-zero-etl“ }], "detail-type": [{ "prefix": "Glue Zero ETL“ }] }

下表包含零 ETL 整合事件,以及其他中繼資料:

面向客戶的詳細資訊類型 說明
AWS Glue 已完成零 ETL 擷取 已成功完成實體的單獨執行。
AWS Glue 零 ETL 擷取失敗 未成功完成實體的單獨執行 (用戶端或系統錯誤)。
AWS Glue 零 ETL 整合重新同步 整合已重新同步。
AWS Glue 零 ETL 整合失敗 由於發生錯誤,整合狀態已變更為 FAILED。
AWS Glue 零 ETL 整合需要注意 由於發生錯誤,整合狀態已變更為 NEEDS_ATTENTION。
AWS Glue 零 ETL 擷取進行中 已部分完成實體的單獨執行。