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

統合のモニタリング

統合状態

次の統合状態は、統合の説明を示しています。

  • 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 に変更されました。