

# 통합 모니터링
<a name="zero-etl-monitoring"></a>



## 통합 상태
<a name="zero-etl-integration-states"></a>

다음 통합 상태는 통합을 설명합니다.
+ `Creating` - 통합이 생성 중입니다.
+ `Active` - 통합이 트랜잭션 데이터를 대상으로 전송하고 있습니다.
+ `Modifying` - 통합이 수정 중입니다.
+ `Syncing` - 통합에 복구 가능한 오류가 발생하여 데이터를 다시 시드하고 있습니다.
+ `Needs attention` - 통합에 수동 개입이 필요한 이벤트 또는 오류가 발생하여 이를 해결해야 합니다. 문제를 해결하기 위해 통합 세부 정보에 있는 오류 메시지의 지침을 따릅니다.
+ `Failed` - 통합에서 복구할 수 없는 이벤트 또는 오류가 발생했습니다. 통합을 삭제하고 다시 만들어야 합니다.
+ `Deleting` - 통합이 삭제되고 있습니다.

## 통합에 대한 Amazon CloudWatch 로그 보기
<a name="zero-etl-cloudwatch-logs"></a>

AWS Glue 제로 ETL 통합은 데이터 이동을 파악할 수 있도록 Amazon CloudWatch 로그를 생성합니다. 성공한 각 수집 또는 소스의 문제가 있는 데이터 레코드로 인해 발생하는 모든 실패, 스키마 변경 또는 권한 부족으로 인한 데이터 쓰기 오류와 관련된 로그 이벤트는 고객 계정에 생성된 기본 로그 그룹으로 내보냅니다.

생성된 각 통합의 로그 이벤트는 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에서 찾을 수 있습니다. 통합이 생성될 때 생성된 \$1integrationArn\$1에서 \$1IntegrationId\$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 통합은 네 가지 유형의 로그 메시지를 내보냅니다.

```
// 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 통합 재동기화 완료 | 통합이 RESYNCED 상태가 되었습니다. | 
| AWS Glue 제로 ETL 통합 실패 | 오류로 인해 통합 상태가 FAILED로 변경되었습니다. | 
| AWS Glue 제로 ETL 통합 주의 필요 | 오류로 인해 통합 상태가 NEEDS\$1ATTENTION으로 변경되었습니다. | 
| AWS Glue 제로 ETL 수집 진행 중 | 엔터티에 대한 개별 실행이 부분적으로 완료되었습니다. | 