

# 統合のモニタリング
<a name="zero-etl-monitoring"></a>



## 統合状態
<a name="zero-etl-integration-states"></a>

次の統合状態は、統合の説明を示しています。
+ `Creating` — 統合を作成中です。
+ `Active` — 統合がトランザクションデータをターゲットに送信中です。
+ `Modifying` — 統合を変更中です。
+ `Syncing` — 統合で復旧可能なエラーが発生したため、データを再シードしています。
+ `Needs attention` — 統合でイベントまたはエラーが発生したため、解決するには手動介入が必要です。問題を解決するには、統合詳細のエラーメッセージの指示に従ってください。
+ `Failed` — 統合で、復旧不能なイベントまたはエラーが発生しました。統合を手動で削除して再作成する必要があります。
+ `Deleting` — 統合を削除中です。

## 統合に関する Amazon CloudWatch Logs の表示
<a name="zero-etl-cloudwatch-logs"></a>

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 にあります。\$1IntegrationId\$1 は、統合の作成時に生成された \$1integrationArn\$1 から参照できます。

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

### ログ記録を有効にするために必要な IAM 許可
<a name="zero-etl-cloudwatch-logs-iam"></a>

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

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### ログメッセージ
<a name="zero-etl-cloudwatch-logs-messages"></a>

ログ形式: ゼロ 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 メトリクスの表示
<a name="zero-etl-cloudwatch-metrics"></a>

統合が完了すると、AWS Glue ジョブ実行ごとにアカウントで生成された以下の Amazon Cloudwatch メトリクスが表示されます。

CloudWatch メトリクス名前空間: "AWS/Glue/ZeroETL"

メトリクスのディメンション:
+ `integrationArn`
+ `loadType`
+ `tableName`

メトリクス名:
+ `InsertCount` - ターゲット Iceberg テーブルに挿入されたレコードの数。
+ `UpdateCount` - ターゲット Iceberg テーブルで更新されたレコードの数。
+ `DeleteCount` - ターゲット Iceberg テーブルから削除されたレコードの数。
+ `IngestionSucceeded` - 統合の取り込みが成功した場合、1 をカウントします。
+ `IngestionFailed` - 統合の取り込みに失敗した場合、1 をカウントします。
+ `LastSyncTimestamp` - ソースがターゲットに同期されるまでのタイムスタンプ。

## Amazon EventBridge によるイベント通知の管理
<a name="zero-etl-eventbridge-notifications-setup"></a>

ゼロ ETL 統合では、Amazon EventBridge を使用してイベント通知を管理し、統合の変更に関する最新情報を伝えます。Amazon EventBridge は、アプリケーションをさまざまなソースからのデータに接続するために使用できるサーバーレスのイベントバスサービスです。この場合、イベントソースは AWS Glue です。環境内の監視された変更であるイベントは、AWS Glue から EventBridge に自動的に送信されます。イベントは、ほぼリアルタイムに配信されます。

EventBridge は、イベントルールを記述するための環境を用意します。ルールでは、特定のイベントに対して実行するアクションを指定できます。ターゲットを設定することもできます。ターゲットは、EventBridge がイベントを送信できるリソースです。ターゲットには、API 送信先、Amazon CloudWatch ロググループなどを含めることができます。ルールの詳細については、「[Amazon EventBridge ルール](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html)」を参照してください。ターゲットの詳細については、「[Amazon EventBridge ターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html)」を参照してください。

すべてのゼロ 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\$1ATTENTION に変更されました。 | 
| AWS Glue ゼロ ETL 取り込みが進行中 | エンティティの個々の実行により、完了に向けて一部進行しています。 | 