View a markdown version of this page

監控整合 - AWS Glue

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

監控整合

檢視整合的 Amazon CloudWatch 日誌

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

對於每個建立的整合,該整合的日誌事件將在 CloudWatch /aws-glue/zeroETL-integrations/logs/的 下收集。在日誌群組中,日誌訊息會分區為日誌串流。建立的每個整合都有一個專用日誌串流,用於寫入該整合的所有日誌。

注意

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

啟用 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 任務執行產生的這些 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 。系統會以接近即時的速度傳送事件。

若要擷取所有零 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 擷取進行中 已部分完成實體的單獨執行。