統合のモニタリング
統合に関する Amazon CloudWatch Logs の表示
AWS Glue ゼロ ETL 統合は、データ移動を可視化するために CloudWatch Logs を生成します。それぞれの正常な取り込み、ソースでの問題のあるデータレコードが原因で発生した障害、またはスキーマの変更やアクセス許可の不足によるデータ書き込みエラーに関連するログイベントは、カスタマーアカウントで作成されたデフォルトのロググループに出力されます。
作成された各統合で、その統合のログイベントは CloudWatch の /aws-glue/zeroETL-integrations/logs/ に収集されます。ロググループ内のログメッセージは、ログストリームに分割されます。作成された各統合には、その統合のすべてのログが書き込まれる専用のログストリームがあります。
注記
クロスアカウントシナリオでは、ソース処理ログは統合が存在するソースアカウントで出力され、ターゲット処理ログはターゲットデータベースが存在するターゲットアカウントで出力されます。
ログ記録を有効にするために必要な IAM 許可
統合を作成する際、統合の CloudWatch ログ記録を有効にするには、ソースロールとターゲットロールに次の IAM 許可が必要です。AWS Glue ゼロ ETL 統合では、ソースロールとターゲットロールで提供されるこれらの許可を使用して、CloudWatch ログをカスタマーアカウントに出力します。
ログメッセージ
ログ形式: ゼロ 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 ジョブ実行ごとにアカウントで生成された以下の Cloudwatch メトリクスが表示されます。
CloudWatch メトリクス名前空間: "AWS/Glue/ZeroETL"
メトリクスのディメンション:
integrationArnloadTypetableName
メトリクス名:
InsertCount- ターゲット Iceberg テーブルに挿入されたレコードの数。UpdateCount- ターゲット Iceberg テーブルで更新されたレコードの数。DeleteCount- ターゲット Iceberg テーブルから削除されたレコードの数。IngestionSucceeded- 統合の取り込みが成功した場合、1 をカウントします。IngestionFailed- 統合の取り込みに失敗した場合、1 をカウントします。LastSyncTimestamp- ソースがターゲットに同期されるまでのタイムスタンプ。
Amazon EventBridge によるイベント通知の管理
ゼロ ETL 統合では、Amazon EventBridge を使用してイベント通知を管理し、統合の変更に関する最新情報を伝えます。Amazon EventBridge は、アプリケーションをさまざまなソースからのデータに接続するために使用できるサーバーレスのイベントバスサービスです。この場合、イベントソースは AWS Glue です。環境内の監視された変更であるイベントは、AWS Glue から EventBridge に自動的に送信されます。イベントは、ほぼリアルタイムに配信されます。
すべてのゼロ ETL 通知をキャプチャするには、以下に一致する EventBridge ルールを作成します。
{ "source": [{ "prefix": "aws.glue-zero-etl" }], "detail-type": [{ "prefix": "Glue Zero ETL" }] }
次の表にゼロ ETL 統合イベントをまとめています。
| Detail-type | 説明 |
|---|---|
| AWS Glue ゼロ ETL 取り込みの完了 | エンティティの個々の実行が正常に完了しました。 |
| AWS Glue ゼロ ETL 取り込みの失敗 | エンティティの個々の実行が正常に完了しませんでした (クライアントまたはシステムエラー)。 |
| AWS Glue ゼロ ETL 統合の再同期 | 統合が再同期されました。 |
| AWS Glue ゼロ ETL 統合の失敗 | エラーのため統合ステータスが FAILED に変更されました。 |
| AWS Glue ゼロ ETL 統合に注意が必要 | エラーのため統合ステータスが NEEDS_ATTENTION に変更されました。 |
| AWS Glue ゼロ ETL 取り込みが進行中 | エンティティの個々の実行により、完了に向けて一部進行しています。 |