View a markdown version of this page

統合のモニタリング - AWS Glue

統合のモニタリング

統合に関する Amazon CloudWatch Logs の表示

AWS Glue ゼロ ETL 統合は、データ移動を可視化するために CloudWatch Logs を生成します。それぞれの正常な取り込み、ソースでの問題のあるデータレコードが原因で発生した障害、またはスキーマの変更やアクセス許可の不足によるデータ書き込みエラーに関連するログイベントは、カスタマーアカウントで作成されたデフォルトのロググループに出力されます。

作成された各統合で、その統合のログイベントは CloudWatch の /aws-glue/zeroETL-integrations/logs/ に収集されます。ロググループ内のログメッセージは、ログストリームに分割されます。作成された各統合には、その統合のすべてのログが書き込まれる専用のログストリームがあります。

注記

クロスアカウントシナリオでは、ソース処理ログは統合が存在するソースアカウントで出力され、ターゲット処理ログはターゲットデータベースが存在するターゲットアカウントで出力されます。

ログ記録を有効にするために必要な IAM 許可

統合を作成する際、統合の CloudWatch ログ記録を有効にするには、ソースロールとターゲットロールに次の IAM 許可が必要です。AWS Glue ゼロ ETL 統合では、ソースロールとターゲットロールで提供されるこれらの許可を使用して、CloudWatch ログをカスタマーアカウントに出力します。

JSON
{ "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 ジョブ実行ごとにアカウントで生成された以下の 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 に自動的に送信されます。イベントは、ほぼリアルタイムに配信されます。

すべてのゼロ 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 取り込みが進行中 エンティティの個々の実行により、完了に向けて一部進行しています。