統合のモニタリング
統合状態
次の統合状態は、統合の説明を示しています。
Creating
— 統合を作成中です。Active
— 統合がトランザクションデータをターゲットに送信中です。Modifying
— 統合を変更中です。Syncing
— 統合で復旧可能なエラーが発生したため、データを再シードしています。Needs attention
— 統合でイベントまたはエラーが発生したため、解決するには手動介入が必要です。問題を解決するには、統合詳細のエラーメッセージの指示に従ってください。Failed
— 統合で、復旧不能なイベントまたはエラーが発生しました。統合を手動で削除して再作成する必要があります。Deleting
— 統合を削除中です。
統合に関する Amazon CloudWatch Logs の表示
AWS Glue ゼロ ETL 統合は、データ移動を可視化するために Amazon CloudWatch Logs を生成します。それぞれの正常な取り込み、ソースでの問題のあるデータレコードが原因で発生した障害、またはスキーマの変更やアクセス許可の不足によるデータ書き込みエラーに関連するログイベントは、カスタマーアカウントで作成されたデフォルトのロググループに出力されます。
作成された各統合で、その統合のログイベントは Amazon CloudWatch の /aws-glue/zeroETL-integrations/logs/
に収集されます。ロググループ内のログメッセージは、ログストリームに分割されます。作成された各統合には、その統合のすべてのログが書き込まれる専用のログストリームがあります。例えば、IntegrationArn arn:aws:glue:us-east-1:123456789012:integration:03cabe77-79e7-4b7a-b3da-8c160bea6bbf
の統合のログは、/aws-glue/zeroETL-integrations/logs/03cabe77-79e7-4b7a-b3da-8c160bea6bbf にあります。{IntegrationId} は、統合の作成時に生成された {integrationArn} から参照できます。
注記
クロスアカウントシナリオでは、ソース処理ログは統合が存在するソースアカウントで出力され、ターゲット処理ログはターゲットデータベースが存在するターゲットアカウントで出力されます。
ログ記録を有効にするために必要な IAM 許可
統合を作成する際、統合の CloudWatch ログ記録を有効にするには、ソースロールとターゲットロールに次の IAM 許可が必要です。AWS Glue ゼロ ETL 統合では、ソースロールとターゲットロールで提供されるこれらの許可を使用して、CloudWatch ログをカスタマーアカウントに出力します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], "Resource": [ "*" ] } ] }
ログメッセージ
ログ形式: ゼロ ETL 統合では、次の 4 種類のログメッセージを出力します。
// 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 です。環境内の監視された変更であるイベントは、AWS Glue から EventBridge に自動的に送信されます。イベントは、ほぼリアルタイムに配信されます。
EventBridge は、イベントルールを記述するための環境を用意します。ルールでは、特定のイベントに対して実行するアクションを指定できます。ターゲットを設定することもできます。ターゲットは、EventBridge がイベントを送信できるリソースです。ターゲットには、API 送信先、Amazon CloudWatch ロググループなどを含めることができます。ルールの詳細については、「Amazon EventBridge ルール」を参照してください。ターゲットの詳細については、「Amazon EventBridge ターゲット」を参照してください。
すべてのゼロ ETL 通知をキャプチャするには、以下に一致する EventBridge ルールを作成します。
{ "source": [{ "prefix": "aws.glue-zero-etl“ }], "detail-type": [{ "prefix": "Glue Zero ETL“ }] }
次の表には、ゼロ ETL 統合イベントと、追加のメタデータをまとめています。
顧客向けの詳細タイプ | 説明 |
---|---|
Glue ゼロ ETL 取り込みの完了 | エンティティの個々の実行が正常に完了しました。 |
Glue ゼロ ETL 取り込みの失敗 | エンティティの個々の実行が正常に完了しませんでした (クライアントまたはシステムエラー)。 |
Glue ゼロ ETL 統合の再同期 | 統合が再同期されました。 |
Glue ゼロ ETL 統合の失敗 | エラーのため統合ステータスが FAILED に変更されました。 |
Glue ゼロ ETL 統合に注意が必要 | エラーのため統合ステータスが NEEDS_ATTENTION に変更されました。 |