

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon DocumentDB 모니터링
<a name="monitoring_docdb"></a>

 AWS 서비스를 모니터링하는 것은 시스템을 건강하게 유지하고 최적으로 작동하는 데 중요한 부분입니다. 오류나 성능 저하가 발생했을 때 이를 쉽게 디버깅하고 수정할 수 있도록 AWS 솔루션의 모든 부분으로부터 모니터링 데이터를 수집하는 것이 좋습니다. AWS 솔루션 모니터링을 시작하기 전에 다음 질문에 대한 답변을 고려하고 공식화하는 것이 좋습니다.
+ 모니터링의 목표
+ 모니터링할 리소스는 무엇입니까?
+ 이 리소스를 얼마나 자주 모니터링합니까?
+ 사용할 모니터링 도구
+ 누가 모니터링을 담당합니까?
+ 문제가 발생한 경우 알릴 대상은 누구이며 어떤 의미가 있습니까?

현재 성능 패턴을 이해하고 성능 이상을 식별하고 문제를 해결할 수 있는 방법을 공식화하려면 다양한 시간대 및 다양한 로드 조건에 대한 기준 성능 지표를 설정해야 합니다. AWS 솔루션을 모니터링할 때 나중에 참조하고 기준을 설정하기 위해 기록 모니터링 데이터를 저장하는 것이 좋습니다.

일반적으로 성능 지표에 허용되는 값은 기준이 무엇인지 그리고 애플리케이션 무엇을 수행하는지에 따라 다릅니다. 기준과의 일관된 차이 또는 추세를 조사하십시오. 특정 지표 유형에 대한 참고 정보는 다음과 같습니다.
+ **CPU 또는 RAM 사용량이 많음** - CPU 또는 RAM 사용량이 많을 경우 해당 애플리케이션의 목표(처리량 또는 동시성)와 일치하고 예상되는 결과라면 문제가 되지 않을 수 있습니다.
+ **스토리지 볼륨 사용량** - 총 스토리지 볼륨 공간의 85% 이상이 계속 사용될 경우 스토리지 사용량(`VolumeBytesUsed`)을 검사합니다. 스토리지 볼륨에서 데이터를 삭제할 수 있는지 또는 다른 시스템에 데이터를 아카이브하여 공간을 확보할 수 있는지 결정합니다. 자세한 정보는 [Amazon DocumentDB 스토리지](how-it-works.md#how-it-works.storage) 및 [Amazon DocumentDB 할당량 및 제한](limits.md)(을)를 참조하세요.
+ **네트워크 트래픽** - 네트워크 트래픽의 경우 시스템 관리자에게 문의하여 해당 도메인 네트워크 및 인터넷 연결의 예상 처리량을 확인합니다. 처리량이 기대값보다 항상 낮으면 네트워크 트래픽을 검사합니다.
+ **데이터베이스 연결** - 인스턴스 성능 저하 및 응답 시간 지연과 함께 사용자 연결 수가 많을 경우 데이터베이스 연결 제한을 고려해 봅니다. 인스턴스에 대한 최적의 사용자 연결 수는 해당 인스턴스 클래스와, 수행하는 작업의 복잡성에 따라 다릅니다.
+ **IOPS 지표** - OPS 지표의 기대값은 디스크 사양 및 서버 구성에 따라 다르므로 해당 기준에 일반적인 값을 파악합니다. 값이 기준과 계속 차이가 나는지 검사합니다. 최적의 IOPS 성능을 위해, 일반적인 작업 세트가 메모리에 적합하고 읽기 및 쓰기 작업을 최소화하는지 확인합니다.

Amazon DocumentDB(MongoDB 호환)은 모니터링을 통해 Amazon DocumentDB 클러스터와 인스턴스의 상태와 성능을 평가할 수 있는 Amazon CloudWatch 지표를 다양하게 제공합니다. Amazon DocumentDB 콘솔, CloudWatch API AWS CLI, 성능 개선 도우미 등 다양한 도구를 사용하여 Amazon DocumentDB 지표를 볼 수 있습니다.

**Topics**
+ [클러스터 상태 모니터링](monitoring_docdb-cluster_status.md)
+ [인스턴스 상태 모니터링](monitoring_docdb-instance_status.md)
+ [Amazon DocumentDB 권장 사항 보기](view-docdb-recommendations.md)
+ [이벤트 구독](event-subscriptions.md)
+ [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)
+ [CloudTrail로 Amazon DocumentDB API 호출 로깅](logging-with-cloudtrail.md)
+ [작업 프로파일링](profiling.md)
+ [성능 개선 도우미로 모니터링](performance-insights.md)

# Amazon DocumentDB 클러스터 상태 모니터링
<a name="monitoring_docdb-cluster_status"></a>

클러스터 상태는 클러스터의 상태를 나타냅니다. Amazon DocumentDB 콘솔 또는 명령을 사용하여 클러스터의 상태를 볼 수 있습니다 AWS CLI `describe-db-clusters`.

**Topics**
+ [클러스터 상태 값](#monitoring_docdb-status_values)
+ [클러스터 상태 모니터링](#monitor-cluster-status)

## 클러스터 상태 값
<a name="monitoring_docdb-status_values"></a>

다음 표에는 클러스터 상태에 유효한 값이 나열되어 있습니다.


| 클러스터 상태 | 설명 | 
| --- | --- | 
| active | 클러스터가 활성 상태입니다. 이 상태는 엘라스틱 클러스터에만 적용됩니다. | 
| available | 클러스터에 문제가 없으며 사용할 수 있습니다. 이 상태는 인스턴스 기반 클러스터에만 적용됩니다. | 
| backing-up | 현재 클러스터를 백업 중입니다. | 
| creating | 클러스터를 생성 중입니다. 생성 도중에는 액세스할 수 없습니다. | 
| deleting | 클러스터를 삭제 중입니다. 삭제 도중에는 액세스할 수 없습니다. | 
| failing-over | 기본 인스턴스에서 Amazon DocumentDB 복제본에 대한 장애 조치가 수행 중입니다. | 
| inaccessible-encryption-credentials | 클러스터를 암호화하거나 복호화하는 데 사용되는 AWS KMS 키에는 액세스할 수 없습니다. | 
| maintenance | 클러스터에 유지 관리 업데이트를 적용 중입니다. 이 상태는 Amazon DocumentDB가 한참 전에 미리 예약하는 클러스터 수준의 유지 관리에 사용됩니다. | 
| migrating | 클러스터 스냅샷이 클러스터로 복원 중입니다. | 
| migration-failed | 마이그레이션이 실패했습니다. | 
| modifying | 고객의 클러스터 수정 요청으로 인해 클러스터를 수정 중입니다. | 
| renaming | 고객의 이름 바꾸기 요청으로 인해 클러스터 이름을 바꾸는 중입니다. | 
| resetting-master-credentials | 고객의 재설정 요청으로 인해 클러스터 사용자 자격 증명을 재설정하는 중입니다. | 
| upgrading | 클러스터 엔진 버전이 현재 업그레이드 중입니다. | 

## 클러스터 상태 모니터링
<a name="monitor-cluster-status"></a>

------
#### [ Using the AWS Management Console ]

 AWS Management Console 를 사용하여 클러스터의 상태를 확인할 때는 다음 절차를 사용합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터(Clusters)**를 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[인스턴스가 클러스터 아래에 중첩되는 방법을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. **클러스스터 식별자** 열에서 관심 있는 인스턴스의 이름을 찾습니다. 그런 다음, 인스턴스의 상태를 찾으려면 아래 그림과 같이 **상태** 열에 대한 해당 행을 읽습니다.  
![\[사용 가능한 상태를 보여주는 클러스터 인스턴스입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/db-cluster-status-con.png)

------
#### [ Using the AWS CLI ]

 AWS CLI 를 사용하여 클러스터의 상태를 확인할 때는 `describe-db-clusters` 작업을 사용합니다. 다음 코드는 `sample-cluster` 클러스터의 상태를 찾습니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster  \
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

Windows의 경우:

```
aws docdb describe-db-clusters ^
    --db-cluster-identifier sample-cluster  ^
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

이 작업의 출력은 다음과 같이 표시됩니다.

```
[
    [
        "sample-cluster",
        "available"
    ]
]
```

------

# Amazon DocumentDB 인스턴스 상태 모니터링
<a name="monitoring_docdb-instance_status"></a>

Amazon DocumentDB는 데이터베이스에 구성된 각 인스턴스의 현재 상태에 대한 정보를 제공합니다.

Amazon DocumentDB 인스턴스의 상태를 확인할 수 있는 세 가지 유형이 있습니다.
+ 인스턴스 상태:이 상태는의 클러스터 테이블 **상태** 열에 표시 AWS Management Console 되며 인스턴스의 현재 수명 주기 조건을 보여줍니다. **상태** 열에 표시된 값은 `DescribeDBCluster` API 응답의 `Status` 필드에서 파생됩니다.
+ 인스턴스 상태:이 상태는의 클러스터 테이블의 **인스턴스 상태** 열에 표시 AWS Management Console 되며 데이터 관리 및 검색을 담당하는 구성 요소인 데이터베이스 엔진이 실행 중인지 여부를 보여줍니다. **인스턴스 상태** 열에 표시된 값은 Amazon CloudWatch `EngineUptime` 시스템 지표를 기반으로 합니다.
+ 유지 관리 상태:이 상태는의 클러스터 테이블의 **유지** 관리 열에 표시 AWS Management Console 되며 인스턴스에 적용해야 하는 유지 관리 이벤트의 상태를 나타냅니다. 유지 관리 상태는 다른 인스턴스 상태와는 독립적이며 `PendingMaintenanceAction` API에서 파생됩니다. 유지 관리 상태에 대한 자세한 내용은 [Amazon DocumentDB 유지 관리](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-maintain.html)를 참조하세요.

**Topics**
+ [인스턴스 상태 값](#monitoring_docdb-instance_status-values)
+ [AWS Management Console 또는를 사용하여 인스턴스 상태 모니터링 AWS CLI](#monitoring-instance-status)
+ [인스턴스 상태 값](#instance-health-status-values)
+ [를 사용하여 인스턴스 상태 모니터링 AWS Management Console](#monitoring-instance-health-status)

## 인스턴스 상태 값
<a name="monitoring_docdb-instance_status-values"></a>

다음 표에는 인스턴스에 대해 가능한 상태 값과 각 상태별 요금이 표시되어 있습니다. 인스턴스와 스토리지에 요금이 청구되는지, 스토리지에만 청구되는지, 혹은 청구되지 않는지 표시됩니다. 모든 인스턴스 상태의 백업 사용에는 항상 청구됩니다.


| 인스턴스 상태 | 청구 | 설명 | 
| --- | --- | --- | 
| available | 청구 | 인스턴스에 문제가 없으며 사용할 수 있습니다. | 
| backing-up | 청구 | 현재 인스턴스를 백업 중입니다. | 
| configuring-log-exports | 청구 | Amazon CloudWatch Logs에 로그 파일을 게시하는 기능이 이 인스턴스에 대해 활성화 또는 비활성화 상태입니다. | 
| creating | 미청구 | 인스턴스를 생성 중입니다. 생성 중인 인스턴스에는 액세스할 수 없습니다. | 
| deleting | 미청구 | 인스턴스를 삭제 중입니다. | 
| failed | 미청구 | 인스턴스 오류가 발생하여 Amazon DocumentDB에서 이를 복구하지 못했습니다. 데이터를 복구하려면 인스턴스의 복원 가능한 가장 최근 시간에 대한 시점 복원을 수행합니다. | 
| inaccessible-encryption-credentials | 미청구 | 인스턴스를 암호화하거나 복호화하는 데 사용되는 AWS KMS 키에 액세스할 수 없습니다. | 
| incompatible-network | 미청구 | Amazon DocumentDB에서 인스턴스에 대한 복구 작업을 시도했으나 VPC의 상태로 인하여 작업을 완료할 수 없어 복구하지 못했습니다. 예를 들어 서브넷에 사용 가능한 IP 주소가 모두 사용 중이어서 Amazon DocumentDB에서 인스턴스에 대한 IP 주소를 받을 수 없는 경우 이러한 상태가 발생할 수 있습니다. | 
| maintenance | 청구 | Amazon DocumentDB는 인스턴스에 유지 관리 업데이트를 적용합니다. 이 상태는 Amazon DocumentDB가 한참 전에 미리 예약하는 인스턴스 수준의 유지 관리에 사용됩니다. 현재 이 상태를 통해 고객에게 유지 관리 작업을 추가로 알릴 방법을 평가 중입니다. | 
| modifying | 청구 | 인스턴스 수정 요청으로 인해 인스턴스를 수정 중입니다. | 
| rebooting | 청구 | 인스턴스 재부팅이 필요한 요청 또는 Amazon DocumentDB 프로세스로 인해 인스턴스를 재부팅 중입니다. | 
| renaming | 청구 | 이름 바꾸기 요청으로 인해 인스턴스 이름을 바꾸는 중입니다. | 
| resetting-master-credentials | 청구 | 재설정 요청으로 인해 인스턴스 사용자 자격 증명을 재설정하는 중입니다. | 
| restore-error | 청구 | 특정 시점으로 복원을 시도하거나 스냅샷에서 복원을 시도할 때 인스턴스에서 오류가 발생했습니다. | 
| starting | 요금 부과 스토리지 | 인스턴스를 시작하는 중입니다. | 
| stopped | 요금 부과 스토리지 | 인스턴스가 중지되었습니다. | 
| stopping | 요금 부과 스토리지 | 인스턴스를 중지 중입니다. | 
| storage-full | 청구 | 인스턴스에 할당된 스토리지 용량이 거의 다 찼습니다. 즉시 해결해야 하는 중요한 상태이므로 인스턴스를 수정하여 스토리지를 확장합니다. 스토리지 공간이 부족해지면 경고하도록 Amazon CloudWatch 경보를 설정해 이러한 상황이 발생하지 않도록 할 수 있습니다. | 

## AWS Management Console 또는를 사용하여 인스턴스 상태 모니터링 AWS CLI
<a name="monitoring-instance-status"></a>

 AWS Management Console 또는를 사용하여 인스턴스의 상태를 AWS CLI 모니터링합니다.

------
#### [ Using the AWS Management Console ]

 AWS Management Console 를 사용하여 클러스터의 상태를 확인할 때는 다음 절차를 사용합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터(Clusters)**를 선택합니다.
**참고**  
참고로 클러스터 탐색 상자의 **클러스터 식별자** 열에는 클러스터와 인스턴스가 모두 표시됩니다. 아래 이미지와 유사한 클러스터 아래에 인스턴스가 나열됩니다.  
![\[Amazon DocumentDB 콘솔의 클러스터 페이지에 있는 클러스터 및 인스턴스 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/clusters.png)

1. 관심 있는 인스턴스의 이름을 찾으십시오. 그런 다음 인스턴스의 상태를 찾으려면 다음 그림과 같이 **상태** 열에 대한 해당 행을 읽습니다.  
![\[클러스터 페이지에서 클러스터 및 인스턴스의 사용 가능 상태를 보여주는 상태 열입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/instance-status.png)

------
#### [ Using the AWS CLI ]

 AWS CLI 를 사용하여 클러스터의 상태를 확인할 때는 `describe-db-instances` 작업을 사용합니다. 다음 코드는 `sample-cluster-instance-01` 인스턴스의 상태를 찾습니다.

Linux, macOS 또는 Unix의 경우:

```
aws docdb describe-db-instances \
          --db-instance-identifier sample-cluster-instance-01  \
          --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]'
```

Windows의 경우:

```
aws docdb describe-db-instances ^
          --db-instance-identifier sample-cluster-instance-01  ^
          --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]'
```

이 작업의 출력은 다음과 같습니다.

```
[
          [
              "sample-cluster-instance-01",
              "available"
          ]
      ]
```

------

## 인스턴스 상태 값
<a name="instance-health-status-values"></a>

다음 표는 인스턴스를 위한 잠재적인 상태 값을 나열하고 있습니다. 의 **클러스터** 테이블에 있는 **인스턴스 상태** 열은 데이터 저장 AWS Management Console, 관리 및 검색을 담당하는 구성 요소인 데이터베이스 엔진이 정상적으로 작동하는지 여부를 보여줍니다. 또한 이 열은 CloudWatch에서 사용할 수 있는 `EngineUptime` 시스템 지표에 각 인스턴스의 상태가 표시되는지 여부도 나타냅니다.


| 인스턴스 상태 | 설명 | 
| --- | --- | 
| 정상 | 데이터베이스 엔진이 Amazon DocumentDB 인스턴스에서 실행 중입니다. | 
| 비정상 | 데이터베이스 엔진이 실행 중이 아니거나 1분이 채 지나지 않아 다시 시작되었습니다. | 

## 를 사용하여 인스턴스 상태 모니터링 AWS Management Console
<a name="monitoring-instance-health-status"></a>

 AWS Management Console 를 사용하여 인스턴스의 상태를 모니터링합니다.

 AWS Management Console를 사용할 때 다음 단계에 따라 인스턴스의 상태를 파악합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**참고**  
참고로 **클러스터** 탐색 상자의 **클러스터 식별자** 열에는 클러스터와 인스턴스가 모두 표시됩니다. 아래 이미지와 유사한 클러스터 아래에 인스턴스가 나열됩니다.  
![\[Amazon DocumentDB 콘솔의 클러스터 페이지에 있는 클러스터 및 인스턴스 목록입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/clusters.png)

1. 관심 있는 인스턴스의 이름을 찾으십시오. 그런 다음 인스턴스의 상태를 찾으려면 다음 그림과 같이 **인스턴스 상태** 열에 대한 해당 행을 읽습니다.  
![\[클러스터 페이지에 나열된 인스턴스의 정상 및 비정상 상태를 보여주는 인스턴스 상태 열입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/health-status-1.png)
**참고**  
인스턴스 상태 폴링은 60초마다 발생하며 CloudWatch `EngineUptime` 시스템 지표를 기반으로 합니다. **인스턴스 상태** 열의 값은 자동으로 업데이트됩니다.

# Amazon DocumentDB 권장 사항 보기
<a name="view-docdb-recommendations"></a>

Amazon DocumentDB는 인스턴스 및 클러스터와 같은 데이터베이스 리소스에 대한 자동화된 권장 사항 목록을 제공합니다. 이러한 권장 사항은 클러스터와 인스턴스 구성 분석을 통해 모범 사례 지침을 제공합니다.

이러한 권장 사항의 예는 다음을 참조하세요.


| Type | 설명 | 권장 사항 | 추가 정보 | 
| --- | --- | --- | --- | 
|  1개의 인스턴스  |  클러스터에는 하나의 인스턴스만 포함됩니다.  |  성능 및 가용성: 동일한 인스턴스 클래스가 있는 또 다른 인스턴스를 다른 가용 영역에 추가하는 것이 좋습니다.  |  [Amazon DocumentDB 고가용성 및 복제](https://docs.aws.amazon.com/documentdb/latest/developerguide/replication.html)  | 

Amazon DocumentDB는 리소스가 생성되거나 수정될 때 리소스에 대해 권장 사항을 생성합니다. Amazon DocumentDB는 리소스를 주기적으로 스캔하고 권장 사항을 생성합니다.

**Amazon DocumentDB 권장 사항을 확인하고 이에 대한 조치를 취하려면**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **권장 사항**을 선택합니다.  
![\[권장 사항 옵션이 선택된 Amazon DocumentDB 콘솔 탐색 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/recommendations-nav-1.png)

1. **권장 사항** 대화 상자에서 관심 섹션을 펼치고 권장 작업을 선택합니다.

   아래 예제에서 권장 작업은 인스턴스가 하나뿐인 Amazon DocumentDB 클러스터에 적용됩니다. 성능과 가용성을 개선하려면 다른 인스턴스를 추가하는 것이 좋습니다.  
![\[Amazon DocumentDB 클러스터에 대해 선택한 권장 작업을 보여주는 권장 사항 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/recommendations-1.png)

1. **지금 적용**을 클릭합니다.

   이 예시에서는 **인스턴스 추가** 대화상자가 나타납니다.  
![\[인스턴스 설정 옵션이 있는 인스턴스 추가 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/add-instances-1.png)

1. 새 인스턴스의 설정을 수정하고 **생성**을 클릭합니다.

# Amazon DocumentDB 이벤트 구독 사용
<a name="event-subscriptions"></a>

Amazon DocumentDB는 Amazon Simple Notification Service(SNS)를 사용하여 Amazon DocumentDB 이벤트 발생 시 알림을 제공합니다. 이러한 알림은 이메일 AWS 리전, 문자 메시지 또는 HTTP 엔드포인트 호출과 같이에 대해 Amazon SNS에서 지원하는 모든 형식일 수 있습니다.

Amazon DocumentDB는 이러한 이벤트를 가입할 수 있는 카테고리로 그룹화하여 해당 카테고리의 이벤트가 발생할 때 알림을 받을 수 있도록 합니다. 구독 가능한 이벤트 범주로는 DB 인스턴스, DB 클러스터, DB 스냅샷, DB 클러스터 스냅샷, DB 파라미터 그룹, DB 보안 그룹 등이 있습니다. 예를 들어 임의의 DB 인스턴스에 대한 Backup 카테고리를 구독할 경우 백업 관련 이벤트가 발생하여 DB 인스턴스에 영향을 끼칠 때마다 알림 메시지가 수신됩니다. 또한 이벤트 알림 메시지 구독이 변경되어도 알림 메시지가 수신됩니다.

이벤트는 클러스터와 인스턴스 수준에서 모두 발생하므로 클러스터나 인스턴스에 가입하면 이벤트를 수신할 수 있습니다.

이벤트 알림 메시지는 구독 생성 시 입력한 주소로 보내집니다. 모든 이벤트 알림을 받는 구독과 프로덕션 인스턴스에 대한 중요한 이벤트만 포함하는 다른 구독 등 여러 가지 구독을 생성할 수 있습니다. 구독을 삭제하지 않고도 알림을 쉽게 끌 수 있습니다. 이렇게 하려면 Amazon DocumentDB 콘솔에서 **활성화** 라디오 버튼을 **아니오**로 설정하세요.

**중요**  
Amazon DocumentDB는 이벤트 스트림에서 전송되는 이벤트 순서를 보장하지 않습니다. 이벤트 순서는 변경될 수 있습니다.

Amazon DocumentDB는 Amazon SNS 주제의 Amazon 리소스 이름(ARN)을 사용하여 각 구독을 식별합니다. 구독을 작성할 때 Amazon DocumentDB 콘솔이 ARN을 작성합니다.

Amazon DocumentDB 이벤트 구독에 대한 청구는 Amazon SNS를 통해 이루어집니다. Amazon SNS 요금은 이벤트 알림 사용 시 적용됩니다. 자세한 내용은 Amazon Simple Notification Service Pricing을 참조하세요. 아마존 Amazon SNS 요금 외에 이벤트 구독료는 Amazon DocumentDB에서 청구하지 않습니다.

**Topics**
+ [이벤트 구독](event-subscriptions.subscribe.md)
+ [구독 관리](event-subscriptions.managing.md)
+ [범주 및 메시지](event-subscriptions.categories-messages.md)

# Amazon DocumentDB 이벤트 구독
<a name="event-subscriptions.subscribe"></a>

Amazon DocumentDB 콘솔을 사용하여 다음과 같이 이벤트 구독을 구독할 수 있습니다:

1. 에서에 로그인 AWS Management Console 합니다[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb).

1. 탐색 창에서 [**이벤트 구독**]을 선택합니다.  
![\[이벤트 구독 옵션이 강조 표시된 Amazon DocumentDB 콘솔 탐색 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-event-subs.png)

1. **이벤트 구독** 창에서 **이벤트 구독 생성**을 선택합니다.  
![\[오른쪽 상단의 이벤트 구독 생성 버튼을 강조 표시하는 이벤트 구독 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-create.png)

1. [**Create event subscription**] 대화 상자에서 다음과 같이 실행합니다.
   + **이름**에서 이벤트 알림 구독 이름을 입력합니다.  
![\[세부 정보 섹션과 이름 입력 필드를 보여주는 이벤트 구독 생성 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-name.png)
   + **대상**에서, 알림을 전송할 위치를 선택합니다. 기존의 **ARN**을 선택하거나 **새 이메일 토픽**을 선택하여 주제의 이름과 수신인 목록을 입력할 수 있습니다.  
![\[알림을 보낼 위치를 지정하는 옵션이 있는 대상 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-target.png)
   + **소스**에서 소스 유형을 선택합니다. 선택한 원본 유형에 따라 이벤트 범주와 이벤트 알림을 수신할 원본을 선택합니다.  
![\[이벤트 알림을 받을 소스 유형을 선택하는 소스 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-source.png)
   + **생성(Create)**을 선택합니다.  
![\[오른쪽 하단 모서리에 있는 생성 버튼이 있는 소스 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/subscribe-create-2.png)

# Amazon DocumentDB 이벤트 알림 구독 관리
<a name="event-subscriptions.managing"></a>

Amazon DocumentDB 콘솔의 탐색 창에서 **이벤트 구독** 을 선택하면 구독 범주와 현재 구독 목록을 볼 수 있습니다. 특정 구독을 수정하거나 삭제할 수도 있습니다.

## 현재 Amazon DocumentDB 이벤트 알림 구독을 수정하려면 다음과 같이 하세요
<a name="event-subscriptions.modify"></a>

1. 에서에 로그인 AWS Management Console 합니다[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb).

1. 탐색 창에서 [**Event subscriptions**]를 선택합니다. [**Event subscriptions**] 창에 이벤트 알림 구독이 모두 표시됩니다.  
![\[이벤트 구독 옵션이 강조 표시된 Amazon DocumentDB 콘솔 탐색 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/modify-event-subs.png)

1. [**Event subscriptions**] 창에서 수정할 구독을 선택한 다음 [**Edit**]를 선택합니다.  
![\[선택한 구독과 편집 버튼이 표시된 이벤트 구독 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/modify-edit.png)

1. **대상** 또는 **원본** 섹션에서 구독을 변경합니다. 소스 섹션에서 소스 식별자를 선택하거나 선택 취소하여 소스 식별자를 추가하거나 제거할 수 있습니다.  
![\[대상 섹션을 강조 표시하는 이벤트 구독 수정 양식입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/modify-target.png)

1. **수정**을 선택합니다. Amazon DocumentDB 콘솔은 구독이 수정되고 있음을 나타냅니다.  
![\[수정 버튼이 강조 표시된 이벤트 구독 수정 양식의 끝입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/modify-button.png)

## Amazon DocumentDB 이벤트 알림 구독 삭제
<a name="event-subscriptions.delete"></a>

필요 없는 구독은 삭제할 수 있습니다. 그러면 해당 주제의 모든 구독자에게는 구독 시 지정한 이벤트 알림 메시지가 발송되지 않습니다.

1. 에서에 로그인 AWS Management Console 합니다[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb).

1. 탐색 창에서 [**이벤트 구독**]을 선택합니다.  
![\[이벤트 구독 옵션이 강조 표시된 Amazon DocumentDB 콘솔 탐색 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/delete-event-subs.png)

1. **이벤트 구독** 패널에서 삭제할 구독을 선택합니다.  
![\[선택한 구독을 보여주는 이벤트 구독 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/delete-select.png)

1. **삭제**를 선택합니다.  
![\[삭제 버튼을 강조 표시하는 이벤트 구독 창입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/delete-delete.png)

1. 이 알림을 영구적으로 삭제할지 묻는 팝업 창이 나타납니다. **삭제**를 선택합니다.  
![\[오른쪽 하단 모서리에 삭제 버튼이 강조 표시된 이벤트 구독 삭제를 확인하는 대화 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/event-subs/delete-delete-2.png)

# Amazon DocumentDB 이벤트 범주 및 메시지
<a name="event-subscriptions.categories-messages"></a>

Amazon DocumentDB는 콘솔을 사용하여 가입할 수 있는 카테고리에서 상당한 수의 이벤트를 생성합니다. 각 범주는 인스턴스, 클러스터, 스냅샷 또는 매개 변수 그룹이 될 수 있는 소스 유형에 적용됩니다.

**참고**  
Amazon DocumentDB는 기존의 Amazon RDS 이벤트 정의와 ID를 사용합니다.

## 인스턴스에서 발생한 Amazon DocumentDB 이벤트
<a name="event-subscriptions.db-origin"></a>


| 범주 | 설명 | 
| --- | --- | 
| 가용성 | 인스턴스 재시작 | 
| 가용성 | 인스턴스 셧다운. | 
| 구성 변경 | 인스턴스 클래스에 수정을 적용하는 중입니다. | 
| 구성 변경 | 인스턴스 클래스에 수정을 적용했습니다. | 
| 구성 변경 | 기본 자격 증명을 재설정합니다. | 
| 생성 | 인스턴스가 생성되었습니다. | 
| 삭제 | 인스턴스가 삭제되었습니다. | 
| 실패 | 호환되지 않는 구성 또는 기본 스토리지 문제로 인해 인스턴스가 실패했습니다. 인스턴스에 대한 시점 복원을 시작합니다. | 
| 알림 | 인스턴스 멈춤. | 
| 알림 | 인스턴스 시작. | 
| 알림 | 인스턴스가 중지된 최대 허용 시간을 초과하여 시작되고 있습니다. | 
| 복구 | 인스턴스 복구가 시작되었습니다. 복구 시간은 복구할 데이터 용량에 따라 달라집니다. | 
| 복구 | 인스턴스 복구가 완료되었습니다. | 
| 보안 패치 | 인스턴스에 대해 운영 체제 업데이트를 사용할 수 있습니다. 업데이트 적용에 대한 자세한 내용은 [Amazon DocumentDB 관리](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-maintain.html)를 참조하세요. | 

## 클러스터에서 발생하는 Amazon DocumentDB 이벤트
<a name="event-subscriptions.cluster-origin"></a>


| 범주 | 설명 | 
| --- | --- | 
| 생성 | 클러스터가 생성됨. | 
| 삭제 | 클러스터가 삭제되었습니다. | 
| 장애 조치 | 이전 프라이머리를 다시 추진합니다. | 
| 장애 조치 | 인스턴스로의 장애 조치가 완료되었습니다. | 
| 장애 조치 | DB 인스턴스에 대한 장애 조치 시작: %초 | 
| 장애 조치 | DB 인스턴스에 대한 동일한 AZ 장애 조치 시작: %초 | 
| 장애 조치 | DB 인스턴스에 대한 동일한 AZ 장애 조치 시작: %초 | 
| 유지 관리 | 클러스터가 패치되었습니다. | 
| 유지 관리 | 데이터베이스 클러스터를 업그레이드할 수 없는 상태: %초 | 
| 알림 | 클러스터가 중지되었습니다. | 
| 알림 | 클러스터가 시작되었습니다. | 
| 알림 | 클러스터 중지에 실패했습니다. | 
| 알림 | 클러스터가 중지되는 최대 허용 시간을 초과하여 시작되고 있습니다. | 
| 알림 | 클러스터 이름이 %초에서 %초로 변경되었습니다. | 

## 클러스터 스냅샷에서 발생한 Amazon DocumentDB 이벤트
<a name="event-subscriptions.snapshot-origin"></a>

다음 표는 Amazon DocumentDB 클러스터 스냅샷이 원본 유형인 경우 이벤트 범주와 이벤트 목록을 보여줍니다.


| 범주 | 설명 | 
| --- | --- | 
| 백업 | 수동 클러스터 스냅샷을 생성하는 중입니다. | 
| 백업 | 수동 클러스터 스냅샷이 생성되었습니다. | 
| 백업 | 자동화된 클러스터 스냅샷을 생성하는 중입니다. | 
| 백업 | 자동화된 클러스터 스냅샷이 생성되었습니다. | 

## 파라미터 그룹에서 발생하는 Amazon DocumentDB 이벤트
<a name="event-subscriptions.parameter"></a>

다음 표는 파라미터 그룹이 소스 유형일 때 이벤트 카테고리와 이벤트 목록을 나타냅니다.


| 범주 | 설명 | 
| --- | --- | 
| 구성 변경 | 적용 방법 %초를 사용하여 매개 변수 %초를 %초로 업데이트했습니다 | 

# CloudWatch를 사용하여 Amazon DocumentDB 모니터링
<a name="cloud_watch"></a>

Amazon DocumentDB(MongoDB 호환)는 Amazon CloudWatch와 통합되므로 클러스터의 운영 지표를 수집하고 분석할 수 있습니다. CloudWatch 콘솔, Amazon DocumentDB 콘솔, AWS Command Line Interface (AWS CLI) 또는 CloudWatch API를 사용하여 이러한 지표를 모니터링할 수 있습니다.

또한 CloudWatch를 사용하면 지표 값이 지정한 임계값을 위반할 경우 알림을 받을 수 있도록 알람을 설정할 수 있습니다. 위반이 발생할 경우 수정 조치를 취하기 위해 Amazon CloudWatch Events를 설정할 수도 있습니다. CloudWatch 및 알람 사용에 대한 자세한 내용은 [Amazon CloudWatch 설명서](https://docs.aws.amazon.com/cloudwatch/index.html)를 참조하세요.

**Topics**
+ [Amazon DocumentDB 지표](#cloud_watch-metrics_list)
+ [CloudWatch 데이터 보기](#cloud_watch-view_data)
+ [Amazon DocumentDB 차원](#cloud_watch-metrics_dimensions)
+ [Opcounter 지표 모니터링](#cloud_watch-monitoring_opcounters)
+ [데이터베이스 연결 모니터링](#cloud_watch-monitoring_connections)

## Amazon DocumentDB 지표
<a name="cloud_watch-metrics_list"></a>

Amazon DocumentDB 클러스터 및 인스턴스의 상태 및 성능을 모니터링하려면 Amazon DocumentDB 콘솔에서 다음 지표를 볼 수 있습니다.

**참고**  
다음 표의 지표는 인스턴스 기반 클러스터와 탄력적 클러스터 모두에 적용됩니다.

**Topics**
+ [리소스 사용률 지표](#resource-utilization)
+ [지연 시간 지표](#latency-metrics)
+ [NVMe 지원 인스턴스 지표](#nvme-metrics)
+ [운영 지표](#operations-metrics)
+ [처리량 지표](#throughput-metrics)
+ [시스템 지표](#system-metrics)
+ [T3 인스턴스 지표](#t3-instance-metrics)

### 리소스 사용률 지표
<a name="resource-utilization"></a>


| 지표 | 설명 | 
| --- | --- | 
| BackupRetentionPeriodStorageUsed | Amazon DocumentDB의 보존 기간 내에서 시점 복원 기능을 지원하는 데 사용되는 총 백업 저장소 양(바이트)입니다. TotalBackupStorageBilled 지표를 통해 보고되는 총계에 포함됩니다. 각 Amazon DocumentDB 클러스터마다 개별적으로 계산됩니다. | 
| ChangeStreamLogSize | 클러스터에서 변경 스트림 로그를 저장하는 데 사용하는 스토리지의 양(MB)입니다. 이 값은 클러스터의 전체 스토리지 하위 집합(VolumeBytesUsed)이며 클러스터 비용에 영향을 줍니다. 스토리지 요금 정보는 [Amazon DocumentDB 제품 페이지](https://aws.amazon.com//documentdb/pricing)를 참조하세요. 변경 스트림 로그 크기는 클러스터에서 발생하는 변경 양과 변경 스트림 장기 보존 기간의 함수입니다. 변경 스트림에 대한 자세한 내용은 [Amazon DocumentDB에서 변경 스트림 사용](change_streams.md) 섹션을 참조하세요. | 
| CPUUtilization | 인스턴스의 CPU 사용률 | 
| DatabaseConnections | 1분 간격으로 인스턴스에서 열린 연결 수(활성 및 유휴)입니다. | 
| DatabaseConnectionsMax | 1분 동안 인스턴스당 열려 있는 최대 데이터베이스 연결 수(활성 및 유휴)입니다. | 
| DatabaseConnectionsLimit | 지정된 시간에 인스턴스에 허용되는 최대 동시 데이터베이스 연결 수(활성 및 유휴)입니다. | 
| DatabaseCursors | 1분 간격으로 인스턴스에서 열린 커서 수입니다. | 
| DatabaseCursorsMax | 1분 동안 인스턴스에서 열린 최대 커서 수입니다. | 
| DatabaseCursorsLimit | 지정된 시간에 인스턴스에 허용되는 최대 커서 수입니다. | 
| DatabaseCursorsTimedOut | 1분 동안 제한 시간이 초과된 커서 수입니다. | 
| FreeableMemory | 사용 가능한 RAM 크기(바이트). | 
| FreeLocalStorage | 이 지표는 각 인스턴스에서 임시 테이블 및 로그로 사용할 수 있는 스토리지 크기를 보고합니다. 이 값은 인스턴스 클래스에 따라 달라집니다. 인스턴스 클래스를 큰 것으로 선택하면 인스턴스의 여유 스토리지 공간을 늘릴 수 있습니다. ( DocumentDB Serverless에는 적용되지 않습니다.)  | 
| LowMemThrottleQueueDepth | 가용 메모리 부족으로 인해 1분 간격으로 제한 현상이 발생한 요청의 대기열 길이입니다.  | 
| LowMemThrottleMaxQueueDepth | 가용 메모리 부족으로 인해 1분 동안 제한 현상이 발생한 요청의 최대 대기열 깊이입니다.  | 
| LowMemNumOperationsThrottled | 가용 메모리 부족으로 인해 1분 동안 제한 현상이 발생한 요청 수입니다.  | 
| SnapshotStorageUsed | 백업 보존 기간을 벗어난 특정 Amazon DocumentDB 클러스터에 대해 모든 스냅샷에서 사용한 백업 저장소의 총 양(바이트)입니다. TotalBackupStorageBilled 지표를 통해 보고되는 총계에 포함됩니다. 각 Amazon DocumentDB 클러스터마다 개별적으로 계산됩니다. | 
| SwapUsage | 인스턴스에서 사용된 스왑 공간 크기 | 
| TotalBackupStorageBilled | 지정된 Amazon DocumentDB 클러스터에 대해 청구되는 총 백업 저장소 양(바이트)입니다. BackupRetentionPeriodStorageUsed 및 SnapshotStorageUsed 지표로 측정되는 백업 스토리지를 포함합니다. 각 Amazon DocumentDB 클러스터마다 개별적으로 계산됩니다. | 
| TransactionsOpen | 1분 간격으로 인스턴스에서 열린 트랜잭션 수입니다. | 
| TransactionsOpenMax | 1분 동안 인스턴스에서 열린 최대 트랜잭션 수입니다. | 
| TransactionsOpenLimit | 지정된 시간에 인스턴스에 허용되는 최대 동시 트랜잭션 수입니다. | 
| VolumeBytesUsed | 클러스터가 사용하는 스토리지의 양(바이트)입니다. 이 값은 클러스터의 비용에 영향을 미칩니다. 요금 정보는 [Amazon DocumentDB 제품 페이지](https://aws.amazon.com//documentdb/pricing)를 참조하세요. | 

### 지연 시간 지표
<a name="latency-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| DBClusterReplicaLagMaximum | 클러스터의 기본 인스턴스와 각 Amazon DocumentDB 인스턴스 간의 최대 지연 시간(밀리초)입니다. | 
| DBClusterReplicaLagMinimum | 기본 인스턴스와 클러스터의 각 복제본 인스턴스 사이에 발생하는 최소 지연 시간(밀리초) | 
| DBInstanceReplicaLag | 기본 인스턴스에서 복제본 인스턴스로 업데이트를 복제할 때의 지연 시간(밀리초) | 
| ReadLatency | 디스크 I/O 연산당 평균 처리 시간입니다. | 
| WriteLatency | 디스크 I/O 연산당 평균 처리 시간(밀리초) | 

### NVMe 지원 인스턴스 지표
<a name="nvme-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| NVMeStorageCacheHitRatio | 계층형 캐시에서 처리하는 요청 비율입니다. | 
| FreeNVMeStorage | 사용 가능한 임시 NVMe 스토리지 크기입니다. | 
| ReadIOPSNVMeStorage | 임시 NVMe 스토리지에 대한 평균 디스크 읽기 I/O 작업 수입니다. | 
| ReadLatencyNVMeStorage | 임시 NVMe 스토리지의 디스크 읽기 I/O 작업당 소요된 평균 시간입니다. | 
| ReadThroughputNVMeStorage | 임시 NVMe 스토리지의 초당 디스크에서 읽은 평균 바이트 수입니다. | 
| WriteIOPSNVMeStorage | 임시 NVMe 스토리지에 대한 평균 디스크 쓰기 I/O 작업 수입니다. | 
| WriteLatencyNVMeStorage | 임시 NVMe 스토리지의 디스크 쓰기 I/O 작업당 소요된 평균 시간입니다. | 
| WriteThroughputNVMeStorage | 임시 NVMe 스토리지에 디스크에 쓰여진 초당 평균 바이트 수입니다. | 

### 운영 지표
<a name="operations-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| DocumentsDeleted | 1분 동안 삭제된 문서 수입니다. | 
| DocumentsInserted | 1분 동안 삽입된 문서 수입니다. | 
| DocumentsReturned | 1분 동안 반환된 문서 수입니다. | 
| DocumentsUpdated | 1분 동안 업데이트된 문서 수입니다. | 
| OpcountersCommand | 1분 동안 실행된 명령 수입니다. | 
| OpcountersDelete | 1분 동안 실행된 삭제 작업 수입니다. | 
| OpcountersGetmore | 1분 동안 실행된 겟모어(getmore) 수입니다. | 
| OpcountersInsert | 1분 동안 실행된 삽입 작업 수입니다. | 
| OpcountersQuery | 1분 동안 실행된 쿼리 수입니다. | 
| OpcountersUpdate | 1분 동안 실행된 업데이트 작업 수입니다. | 
| TransactionsStarted | 1분 동안 인스턴스에서 시작된 트랜잭션 수입니다. | 
| TransactionsCommitted | 1분 동안 인스턴스에서 커밋된 트랜잭션 수입니다. | 
| TransactionsAborted | 1분 동안 인스턴스에서 중단된 트랜잭션 수입니다. | 
| TTLDeletedDocuments | 1분 동안 TTLMonitor에서 삭제한 문서 수입니다. | 

### 처리량 지표
<a name="throughput-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| NetworkReceiveThroughput | 클러스터의 인스턴스 하나가 클라이언트에서 수신하는 네트워크 처리량(bps) 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. | 
| NetworkThroughput | Amazon DocumentDB 클러스터의 각 인스턴스에서 클라이언트에서 수신 및 클라이언트로 전송된 네트워크 처리량(초당 바이트)입니다. 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. | 
| NetworkTransmitThroughput | 클러스터의 인스턴스 하나가 클라이언트로 전송하는 네트워크 처리량(bps). 이 처리량에서 클러스터의 인스턴스와 클러스터 볼륨 간 네트워크 트래픽은 제외됩니다. | 
| ReadIOPS | 초당 평균 디스크 읽기 I/O 연산 수 Amazon DocumentDB는 1분 간격으로 IOPS에 대한 읽기 및 쓰기를 별도로 보고합니다. | 
| ReadThroughput | 초당 디스크에서 읽은 평균 바이트 수입니다. | 
| StorageNetworkReceiveThroughput | 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 수신한 네트워크 처리량(초당 바이트)입니다. | 
| StorageNetworkTransmitThroughput | 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 전송한 네트워크 처리량(초당 바이트)입니다. | 
| StorageNetworkThroughput | Amazon DocumentDB 클러스터의 각 인스턴스에 의해 Amazon DocumentDB 클러스터 스토리지 볼륨에서 수신 및 전송한 네트워크 처리량(초당 바이트)입니다. | 
| VolumeReadIOPs |  5분마다 보고되는 클러스터 볼륨에서 요금이 청구된 읽기 I/O 작업의 평균 수. 요금이 청구된 읽기 작업은 클러스터 볼륨 수준에서 계산되며, 클러스터의 모든 인스턴스에 대해 집계된 후 5분 간격으로 보고됩니다. 이 값은 5분 동안의 읽기 작업 측정치 값을 사용하여 계산됩니다. 요금 부과된 읽기 작업 측정치의 값을 300로 나눠서 초당 요금 부과된 읽기 작업의 양을 확인할 수 있습니다. 예를 들어, `VolumeReadIOPs`이 13,686을 반환하면 초당 청구된 읽기 작업은 45입니다(13,686 / 300 = 45.62). 버퍼 캐시에 없는 데이터베이스 페이지를 요청하는 쿼리에 대해서는 요금 부과된 읽기 작업이 발생하므로 스토리지에서 로드해야 합니다. 쿼리 결과를 스토리지에서 읽은 후 버퍼 캐시로 로드하면 요금 부과된 작업이 급증할 수 있습니다.  | 
| VolumeWriteIOPs |  5분마다 보고되는 클러스터 볼륨에서 요금이 청구된 쓰기 I/O 작업의 평균 수. 요금이 청구된 쓰기 작업은 클러스터 볼륨 수준에서 계산되며, 클러스터의 모든 인스턴스에 대해 집계된 후 5분 간격으로 보고됩니다. 이 값은 5분 동안의 쓰기 작업 측정치 값을 사용하여 계산됩니다. 요금이 청구된 쓰기 작업 측정치의 값을 300초로 나눠서 초당 요금이 청구된 쓰기 작업의 양을 확인할 수 있습니다. 예를 들어 `VolumeWriteIOPs`이 13,686을 반환하면 초당 청구된 쓰기 작업은 45입니다(13,686 / 300 = 45.62). 참고로 `VolumeReadIOPs` 및 `VolumeWriteIOPs` 지표는 DocumentDB 스토리지 계층에서 계산되며 여기에는 기본 및 복제 인스턴스에서 수행한 IO가 포함됩니다. 데이터는 20-30분마다 집계된 후 5분 간격으로 보고되므로 일정 기간 동안 지표에 대해 동일한 데이터 지점이 생성됩니다. 1분 간격으로 삽입 작업과 상호 연관시킬 지표를 찾으려면 인스턴스 수준 WriteiOps 측정치를 사용할 수 있습니다. 지표는 Amazon DocumentDB 기본 인스턴스의 모니터링 탭에서 사용할 수 있습니다.  | 
| WriteIOPS | 초당 평균 디스크 쓰기 I/O 연산 수. 클러스터 수준에서 사용할 경우 WriteIOPs은 클러스터의 모든 인스턴스에서 평가됩니다. 1분의 간격을 두고 읽기 IOPS와 쓰기 IOPS를 따로 보고합니다. | 
| WriteThroughput | 초당 디스크에 쓴 평균 바이트 수. | 

### 시스템 지표
<a name="system-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| AvailableMVCCIds | 0에 도달하기 전에 사용 가능한 나머지 쓰기 작업 수를 보여주는 카운터입니다. 이 카운터가 0에 도달하면 ID가 회수되고 재활용될 때까지 클러스터가 읽기 전용 모드로 전환됩니다. 카운터는 각 쓰기 작업에 따라 감소하고 폐영역 회수가 이전 MVCC ID를 재활용함에 따라 증가합니다. | 
| BufferCacheHitRatio | 버퍼 캐시에서 처리하는 요청 비율입니다. | 
| DiskQueueDepth | 디스크에 쓰기 위해 또는 디스크에서 읽기 위해 대기 중인 I/O 작업 수입니다. | 
| EngineUptime | 인스턴스 실행 시간(초) | 
| IndexBufferCacheHitRatio | 버퍼 캐시에서 제공되는 인덱스 요청의 백분율입니다. 인덱스, 컬렉션 또는 데이터베이스를 삭제한 직후 지표가 100% 이상 급증할 수 있습니다. 이는 60초 후에 자동으로 수정됩니다. 향후 패치 업데이트에서 이러한 제한 사항이 수정될 예정입니다. | 
| LongestActiveGCRuntime | 가장 긴 활성 폐영역 회수 프로세스의 기간(초)입니다. 1분마다 업데이트하고 1분 내에 완료되는 프로세스를 제외한 활성 작업만 추적합니다. | 

### T3 인스턴스 지표
<a name="t3-instance-metrics"></a>


| 지표 | 설명 | 
| --- | --- | 
| CPUCreditUsage | 측정 기간 동안 사용된 CPU 크레딧 수. | 
| CPUCreditBalance | 인스턴스에서 발생한 CPU 크레딧 수. CPU에서 버스트가 발생하고 CPU 크레딧이 획득 속도보다 빠르게 소비될 때 크레딧 밸런스가 고갈됩니다. | 
| CPUSurplusCreditBalance | CPUCreditBalance 값이 0일 때 CPU 성능을 유지하기 위해 사용된 잉여 CPU 크레딧의 수입니다. | 
| CPUSurplusCreditsCharged | 잉여 CPU 크레딧 수가 24시간 동안 얻을 수 있는 최대 CPU 크레딧 수를 초과하므로 추가 요금이 발생합니다. 자세한 내용은 [CPU 크레딧 모니터링](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html)을 참조하세요. | 

## CloudWatch 데이터 보기
<a name="cloud_watch-view_data"></a>

CloudWatch 콘솔, Amazon DocumentDB 콘솔, AWS Command Line Interface (AWS CLI) 또는 CloudWatch API를 사용하여 Amazon CloudWatch 데이터를 볼 수 있습니다. Amazon DocumentDB 

------
#### [ Using the AWS Management Console ]

Amazon DocumentDB 관리 콘솔을 사용하여 CloudWatch 지표를 보려면 다음 단계를 완료합니다.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다.
**작은 정보**  
화면 왼쪽에 탐색 창이 표시되지 않으면 페이지 왼쪽 상단 모서리에서 메뉴 아이콘(![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/docdb-menu-icon.png))을 선택합니다.

1. 클러스터 탐색 상자에 **클러스터 식별자** 열이 표시됩니다. 인스턴스는 아래 스크린샷과 마찬가지로 클러스터 아래에 나열됩니다.  
![\[인스턴스가 클러스터 아래에 중첩되는 방법을 보여주는 클러스터 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/choose-clusters.png)

1. 인스턴스 목록에서 지표를 사용할 인스턴스의 이름을 선택합니다.

1. 결과 인스턴스 요약 페이지에서 **모니터링** 탭을 선택하여 Amazon DocumentDB 인스턴스의 지표를 그래픽으로 표시합니다. 각 지표에 대한 그래픽이 생성되기 전에 **CloudWatch** 그래프를 채우는 데 몇 분 정도 걸릴 수 있습니다.

   다음 이미지는 Amazon DocumentDB 콘솔, `WriteIOPS` 및 `ReadIOPS`에 있는 두 개의 CloudWatch 지표를 그래픽으로 표현한 것입니다.  
![\[Amazon DocumentDB 콘솔에서 WriteIOPS 및 ReadIOPS CloudWatch 지표 를 나타내는 2개의 선형 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/cw-metrics-con.png)

------
#### [ Using the CloudWatch Management Console ]

CloudWatch 관리 콘솔을 사용하여 CloudWatch 지표를 보려면 다음 단계를 수행합니다.

1. 에 로그인 AWS Management Console하고에서 Amazon DocumentDB 콘솔을 엽니다[https://console.aws.amazon.com/cloudwatch](https://console.aws.amazon.com/cloudwatch).

1. 탐색 창에서 **지표**를 선택합니다. 그런 다음 서비스 이름 목록에서 **DocDB**를 선택합니다.

1. 지표 차원(예: **클러스터 지표**)을 선택합니다.

1. **모든 지표** 탭은 **DocDB**에서 해당 차원의 모든 지표를 표시합니다.

   1. 테이블을 정렬하려면 열 머리글을 사용합니다.

   1. 측정치를 그래프로 표시하려면 측정치 옆에 있는 확인란을 선택합니다. 모든 지표를 선택하려면 테이블의 머리글 행에 있는 확인란을 선택합니다.

   1. 지표별로 필터링하려면 지표 이름을 마우스로 가리키고 지표 이름 옆의 드롭다운 화살표를 선택합니다. 그런 다음 아래 이미지와 같이 **검색에 추가**를 선택합니다.  
![\[지표 이름에 대한 드롭다운 목록이 표시된 지표를 나열하는 모든 지표 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/cloudwatch-filter-metrics.png)

------
#### [ Using the AWS CLI ]

Amazon DocumentDB용 CloudWatch 데이터를 보려면 다음 파라미터를 사용하여 CloudWatch `get-metric-statistics` 작업을 수행합니다.

**파라미터**
+ **--namespace** - 필수입니다. CloudWatch 지표를 원하는 서비스 네임스페이스. Amazon DocumentDB의 경우, 이것은 `AWS/DocDB`이어야 합니다.
+ **--metric-name** - 필수입니다. 데이터를 원하는 지표의 이름.
+ **--start-time** - 필수입니다. 반환할 첫 번째 데이터 포인트를 결정하는 타임스탬프입니다.

   지정된 값이 포함되므로, 지정된 타임스탬프를 가진 데이터 포인트가 결과에 포함됩니다. 타임스탬프는 ISO 8601 UTC 형식(예: 2016-10-03T23:00:00Z)이어야 합니다.
+ **--end-time** - 필수입니다. 반환할 마지막 데이터 포인트를 결정하는 타임스탬프입니다.

  지정된 값이 포함되므로, 지정된 타임스탬프를 가진 데이터 포인트가 결과에 포함됩니다. 타임스탬프는 ISO 8601 UTC 형식(예: 2016-10-03T23:00:00Z)이어야 합니다.
+ **--period** - 필수입니다. 반환되는 데이터 포인트의 세부 수준(초)입니다. 일반 분해능 지표의 경우 기간은 최소 1분(60초)이고 60의 배수여야 합니다. 1분 미만의 간격으로 수집되는 고분해능 지표의 경우 기간은 1, 5, 10, 30, 60 또는 60의 배수입니다.
+ **--dimensions** - 선택 사항. 지표에 여러 차원이 포함된 경우 각 차원에 대한 값을 포함해야 합니다. CloudWatch는 각각의 고유한 차원의 조합을 별도의 지표로 처리합니다. 특정 차원 조합이 게시되지 않은 경우 해당 조합에 대한 통계를 검색할 수 없습니다. 지표 생성 시 사용된 것과 동일한 차원을 지정해야 합니다.
+ **--statistics** - 선택 사항. 백분위수 이외의 지표 통계입니다. 백분위수 통계의 경우 `ExtendedStatistics` 섹션을 참조하세요. `GetMetricStatistics`를 호출할 경우 `Statistics` 또는 `ExtendedStatistics` 중 하나만 지정해야 합니다.

**허용되는 값:**
  + `SampleCount`
  + `Average`
  + `Sum`
  + `Minimum`
  + `Maximum`
+ **--extended-statistics** - 선택 사항. `percentile` 통계입니다. p0.0\$1p100 사이의 값을 지정합니다. `GetMetricStatistics`를 호출할 경우 `Statistics` 또는 `ExtendedStatistics` 중 하나만 지정해야 합니다.
+ **--unit** - 선택 사항. 주어진 지표의 단위입니다. 지표가 여러 단위로 보고될 수 있습니다. 단위 결과가 반환 중인 모든 단위로 제공되지 않습니다. 지표가 보고되지 않는 단위만 지정한 경우 호출 결과는 null입니다.

**가능한 값은 다음과 같습니다.**
  + `Seconds`
  + `Microseconds`
  + `Milliseconds`
  + `Bytes`
  + `Kilobytes`
  + `Megabytes`
  + `Gigabytes`
  + `Terabytes`
  + `Bits`
  + `Kilobytes`
  + `Megabits`
  + `Gigabits`
  + `Terabits`
  + `Percent`
  + `Count`
  + `Bytes/Second`
  + `Kilobytes/Second`
  + `Megabytes/Second`
  + `Gigabytes/Second`
  + `Terabytes/Second`
  + `Bits/Second`
  + `Kilobits/Second`
  + `Megabits/Second`
  + `Gigabits/Second`
  + `Terabits/Second`
  + `Count/Second`
  + `None`

**Example**  
다음 예에서는 60초마다 샘플을 생성하여 2시간 기간에 대한 최대 `CPUUtilization`을 찾습니다.  
Linux, macOS, Unix의 경우:  

```
aws cloudwatch get-metric-statistics \
       --namespace AWS/DocDB \
       --dimensions \
           Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 \
       --metric-name CPUUtilization \
       --start-time 2019-02-11T05:00:00Z \
       --end-time 2019-02-11T07:00:00Z \
       --period 60 \
       --statistics Maximum
```
Windows의 경우:  

```
aws cloudwatch get-metric-statistics ^
       --namespace AWS/DocDB ^
       --dimensions ^
           Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 ^
       --metric-name CPUUtilization ^
       --start-time 2019-02-11T05:00:00Z ^
       --end-time 2019-02-11T07:00:00Z ^
       --period 60 ^
       --statistics Maximum
```
이 작업의 출력은 다음과 같습니다.  

```
{
       "Label": "CPUUtilization",
       "Datapoints": [
           {
               "Unit": "Percent",
               "Maximum": 4.49152542374361,
               "Timestamp": "2019-02-11T05:51:00Z"
           },
           {
               "Unit": "Percent",
               "Maximum": 4.25000000000485,
               "Timestamp": "2019-02-11T06:44:00Z"
           },
           
           ********* some output omitted for brevity *********
           
           {
               "Unit": "Percent",
               "Maximum": 4.33333333331878,
               "Timestamp": "2019-02-11T06:07:00Z"
           }
       ]
   }
```

------

## Amazon DocumentDB 차원
<a name="cloud_watch-metrics_dimensions"></a>

Amazon DocumentDB에 대한 지표는 계정 또는 작업에 대한 값으로 지정됩니다. CloudWatch 콘솔을 사용하여 다음 표의 차원 중 하나로 필터링된 Amazon DocumentDB 데이터를 검색할 수 있습니다.


| 차원 | 설명 | 
| --- | --- | 
| DBClusterIdentifier | 특정 Amazon DocumentDB 클러스터에 대해 요청하는 데이터를 필터링합니다. | 
| DBClusterIdentifier, Role | 특정 Amazon DocumentDB 클러스터에 대해 요청하는 데이터를 필터링하여 인스턴스 역할별 지표(쓰기/읽기)를 집계합니다. 예를 들어 클러스터에 속하는 모든 READER 인스턴스에 대한 지표를 집계할 수 있습니다. | 
| DBInstanceIdentifier | 특정 데이터베이스 인스턴스에 대해 요청하는 데이터를 필터링합니다. | 

## Opcounter 지표 모니터링
<a name="cloud_watch-monitoring_opcounters"></a>

유휴 클러스터의 경우 Opcounter 지표는 값이 0이 아닙니다 (보통 \$150). 이는 Amazon DocumentDB가 주기적인 상태 점검, 내부 작업 및 지표 수집 작업을 수행하기 때문입니다.

## 데이터베이스 연결 모니터링
<a name="cloud_watch-monitoring_connections"></a>

`db.runCommand( { serverStatus: 1 })`과 같은 데이터베이스 엔진 명령을 사용하여 연결 수를 볼 때 CloudWatch를 통해 `DatabaseConnections`에 표시된 것보다 최대 10개 더 많은 연결을 볼 수 있습니다. 이것은 Amazon DocumentDB가 `DatabaseConnections`에 설명되지 않는 주기적인 상태 검사 및 지표 수집 작업을 수행하기 때문에 발생합니다. `DatabaseConnections`는 고객 시작 연결만 나타냅니다.

# AWS CloudTrail로 Amazon DocumentDB API 호출 로깅
<a name="logging-with-cloudtrail"></a>

Amazon DocumentDB(MongoDB 호환)는 Amazon DocumentDB(MongoDB 호환)에서 사용자, 역할 또는 AWS 서비스가 취한 직업 기록을 제공하는 서비스인 AWS CloudTrail과 통합됩니다. CloudTrail은 Amazon DocumentDB 콘솔로부터의 호출과 Amazon DocumentDB SDK로의 코드 호출을 포함하여 Amazon DocumentDB에 대한 모든 AWS CLI API 호출을 이벤트로 캡처합니다. 추적을 생성하는 경우 Amazon DocumentDB에 대한 이벤트를 포함하여 CloudTrail 이벤트를 Amazon S3 버킷에 지속적으로 전달할 수 있습니다. 추적을 구성하지 않은 경우에도 CloudTrail 콘솔의 **이벤트 기록**에서 최신 이벤트를 볼 수 있습니다. CloudTrail에서 수집한 정보를 사용하여 Amazon DocumentDB(MongoDB 호환)에 대한 요청, 요청이 이루어진 IP 주소, 요청자, 요청이 이루어진 시기 및 기타 세부 정보를 확인할 수 있습니다.

**중요**  
일부 관리 기능의 경우 Amazon DocumentDB는 Amazon Relational Database Service(RDS)와 공유되는 운영 기술을 사용합니다. Amazon DocumentDB 콘솔, AWS CLI, API 호출은 Amazon RDS API에 대한 호출로 로깅됩니다.

AWS CloudTrail에 대한 자세한 내용은 [AWS CloudTrail 사용 설명서](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)를 참조합니다.

## CloudTrail의 Amazon DocumentDB 정보
<a name="logging-with-cloudtrail-info-available"></a>

CloudTrail은 계정 생성 시 AWS 계정에서 사용되도록 설정됩니다. 활동이 Amazon DocumentDB(MongoDB 호환)에서 발생하면 해당 활동은 **이벤트 기록**의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. AWS 계정에서 최신 이벤트를 확인, 검색 및 다운로드할 수 있습니다. 자세한 내용은 [CloudTrail 이벤트 기록을 사용하여 이벤트 보기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)를 참조하세요.

Amazon DocumentDB(MongoDB 호환)에 대한 이벤트를 포함하여 AWS 계정에 있는 이벤트의 지속적인 기록을 위해 추적을 생성합니다. CloudTrail은 추적을 사용하여 Amazon S3 버킷으로 로그 파일을 전송할 수 있습니다. 콘솔에서 추적을 생성하면 기본적으로 모든 AWS 리전에 추적이 적용됩니다. 추적은 AWS 파티션에 있는 모든 리전의 이벤트를 로깅하고 지정된 Amazon S3 버킷으로 로그 파일을 전송합니다. 또는 CloudTrail 로그에서 수집된 이벤트 데이터를 추가 분석 및 처리하도록 다른 AWS 서비스를 구성할 수 있습니다. 자세한 내용은 AWS CloudTrail 사용 설명서**에서 다음 주제를 참조하세요.
+ [트레일 생성 개요](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 지원 서비스 및 통합](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [CloudTrail에서 Amazon SNS 알림 구성](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [여러 리전에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [여러 계정에서 CloudTrail 로그 파일 수신](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

모든 이벤트 및 로그 항목에는 요청을 생성한 사용자에 대한 정보가 들어 있습니다. 보안 인증 정보를 이용하면 다음을 쉽게 판단할 수 있습니다.
+ 요청을 루트로 했는지 아니면 사용자 자격 증명으로 했는지 여부
+ 역할 또는 페더레이션 사용자에 대한 임시 보안 인증을 사용하여 요청이 생성되었는지 여부.
+ 다른 AWS 서비스에서 요청했는지.

자세한 내용은 [CloudTrail userIdentity 요소](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)를 참조하세요.

# Amazon DocumentDB 작업 프로파일링
<a name="profiling"></a>

Amazon DocumentDB(MongoDB 호환)를 사용하여 클러스터에서 수행된 작업의 실행 시간 및 세부 정보를 기록할 수 있습니다. 프로파일러는 개별 쿼리 성능 및 전체 클러스터 성능을 개선하기 위해 클러스터에서 가장 느린 작업을 모니터링하는 경우에 유용합니다.

프로파일러 특성은 기본적으로 비활성화됩니다. 이 옵션을 사용하도록 설정하면 프로파일러 로그 고객 정의 임계값(예: 100ms)보다 오래 걸리는 작업을 Amazon CloudWatch Logs에 기록합니다. 로깅되는 세부 정보에는 프로파일링된 명령, 시간, 계획 요약 및 클라이언트 메타데이터가 포함됩니다. 작업이 CloudWatch 로그에 기록된 후 CloudWatch 로그 인사이트를 사용하여 Amazon DocumentDB 프로파일링 데이터를 분석, 모니터링 및 보관할 수 있습니다. 공통적인 쿼리는 [공통 쿼리](#profiling.common-queries) 섹션에 제공됩니다.

활성화되면 프로파일러는 클러스터에 있는 추가 리소스를 사용합니다. 높은 임계값(예: 500ms)으로 시작하여 값을 점차적으로 낮추면서 느린 작업을 식별하는 것이 좋습니다. 임계값 50ms로 시작하면 처리량이 많은 애플리케이션의 경우 클러스터에서 성능 문제가 발생할 수 있습니다. 프로파일러는 클러스터 수준에서 사용 가능하며 클러스터의 모든 인스턴스와 데이터베이스에서 작동합니다. Amazon DocumentDB 로그는 작업을 최상의 방법으로 Amazon CloudWatch Logs에 기록합니다.

Amazon DocumentDB는 프로파일러를 활성화하기 위해 추가 요금을 부과하지 않지만 CloudWatch 로그 사용에 대한 표준 요금이 부과됩니다. CloudWatch 로그 요금에 대한 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하십시오.

**Topics**
+ [지원되는 연산자](#profiling.supported-commands)
+ [제한 사항](#profiling.limitations)
+ [프로파일러 활성화](#profiling.enable-profiling)
+ [프로파일러 비활성화](#profiling.disable-profiling)
+ [프로파일러 로그 내보내기 비활성화](#profiling.disabling-logs-export)
+ [프로파일러 로그 액세스](#profiling.accessing)
+ [공통 쿼리](#profiling.common-queries)

## 지원되는 연산자
<a name="profiling.supported-commands"></a>

Amazon DocumentDB 프로파일러는 다음 작업을 지원합니다:
+ `aggregate`
+ `count`
+ `delete`
+ `distinct`
+ `find`(OP\$1QUERY 및 명령)
+ `findAndModify`
+ `insert`
+ `update`

## 제한 사항
<a name="profiling.limitations"></a>

슬로우 쿼리 프로파일러는 쿼리의 전체 결과 집합이 한 배치에 들어갈 수 있고 결과 집합이 16MB(최대 BSON 크기) 미만인 경우에만 프로파일러 로그를 내보낼 수 있습니다. 16MB 이상의 결과 세트는 자동으로 여러 배치로 분할됩니다.

대부분의 드라이버나 쉘은 기본 배치 크기를 작게 설정할 수 있습니다. 쿼리의 일부로 배치 크기를 지정할 수 있습니다. 슬로우 쿼리 로그를 캡처하기 위해 예상 결과 집합의 크기를 초과하는 배치 크기를 권장합니다. 결과 집합 크기가 확실하지 않거나 크기가 다른 경우 배치 크기를 큰 수(예: 100k)로 설정할 수도 있습니다.

그러나 더 큰 배치 크기를 사용하면 응답이 클라이언트로 전송되기 전에 데이터베이스에서 더 많은 결과를 검색해야 합니다. 일부 쿼리의 경우 결과를 얻기 전에 지연이 더 길어질 수 있습니다. 전체 결과 집합을 소비할 계획이 없는 경우, 더 많은 I/O를 사용하여 쿼리를 처리하고 결과를 버릴 가능성이 있습니다.

## Amazon DocumentDB 프로파일러 활성화
<a name="profiling.enable-profiling"></a>

클러스터에서 프로파일러를 활성화하는 작업은 3단계 프로세스입니다. 모든 단계를 완료하거나 프로파일링 로그가 CloudWatch Logs로 전송되지 않도록 합니다. 프로파일러는 클러스터 수준에서 설정되며 클러스터의 모든 데이터베이스와 인스턴스에 대해 수행됩니다.

**클러스터에서 프로파일러를 활성화하려면**

1. 기본 클러스터 파라미터 그룹을 수정할 수 없으므로, 사용 가능한 사용자 지정 클러스터 파라미터 그룹이 있는지 확인하십시오. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 생성](cluster_parameter_groups-create.md) 섹션을 참조하십시오.

1. 사용 가능한 사용자 지정 클러스터 파라미터 그룹을 사용하여 `profiler`, `profiler_threshold_ms` 및 `profiler_sampling_rate` 파라미터를 수정합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 수정](cluster_parameter_groups-modify.md) 섹션을 참조하십시오.

1. 사용자 지정 클러스터 매개 변수 그룹을 사용하고 `profiler` CloudWatch Logs로 로그 내보내기를 사용하도록 클러스터를 생성하거나 수정합니다.

다음 섹션에서는 AWS Management Console 및 AWS Command Line Interface ()를 사용하여 이러한 단계를 구현하는 방법을 보여줍니다AWS CLI.

------
#### [ Using the AWS Management Console ]

1. 시작하기 전에 Amazon DocumentDB 클러스터와 사용자 정의 클러스터 파라미터 그룹이 없는 경우, 이를 생성합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 생성](cluster_parameter_groups-create.md) 및 [Amazon DocumentDB 클러스터 생성](db-cluster-create.md) 섹션을 참조하십시오.

1. 사용 가능한 사용자 지정 클러스터 파라미터 그룹을 사용하여 다음 파라미터를 수정합니다. 자세한 내용은 [Amazon DocumentDB 클러스터 파라미터 그룹 수정](cluster_parameter_groups-modify.md) 섹션을 참조하십시오.
   + `profiler` - 쿼리 프로파일링을 활성화하거나 비활성화합니다. 허용된 값은 `enabled ` 및 `disabled`입니다. 기본값은 `disabled`입니다. 프로파일링을 활성화하려면 값을 `enabled`로 설정합니다.
   + `profiler_threshold_ms` - `profiler`를 `enabled`으로 설정하면 ` profiler_threshold_ms`보다 더 오래 걸리는 모든 명령이 CloudWatch 로그에 기록됩니다. 허용된 값은 `[50-INT_MAX]`입니다. 기본값은 `100`입니다.
   + `profiler_sampling_rate` - 프로파일링하거나 로깅해야 하는 느린 작업의 조각입니다. 허용된 값은 `[0.0-1.0]`입니다. 기본값은 `1.0`입니다.

1. 사용자 지정 클러스터 매개 변수 그룹을 사용하도록 클러스터를 수정하고 Amazon CloudWatch에 게시자 프로파일러 로그 내보내기를 설정합니다.

   1. 탐색 창에서 **클러스터**를 선택하여 사용자 지정 파라미터 그룹을 클러스터에 추가합니다.

   1. 파라미터 그룹을 연결할 클러스터의 이름 왼쪽에 있는 버튼을 선택합니다. **작업**, **수정** 순으로 선택하여 클러스터를 수정합니다.

   1. **클러스터 옵션**의 위 단계에서 사용자 지정 파라미터 그룹을 선택하여 클러스터에 추가합니다.

   1. **로그 내보내기**에서 Amazon CloudWatch에 게시자로 등록할 **프로파일 로그**를 선택합니다.

   1. 수정 사항의 요약을 보려면 **계속**을 선택합니다.

   1. 변경 사항을 확인한 후 즉시 적용하거나 **수정 일정** 아래의 다음 유지 관리 기간 중에 적용할 수 있습니다.

   1. 클러스터를 새 파라미터 그룹으로 업데이트하려면 **클러스터 수정**을 선택합니다.

------
#### [ Using the AWS CLI ]

다음 절차는 `sample-cluster` 클러스터에 지원되는 모든 작업에 대해 프로파일러를 활성화합니다.

1. 시작하기 전에 다음 명령을 실행한 후 이름에 `default`가 없고 `docdb3.6`이 파라미터 그룹 패밀리인 클러스터 파라미터 그룹의 출력을 검토하여 사용 가능한 사용자 지정 클러스터 파라미터 그룹이 있는지 확인합니다. 기본이 아닌 클러스터 파라미터 그룹이 없는 경우 [Amazon DocumentDB 클러스터 파라미터 그룹 생성](cluster_parameter_groups-create.md) 단원을 참조하십시오.

   ```
   aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'
   ```

   다음 출력에서는 `sample-parameter-group `만 두 기준을 모두 충족합니다.

   ```
   [
          [
              "default.docdb3.6",
              "docdb3.6"
          ],
          [
              "sample-parameter-group",
              "docdb3.6"
          ]
   ]
   ```

1. 사용자 지정 클러스터 파라미터 그룹을 사용하여 다음 파라미터를 수정합니다:
   + `profiler` - 쿼리 프로파일링을 활성화하거나 비활성화합니다. 허용된 값은 `enabled ` 및 `disabled`입니다. 기본값은 `disabled`입니다. 프로파일링을 활성화하려면 값을 `enabled`로 설정합니다.
   + `profiler_threshold_ms` - `profiler`를 `enabled`으로 설정하면 `profiler_threshold_ms`보다 더 오래 걸리는 모든 명령이 CloudWatch에 기록됩니다. 허용된 값은 `[50-INT_MAX]`입니다. 기본값은 `100`입니다.
   + `profiler_sampling_rate` - 프로파일링하거나 로깅해야 하는 느린 작업의 조각입니다. 허용된 값은 `[0.0-1.0]`입니다. 기본값은 `1.0`입니다.

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \
                    ParameterName=profiler_threshold_ms,ParameterValue=100,ApplyMethod=immediate \
                    ParameterName=profiler_sampling_rate,ParameterValue=0.5,ApplyMethod=immediate
   ```

1. 이전 단계의 `sample-parameter-group` 사용자 지정 클러스터 파라미터 그룹을 사용하고 파라미터 `--enable-cloudwatch-logs-exports`를 `profiler`으로 설정하도록 Amazon DocumentDB 클러스터를 수정합니다.

   다음 코드는 이전 단계에서 `sample-parameter-group`를 사용하도록 클러스터 `sample-cluster`을 수정하고 사용하도록 설정된 CloudWatch 로그 내보내기에 `profiler`을 추가합니다.

   ```
   aws docdb modify-db-cluster \
          --db-cluster-identifier sample-cluster \
          --db-cluster-parameter-group-name sample-parameter-group \
          --cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'
   ```

   이 작업의 출력은 다음과 같이 표시됩니다.

   ```
   {
       "DBCluster": {
           "AvailabilityZones": [
               "us-east-1c",
               "us-east-1b",
               "us-east-1a"
           ],
           "BackupRetentionPeriod": 1,
           "DBClusterIdentifier": "sample-cluster",
           "DBClusterParameterGroup": "sample-parameter-group",
           "DBSubnetGroup": "default",
           "Status": "available",
           "EarliestRestorableTime": "2020-04-07T02:05:12.479Z",
           "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "MultiAZ": false,
           "Engine": "docdb",
           "EngineVersion": "3.6.0",
           "LatestRestorableTime": "2020-04-08T22:08:59.317Z",
           "Port": 27017,
           "MasterUsername": "test",
           "PreferredBackupWindow": "02:00-02:30",
           "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
           "DBClusterMembers": [
               {
                   "DBInstanceIdentifier": "sample-instance-1",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               },
               {
                   "DBInstanceIdentifier": "sample-instance-2",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               }
           ],
           "VpcSecurityGroups": [
               {
                   "VpcSecurityGroupId": "sg-abcd0123",
                   "Status": "active"
               }
           ],
           "HostedZoneId": "ABCDEFGHIJKLM",
           "StorageEncrypted": true,
           "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
           "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
           "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
           "AssociatedRoles": [],
           "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
           "EnabledCloudwatchLogsExports": [
               "profiler"
           ],
           "DeletionProtection": true
       }
   }
   ```

------

## Amazon DocumentDB 프로파일러 비활성화
<a name="profiling.disable-profiling"></a>

프로파일러를 실행 중지하려면 `profiler` 매개 변수와 `profiler` 로그를 CloudWatch Logs로 내보내기를 모두 실행 중지해야 합니다.

### 프로파일러 비활성화
<a name="profiling.disable-profiler"></a>

다음과 AWS CLI같이 AWS Management Console 또는를 사용하여 `profiler` 파라미터를 비활성화할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는를 사용하여 Amazon DocumentDB AWS Management Console 를 비활성화합니다`profiler`.

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **파라미터 그룹**을 선택합니다. 그런 다음 프로파일러를 비활성화하려는 클러스터 파라미터 그룹의 이름을 선택합니다.

1. 그 결과 표시되는 **클러스터 파라미터** 페이지에서 `profiler` 파라미터 왼쪽에 있는 버튼을 선택하고 **편집**을 선택합니다.

1. **프로파일러 수정** 대화 상자의 목록에서 `disabled`를 선택합니다.

1. **클러스터 파라미터 수정**을 선택합니다.

------
#### [ Using the AWS CLI ]

 AWS CLI를 사용하여 클러스터에서 `profiler`를 비활성화하려면 다음과 같이 클러스터를 수정합니다.

```
aws docdb modify-db-cluster-parameter-group \
    --db-cluster-parameter-group-name sample-parameter-group \
    --parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate
```

------

## 프로파일러 로그 내보내기 비활성화
<a name="profiling.disabling-logs-export"></a>

다음과 AWS CLI같이 AWS Management Console 또는를 사용하여 CloudWatch Logs로 `profiler` 로그 내보내기를 비활성화할 수 있습니다.

------
#### [ Using the AWS Management Console ]

다음 절차에서는를 사용하여 CloudWatch AWS Management Console 로 로그를 내보내는 Amazon DocumentDB를 비활성화합니다.

1. [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **클러스터**를 선택합니다. 로그 내보내기를 비활성화할 클러스터의 이름 왼쪽에 있는 버튼을 선택합니다.

1. **작업** 메뉴에서 **수정**을 선택합니다.

1. **로그 내보내기** 섹션까지 아래로 스크롤하여 **프로필러 로그**를 선택 취소합니다.

1. **계속**을 선택합니다.

1. 변경 사항을 검토하고, 언제 이 변경 사항을 클러스터에 적용할지를 선택합니다:
   + **예약된 다음 유지 관리 기간에 적용**
   + **즉시 적용**

1. **클러스터 수정**을 선택합니다.

------
#### [ Using the AWS CLI ]

다음 코드는 클러스터`sample-cluster `를 수정하고 CloudWatch 프로파일러 로그를 비활성화합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws docdb modify-db-cluster \
   --db-cluster-identifier sample-cluster \
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
Windows의 경우:  

```
aws docdb modify-db-cluster ^
   --db-cluster-identifier sample-cluster ^
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
이 작업의 출력은 다음과 같이 표시됩니다.  

```
{
    "DBCluster": {
        "AvailabilityZones": [
            "us-east-1c",
            "us-east-1b",
            "us-east-1a"
        ],
        "BackupRetentionPeriod": 1,
        "DBClusterIdentifier": "sample-cluster",
        "DBClusterParameterGroup": "sample-parameter-group",
        "DBSubnetGroup": "default",
        "Status": "available",
        "EarliestRestorableTime": "2020-04-08T02:05:17.266Z",
        "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "MultiAZ": false,
        "Engine": "docdb",
        "EngineVersion": "3.6.0",
        "LatestRestorableTime": "2020-04-09T05:14:44.356Z",
        "Port": 27017,
        "MasterUsername": "test",
        "PreferredBackupWindow": "02:00-02:30",
        "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
        "DBClusterMembers": [
            {
                "DBInstanceIdentifier": "sample-instance-1",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            },
            {
                "DBInstanceIdentifier": "sample-instance-2",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            }
        ],
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-abcd0123",
                "Status": "active"
            }
        ],
        "HostedZoneId": "ABCDEFGHIJKLM",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
        "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
        "AssociatedRoles": [],
        "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
        "DeletionProtection": true
    }
}
```

------

## Amazon DocumentDB 프로파일러 로그에 액세스
<a name="profiling.accessing"></a>

Amazon CloudWatch에서 프로필 로그에 액세스하려면 다음 단계를 수행합니다.

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 사용자가 Amazon DocumentDB 클러스터와 동일한 리전에 있어야 합니다.

1. 탐색 창에서 **로그**를 선택합니다.

1. 클러스터에 대한 프로파일러 로그를 찾으려면, 목록에서 `/aws/docdb/yourClusterName/profiler`을 선택합니다.

   각 인스턴스에 대한 프로파일 로그는 해당 인스턴스 이름 아래에서 사용할 수 있습니다.

## 공통 쿼리
<a name="profiling.common-queries"></a>

다음은 프로파일링된 명령을 분석하는 데 사용할 수 있는 몇 가지 공통적인 쿼리입니다. CloudWatch Logs Insights에 대한 자세한 내용은 [CloudWatch Logs Insights로 로그 데이터 분석](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) 및 [샘플 쿼리](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html)를 참조하십시오.

### 지정된 모음에서 가장 느린 10개 작업 가져오기
<a name="profiling.common-queries.slow-queries-on-collection"></a>

```
filter ns="test.foo" | sort millis desc | limit 10
```

### 모음에서 60ms보다 오래 걸린 모든 업데이트 작업 가져오기
<a name="profiling.common-queries.updates-gt-60-ms"></a>

```
filter millis > 60 and op = "update"
```

### 지난 달에 가장 느린 10개 작업 가져오기
<a name="profiling.common-queries.slow-queries-last-month"></a>

```
sort millis desc | limit 10
```

### COLLSCAN 계획 요약을 사용하여 모든 쿼리 가져오기
<a name="profiling.common-queries.collscan-plan-summary"></a>

```
filter planSummary="COLLSCAN"
```

# 성능 개선 도우미로 모니터링
<a name="performance-insights"></a>

성능 개선 도우미는 기존 Amazon DocumentDB 모니터링 특성을 확장한 것으로서 데이터베이스 성능을 표시하여 성능 문제를 분석하는 데 효과적입니다. 성능 개선 도우미 대시보드를 사용하면 데이터베이스 로드를 시각화하고 대기, 쿼리문, 호스트 또는 애플리케이션별로 로드를 필터링할 수 있습니다.

**참고**  
성능 개선 도우미는 Amazon DocumentDB 3.6, 4.0, 5.0 및 8.0 인스턴스 기반 클러스터에서만 사용할 수 있습니다.

**어떻게 유용할까요?**
+ 데이터베이스 성능 가시화 — 언제 어디에서 데이터베이스의 로드가 있는지 파악하기 위해 로드를 시각화합니다
+ 데이터베이스 로드의 원인 파악 — 어떤 쿼리, 호스트, 애플리케이션이 인스턴스 로드에 영향을 미치는지 확인합니다
+ 데이터베이스에 로드가 있을 때 판단 — 성능 개선 도우미 대시보드를 확대하여 특정 이벤트에 초점을 맞추거나 축소하여 더 큰 시간에 걸쳐 추세를 확인할 수 있습니다
+ 데이터베이스 로드에 대한 알림 — CloudWatch에서 새로운 데이터베이스 로드 메트릭에 자동으로 액세스하여 다른 Amazon DocumentDB 메트릭과 함께 DB 로드 메트릭을 모니터링하고 해당 메트릭에 대한 알림을 설정할 수 있습니다

**Amazon DocumentDB 성능 개선 도우미의 한계는 무엇입니까?**
+  AWS GovCloud(미국 동부) 및 AWS GovCloud(미국 서부) 리전의 성능 개선 도우미를 사용할 수 없음
+ Amazon DocumentDB용 성능 개선 도우미는 최대 7일 간의 성능 데이터를 유지합니다
+ 1,024바이트보다 긴 쿼리는 성능 개선 도우미에 집계되지 않습니다

**Topics**
+ [성능 개선 도우미 개념](performance-insights-concepts.md)
+ [성능 개선 도우미 활성화 및 비활성화](performance-insights-enabling.md)
+ [성능 개선 도우미에 대한 액세스 정책 구성](performance-insights-policies.md)
+ [성능 개선 도우미 대시보드를 사용한 지표 분석](performance-insights-analyzing.md)
+ [성능 개선 도우미 API를 사용하여 지표 검색](performance-insights-metrics.md)
+ [성능 개선 도우미를 위한 Amazon CloudWatch 지표](performance-insights-cloudwatch.md)
+ [카운터 지표에 대한 성능 개선 도우미](performance-insights-counter-metrics.md)

# 성능 개선 도우미 개념
<a name="performance-insights-concepts"></a>

**Topics**
+ [평균 활성 세션](#performance-insights-concepts-sessions)
+ [측정 기준](#performance-insights-concepts-dimensions)
+ [최대 vCPU](#performance-insights-concepts-maxvcpu)

## 평균 활성 세션
<a name="performance-insights-concepts-sessions"></a>

데이터베이스 로드(DB 로드)는 데이터베이스의 활동 수준을 측정합니다. 성능 개선 도우미의 핵심 지표는 `DB Load`이며, 1초 간격으로 수집됩니다. `DBLoad` 메트릭의 단위는 Amazon DocumentDB 인스턴스에 대한 *AAS(평균 활성 세션 수)*입니다.

*활성* 세션은 Amazon DocumentDB 인스턴스에 작업을 제출하고 응답을 기다리는 연결입니다. 예를 들어 Amazon DocumentDB 인스턴스에 쿼리를 제출하면 인스턴스가 쿼리를 처리하는 동안 데이터베이스 세션이 활성화됩니다.

평균 활성 세션을 구하기 위해 성능 개선 도우미는 쿼리를 동시에 실행하는 세션 수를 샘플링합니다. AAS는 총 세션 수를 총 샘플 수로 나눈 값입니다. 다음 표는 실행 중인 쿼리의 연속된 5개 샘플을 보여 줍니다.


| 샘플 | 쿼리를 실행 중인 세션 수 | AAS | 계산 | 
| --- | --- | --- | --- | 
|  1  |  2  |  2  |  2개 세션/1개 샘플  | 
|  2  |  0  |  1  |  2개 세션/2개 샘플  | 
|  3  |  4  |  2  |  6개 세션/3개 샘플  | 
|  4  |  0  |  1.5  |  6개 세션/4개 샘플  | 
|  5  |  4  |  2  |  10개 세션/5개 샘플  | 

앞의 예제에서 1-5의 시간 간격에 대한 DB 로드는 2 AAS입니다. DB 로드의 증가는 평균적으로 데이터베이스에서 더 많은 세션이 실행되고 있음을 의미합니다.

## 측정 기준
<a name="performance-insights-concepts-dimensions"></a>

`DB Load` 지표는 ‘차원’이라는 하위 구성 요소로 구분할 수 있기 때문에 다른 시계열 지표와 다릅니다. 차원을 `DB Load` 지표의 다양한 특성에 대한 범주로 생각할 수 있습니다. 성능 문제를 진단할 때 가장 유용한 차원은 **대기 상태** 및 **상위 쿼리**입니다.

**대기 상태**  
*대기 상태*는 쿼리 문이 계속 실행되려면 특정 이벤트가 발생할 때까지 쿼리 문이 기다리도록 합니다. 예를 들어 잠긴 리소스의 잠금이 해제될 때까지 쿼리 문이 대기할 수 있습니다. `DB Load`와 대기 상태와 결합하여 전체 세션 상태를 이해할 수 있습니다. Amazon DocumentDB의 다양한 대기 상태는 다음과 같습니다:


| Amazon DocumentDB 대기 상태 | 대기 상태 설명 | 
| --- | --- | 
|  래치  |  래치 대기 상태는 세션이 버퍼 풀의 페이징을 기다리고 있을 때 발생합니다. 버퍼 풀에서 자주 호출되는 것은 시스템에서 처리 중인 대규모 쿼리, 수집 검색이 빈번할 때 또는 버퍼 풀이 너무 작아서 작업 세트를 처리할 수 없을 때 더 자주 발생할 수 있습니다.  | 
| CPU |  CPU 대기 상태는 세션이 CPU에서 대기할 때 발생합니다.  | 
|  CollectionLock  |  CollectionLock 대기 상태는 세션이 컬렉션에 대한 잠금을 획득하기 위해 대기할 때 발생합니다. 이러한 이벤트는 컬렉션에 DDL 작업이 있을 때 발생합니다.  | 
| DocumentLock |  DocumentLock 대기 상태는 세션이 문서에 대한 잠금 획득을 대기 중일 때 발생합니다. 동일한 문서에 대한 동시 쓰기 횟수가 많으면 해당 문서의 DocumentLock 대기 상태가 늘어나는데 기여하게 됩니다.  | 
|  SystemLock  |  SystemLock 대기 상태는 세션이 시스템에서 대기할 때 발생합니다. 이 문제는 시스템에서 자주 실행되는 쿼리, 오래 실행되는 트랜잭션 또는 높은 동시성이 있을 때 발생할 수 있습니다.  | 
|  IO  |  IO 대기 상태는 IO에서 세션이 완료될 때 발생합니다.  | 
|  BufferLock  |  BufferLock 대기 상태는 세션이 버퍼의 공유 페이지에서 잠금을 획득하기 위해 대기할 때 발생합니다. 다른 프로세스가 요청된 페이지에서 열린 커서를 유지하고 있는 경우 BufferLock 대기 상태가 길어질 수 있습니다.  | 
|  LowMemThrottle  |  Amazon DocumentDB 인스턴스의 과도한 메모리 부족으로 인해 세션이 대기 중일 때 LowMemThrottle 대기 상태가 발생합니다. 이 상태가 오래 지속되면 인스턴스를 확장하여 추가 메모리를 제공하는 것을 고려합니다. 자세한 내용은 [리소스 거버너](https://docs.aws.amazon.com/documentdb/latest/developerguide/how-it-works.html)를 참조하세요.  | 
|  BackgroundActivity  |  BackgroundActivity 대기 상태는 세션이 내부 시스템 프로세스에서 대기할 때 발생합니다.  | 
|  기타  |  기타 대기 상태는 내부 대기 상태입니다. 이 상태가 오래 지속되면 이 쿼리를 종료하는 것을 고려하십시오. 자세한 내용은 [긴 실행 중이거나 차단된 쿼리를 어떻게 찾고 종료하나요?](https://docs.aws.amazon.com/documentdb/latest/developerguide/user_diagnostics.html#user_diagnostics-query_terminating.html)를 참조하십시오.  | 

**상위 쿼리**  
대기 상태는 병목 현상을 보여주는 반면 상위 쿼리는 DB 로드에 가장 큰 기여를 하는 쿼리를 보여줍니다. 예를 들어 현재 데이터베이스에서 여러 쿼리가 실행 중이더라도 단일 쿼리가 DB 로드의 99%를 소비할 수 있습니다. 이 경우 로드가 높으면 쿼리에 문제가 있음을 나타낼 수 있습니다.

## 최대 vCPU
<a name="performance-insights-concepts-maxvcpu"></a>

대시보드에서 **데이터베이스 로드** 차트는 세션 정보를 수집, 집계 및 표시합니다. 활성 세션이 최대 CPU를 초과하는지 확인하려면 **최대 vCPU** 선과의 관계를 확인합니다. **최대 vCPU** 값은 Amazon DocumentDB 인스턴스의 vCPU(가상 CPU) 코어 수에 따라 결정됩니다.

DB 로드가 **최대 vCPU** 선을 상회하는 경우가 잦아지고 CPU가 기본 대기 상태라면 CPU에서 과부하가 발생한 것입니다. 이 경우 인스턴스에 대한 연결을 조절하거나 CPU 로드가 큰 쿼리를 조정하거나 더 큰 인스턴스 클래스를 고려할 수 있습니다. 대기 상태의 인스턴스가 높고 일관적이라는 것은 해결해야 할 병목 현상이나 리소스 경합 문제가 있을 수 있음을 나타냅니다. DB 로드가 **최대 vCPU** 선을 넘지 않는다 하더라도 이러한 문제가 나타날 수 있습니다.

# 성능 개선 도우미 활성화 및 비활성화
<a name="performance-insights-enabling"></a>

성능 개선 도우미를 사용하려면 DB 인스턴스에서 이 기능을 활성화합니다. 필요한 경우 나중에 이를 비활성화할 수 있습니다. 성능 개선 도우미를 활성화하거나 비활성화해도 가동 중지, 재부팅 또는 장애 조치가 발생하지 않습니다.

성능 개선 도우미 에이전트는 DB 호스트에서 제한된 CPU 및 메모리를 사용합니다. DB 로드가 높을 경우 에이전트는 데이터 수집 빈도를 줄여 성능에 미치는 영향을 제한합니다.

## 클러스터 생성 시 성능 개선 도우미 활성화
<a name="performance-insights-enabling-create-instance"></a>

콘솔에서 새 DB 인스턴스를 생성하거나 수정할 때 성능 개선 도우미를 활성화하거나 비활성화할 수 있습니다.

### 사용 AWS Management Console
<a name="create-instance-console"></a>

콘솔에서 Amazon DocumentDB 클러스터를 작성할 때 성능 개선 도우미를 활성화할 수 있습니다. 새 Amazon DocumentDB 클러스터를 작성할 때 **성능 개선 도우미** 섹션에서 **성능 개선 도우미 활성화**를 선택하여 성능 개선 도우미를 활성화합니다.

**콘솔 지침**

1. 클러스터를 만드는 방법에 대한 지침은 [Amazon DocumentDB 클러스터 생성](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-create.html)을 참조하세요.

1. 성능 개선 도우미 섹션에서 **성능 개선 도우미 활성화**를 선택합니다.  
![\[성능 개선 도우미 활성화를 선택한 성능 개선 도우미 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/select-performance-insights.png)
**참고**  
성능 개선 도우미 데이터 보존 기간은 7일입니다.

   ** AWS KMS 키** - AWS KMS 키를 지정합니다. 성능 개선 도우미는 AWS KMS 키를 사용하여 잠재적으로 민감한 모든 데이터를 암호화합니다. 데이터는 암호화된 상태로 전송 및 저장됩니다. 자세한 내용은 성능 개선 도우미에 대한 AWS AWS KMS 정책 구성을 참조하세요.

## 인스턴스 수정 시 활성화 및 비활성화
<a name="performance-insights-enabling-modify-instance"></a>

콘솔 또는 AWS CLI을 사용하여 성능 개선 도우미를 활성화하도록 DB 인스턴스를 수정할 수 있습니다.

------
#### [ Using the AWS Management Console ]

**콘솔 지침**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb) Amazon DocumentDB 콘솔을 엽니다.

1. **클러스터**를 선택하십시오.

1. DB 인스턴스를 선택하고 **수정**을 선택합니다.

1. 성능 개선 도우미 섹션에서 **성능 개선 도우미 활성화** 또는 **성능 개선 도우미 비활성화**를 선택합니다.
**참고**  
**성능 개선 도우미 활성화를** 선택하면 AWS AWS KMS 키를 지정할 수 있습니다. 성능 개선 도우미는 AWS KMS 키를 사용하여 잠재적으로 민감한 모든 데이터를 암호화합니다. 데이터는 암호화된 상태로 전송 및 저장됩니다. 자세한 내용은 [정지 상태의 Amazon DocumentDB Data 암호화](https://docs.aws.amazon.com/documentdb/latest/developerguide/encryption-at-rest.html)를 참조하십시오.

1. **Continue(계속)**를 선택합니다.

1. **수정 스케줄링**에 대해 **즉시 적용**을 선택합니다. **다음 예약된 유지 관리 기간 동안 적용**을 선택하면 인스턴스는 이 설정을 무시하고 즉시 성능 개선 도우미를 활성화합니다.

1. **Modify Instance(인스턴스 수정)**를 선택합니다.

------
#### [ Using the AWS CLI ]

`create-db-instance` 또는 `modify-db-instance` AWS AWS CLI 명령을 사용할 때를 지정하여 성능 개선 도우미를 활성화하거나 `--enable-performance-insights`를 지정하여 비활성화할 수 있습니다`--no-enable-performance-insights`.

다음 절차에서는 AWS AWS CLI를 사용하여 DB 인스턴스의 성능 개선 도우미를 활성화 또는 비활성화하는 방법을 설명합니다.



**AWS AWS CLI 지침**

`modify-db-instance` AWS AWS CLI 명령을 호출하고 다음 값을 제공합니다.
+ `--db-instance-identifer` — DB 인스턴스 이름.
+ 활성화하려면 `--enable-performance-insights` 또는 비활성화하려면 `--no-enable-performance-insights`

**Example**  
다음 예제에서는 `sample-db-instance`에 대한 성능 개선 도우미를 활성화합니다:  

```
aws docdb modify-db-instance \
    --db-instance-identifier sample-db-instance \
    --enable-performance-insights
```

```
aws docdb modify-db-instance ^
    --db-instance-identifier sample-db-instance ^
    --enable-performance-insights
```

------

# 성능 개선 도우미에 대한 액세스 정책 구성
<a name="performance-insights-policies"></a>

성능 개선 도우미에 액세스하려면 AWS Identity and Access Management (IAM)의 적절한 권한이 있어야 합니다. 액세스 권한 부여 옵션은 다음과 같습니다:
+ 권한 세트 또는 역할에 `AmazonRDSPerformanceInsightsReadOnly` 관리형 정책을 연결합니다.
+ 사용자 지정 IAM 정책을 생성하고 권한 세트 또는 역할에 연결합니다.

또한 성능 개선 도우미를 활성화할 때 고객 관리형 키를 지정한 경우 계정의 사용자에게 KMS 키에 대한 `kms:Decrypt` 및 `kms:GenerateDataKey` 권한이 있는지 확인합니다.

**참고**  
 AWS KMS 키 및 보안 그룹 관리를 통한 encryption-at-rest의 경우 Amazon DocumentDB는 [Amazon RDS](https://aws.amazon.com/rds)와 공유되는 운영 기술을 활용합니다.

## AmazonRDSPerformanceInsightsReadOnly 정책을 IAM 보안 주체에 연결
<a name="USER_PerfInsights.access-control.IAM-principal"></a>

`AmazonRDSPerformanceInsightsReadOnly`는 Amazon DocumentDB 성능 개선 도우미 API의 모든 읽기 전용 작업에 대한 액세스 권한을 부여하는 AWS관리형 정책입니다. 현재 이 API의 모든 작업은 읽기 전용입니다. `AmazonRDSPerformanceInsightsReadOnly`를 권한 세트 또는 역할에 연결하면 수신자는 성능 개선 도우미를 다른 콘솔 기능과 함께 사용할 수 있습니다.

## 성능 개선 도우미를 위한 사용자 지정 IAM 정책 만들기
<a name="USER_PerfInsights.access-control.custom-policy"></a>

`AmazonRDSPerformanceInsightsReadOnly` 정책이 없는 사용자의 경우, 사용자 관리형 IAM 정책을 생성 또는 수정하여 성능 개선 도우미에 대한 액세스 권한을 부여할 수 있습니다. 정책을 권한 세트 또는 역할에 연결할 때 수신자는 성능 개선 도우미을 사용할 수 있습니다.

**사용자 지정 정책을 생성하는 방법**

1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **Policies**를 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 생성** 페이지에서 JSON 탭을 선택합니다.

1. 다음 텍스트를 복사하여 붙여넣습니다. *us-east-1*을 AWS 리전 이름으로 바꾸고 *111122223333*을 고객 계정 번호로 바꿉니다.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "rds:DescribeDBInstances",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "rds:DescribeDBClusters",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:DescribeDimensionKeys",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetDimensionKeyDetails",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetResourceMetadata",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetResourceMetrics",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:ListAvailableResourceDimensions",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:ListAvailableResourceMetrics",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           }
       ]
   }
   ```

------

1. **정책 검토**를 선택합니다.

1. 정책의 이름과 설명(선택 사항)을 지정한 다음 **정책 검토**를 선택합니다.

이제 정책을 권한 세트 또는 역할에 연결할 수 있습니다. 다음 절차에서는 이 목적으로 사용할 수 있는 사용자가 이미 있다고 가정합니다.

**사용자에게 정책을 연결**

1. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창에서 **사용자**를 선택합니다.

1. 목록에서 기존 사용자를 선택합니다.
**중요**  
성능 개선 도우미을 사용하려면 사용자 정의 정책 외에 Amazon DocumentDB에 액세스할 수 있어야 합니다. 예를 들어 **AmazonDocDBReadOnlyAccess** 사전 정의 정책은 Amazon DocDB에 대한 읽기 전용 액세스를 제공합니다. 자세한 내용은 [정책을 사용한 액세스 권리](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.html#security_iam_access-manage)를 참조하세요.

1. **요약** 페이지에서 **권한 추가**를 선택합니다.

1. **기존 정책 직접 첨부**를 선택합니다. **검색**에 다음과 같이 정책 이름의 첫 문자 몇 개를 입력합니다.  
![\[정책 선택\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/pi-add-permissions.png)

1. 정책을 선택하고 **다음: 검토**를 선택합니다.

1. **권한 추가**를 선택합니다.

## 성능 개선 도우미에 대한 AWS KMS 정책 구성
<a name="USER_PerfInsights.access-control.cmk-policy"></a>

성능 개선 도우미는 AWS KMS key 를 사용하여 민감한 데이터를 암호화합니다. API 또는 콘솔을 통해 성능 개선 도우미를 활성화하면 다음 옵션이 있습니다:
+ 기본값을 선택합니다 AWS 관리형 키.

  Amazon DocumentDB는 새 DB 인스턴스에 AWS 관리형 키 를 사용합니다. Amazon DocumentDB는 AWS 계정에 AWS 관리형 키 대한를 생성합니다. AWS 계정에는 AWS 리전마다 Amazon DocumentDB에 AWS 관리형 키 대해 다른이 있습니다.
+ 고객 관리형 키를 선택합니다.

  고객 관리형 키를 지정하는 경우 성능 개선 도우미 API를 호출하는 계정의 사용자는 KMS 키에 대한 `kms:Decrypt` 및 `kms:GenerateDataKey` 권한이 필요합니다. IAM 정책을 통해 이러한 권한을 구성할 수 있습니다. 그러나 KMS 키 정책을 통해 이러한 권한을 관리하는 것이 좋습니다. 자세한 내용은 [AWS KMS에서 키 정책 사용](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)을 참조하세요.

**Example**  
다음 샘플 키 정책은 KMS 키 정책에 문을 추가하는 방법을 보여 줍니다. 이러한 문을 통해 성능 개선 도우미에 액세스할 수 있습니다. 사용 방법에 따라 몇 가지 제한을 변경할 AWS KMS수 있습니다. 정책에 문을 추가하기 전에 모든 문을 제거하세요.

# 성능 개선 도우미 대시보드를 사용한 지표 분석
<a name="performance-insights-analyzing"></a>

성능 개선 도우미 대시보드에는 성능 문제를 분석하여 해결할 수 있는 데이터베이스 성능 정보가 포함됩니다. 기본 대시보드 페이지에서 데이터베이스 로드 (DB load)에 대한 정보를 볼 수 있습니다. 대기 상태나 쿼리와 같은 차원별로 DB 로드를 "슬라이스"할 수 있습니다.

**Topics**
+ [성능 개선 도우미 대시보드 개요](performance-insights-dashboard-overview.md)
+ [성능 개선 도우미 대시보드 열기](performance-insights-dashboard-opening.md)
+ [대기 상태별 데이터베이스 로드 분석](performance-insights-analyzing-db-load.md)
+ [상위 쿼리 탭 개요](performance-insights-top-queries.md)
+ [데이터베이스 로드 차트에서 확대](performance-insights-zoom-db-load.md)

# 성능 개선 도우미 대시보드 개요
<a name="performance-insights-dashboard-overview"></a>

대시보드는 성능 개선 도우미와 상호 작용하는 가장 간편한 방법입니다. 다음 예제는 Amazon DocumentDB 인스턴스의 대시보드를 보여줍니다. 성능 개선 도우미 대시보드는 기본적으로 마지막 1시간 동안 수집된 데이터를 표시합니다.

![\[Amazon DocumentDB 인스턴스의 시간 경과에 따른 CPU 사용률 및 데이터베이스 로드를 보여주는 성능 개선 도우미 대시보드입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/overview-dashboard.png)


대시보드는 다음과 같은 부분으로 나뉩니다:

1. **카운터 지표** – 특정 성능 카운터 지표의 데이터를 보여줍니다.

1. **데이터베이스 로드** – **최대 vCPU** 선으로 표시된 바와 같이 DB 로드와 DB 인스턴스 용량을 비교하는 방식을 표시합니다.

1.  **상위 차원** – DB 로드에 기여하는 상위 차원을 보여줍니다. 이러한 차원에는 `waits`, `queries`, `hosts`, `databases`, 및 `applications`가 포함됩니다.

**Topics**
+ [카운터 지표 차트](#performance-insights-overview-metrics)
+ [데이터베이스 로드 차트](#performance-insights-overview-db-load-chart)
+ [상위 측정기준 테이블](#performance-insights-overview-top-dimensions)

## 카운터 지표 차트
<a name="performance-insights-overview-metrics"></a>

계수기 지표를 통해 성능 개선 도우미 대시보드에 최대 10개의 추가 그래프가 포함되도록 사용자 지정할 수 있습니다. 이 그래프는 수십 개의 운영 체제 지표를 보여줍니다. 이 정보와 데이터베이스 로드를 연관지으면 성능 문제를 식별하고 분석하는 데 도움이 됩니다.

**카운터 지표** 차트에는 성능 카운터의 데이터가 표시됩니다.

![\[시간 경과에 따른 CPU 사용률을 보여주는 카운터 지표 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/counter-metrics.png)


**지표 관리**를 선택하여 성능 카운터를 변경합니다. 다음 스크린샷과 같이 여러 **OS 메트릭**을 선택할 수 있습니다. 지표에 대한 세부 정보를 보려면 지표 이름 위에 마우스 포인터를 놓습니다.

![\[OS 지표 옵션이 포함된 성능 개선 도우미 대시보드 지표 선택 인터페이스입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/overview-os-metrics.png)


## 데이터베이스 로드 차트
<a name="performance-insights-overview-db-load-chart"></a>

**데이터베이스 로드** 차트는 **최대 vCPU** 선으로 표시된 바와 같이 데이터베이스 활동과 인스턴스 용량을 비교하는 방식을 표시합니다. 기본적으로 누적 꺾은선형 차트는 단위 시간당 평균 활성 세션으로 DB 로드를 나타냅니다. DB 로드는 대기 상태에 따라 슬라이스(그룹화)됩니다.

![\[시간 경과에 따른 평균 활성 세션과, 끝 부근에서 CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load.png)


**차원을 기준으로 분할된 DB 로드**  
지원되는 차원별로 그룹화된 활성 세션으로 로드를 표시하도록 선택할 수 있습니다. 다음 이미지는 Amazon DocumentDB 인스턴스의 치수를 보여줍니다.

![\[드롭다운 목록에 다양한 ‘조각 기준’ 옵션을 표시하여 데이터베이스 로드를 보여주는 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-sliced.png)


**차원 항목에 대한 DB 로드 세부 정보**  
차원 내의 DB 로드 항목에 대한 세부 정보를 보려면 항목 이름 위로 마우스를 가져갑니다. 다음 이미지는 쿼리문에 대한 세부 정보를 보여줍니다.

![\[항목 이름 위로 마우스를 가져가면 추가 세부 정보를 표시하여 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-details.png)


범례에서 선택한 기간의 항목에 대한 세부 정보를 보려면 해당 항목 위에 마우스 포인터를 놓습니다.

![\[막대 위로 마우스를 가져가면 추가 세부 정보를 표시하여 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/database-load-hover.png)


## 상위 측정기준 테이블
<a name="performance-insights-overview-top-dimensions"></a>

**상위 측정기준 테이블**은 DB 로드를 다른 차원으로 슬라이스합니다. 차원은 DB 로드의 다양한 특성에 대한 카테고리 또는 "슬라이스"입니다. 측정기준이 쿼리인 경우 **상위 쿼리(Top queries)**에서는 DB 로드에 가장 많이 기여하는 쿼리 문을 보여줍니다.

다음 차원 탭 중 하나를 선택합니다.

![\[상위 쿼리 2개가 표시되는 상위 쿼리 차원 탭입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-dimensions.png)


다음 표는 각 탭에 대한 간략한 설명을 제공합니다.


| 탭 | 설명 | 
| --- | --- | 
|  상위 대기  |   데이터베이스 백엔드가 대기 중인 이벤트  | 
|  상위 쿼리  |  현재 실행 중인 쿼리 문  | 
|  상위 호스트  |  연결된 클라이언트의 호스트 IP 및 포트  | 
|  상위 데이터베이스  |  클라이언트가 연결된 데이터베이스의 이름  | 
|  상위 애플리케이션  |  데이터베이스에 연결된 애플리케이션의 이름  | 

**상위 쿼리(Top queries)** 탭을 사용하여 쿼리를 분석하는 방법을 알아보려면 [상위 쿼리 탭 개요](performance-insights-top-queries.md) 섹션을 참조하세요.

# 성능 개선 도우미 대시보드 열기
<a name="performance-insights-dashboard-opening"></a>

**AWS 관리 콘솔에서 성능 개선 도우미 대시보드를 보려면 다음 단계를 사용합니다.**

1. [https://console.aws.amazon.com/docdb/](https://console.aws.amazon.com/docdb/home#performance-insights) 에서 성능 개선 도우미 콘솔을 엽니다.

1. DB 인스턴스를 선택합니다. Amazon DocumentDB 인스턴스에 대한 성능 개선 도우미 대시보드가 표시됩니다.

   성능 개선 도우미가 사용 가능한 Amazon DocumentDB 인스턴스의 경우, 인스턴스 목록에서 **세션** 항목을 선택하여 대시보드에 도달할 수도 있습니다. **현재 활동**에서 **세션** 항목은 지난 5분 동안 평균 활동 세션의 데이터베이스 로드를 보여 줍니다. 로드가 막대 모양으로 표시됩니다. 막대가 비어 있으면 DB 인스턴스가 유휴 상태임을 뜻합니다. 로드가 증가하면 막대가 파란색으로 채워집니다. 로드에서 인스턴스 클래스의 가상 CPU(vCPU) 수를 전달하면 막대가 빨간색으로 바뀌고 병목 가능성을 나타냅니다.  
![\[Amazon DocumentDB 리전 클러스터와, 각 클러스터 인스턴스의 CPU 및 현재 활동을 보여주는 클러스터 페이지입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-clusters.png)

1. (선택 사항) 오른쪽 상단의 버튼을 선택하여 다른 시간 간격을 선택합니다. 예를 들어 간격을 1시간으로 변경하려면 **1h**를 선택합니다.  
![\[5분에서 1주까지의 시간 간격 버튼입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-time.png)

   다음 스크린샷에서 DB 로드 간격은 1시간입니다.  
![\[평균 활성 세션에서 측정된 데이터베이스 로드를 보여주는 막대 그래프입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-db-load.png)

1. 데이터를 자동으로 새로 고치려면 **자동 새로 고침**을 활성화합니다.  
![\[자동 새로 고침 버튼이 활성화되어 시간 간격 버튼 옆에 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/opening-auto-refresh.png)

   성능 개선 도우미 대시보드는 새 데이터로 자동으로 고쳐집니다. 새로 고침 속도는 표시되는 데이터의 양에 따라 다릅니다: 
   + 5분은 5초마다 새로 고칩니다.
   + 1시간은 1분마다 새로 고칩니다.
   + 5시간은 1분마다 새로 고칩니다.
   + 24시간은 5분마다 새로 고칩니다.
   + 1주는 1시간마다 새로 고칩니다.

# 대기 상태별 데이터베이스 로드 분석
<a name="performance-insights-analyzing-db-load"></a>

**데이터베이스 로드(DB 로드)** 차트에 병목현상이 나타나면 어디에서 로드가 발생하는지 알 수 있습니다. 이렇게 하려면 **데이터베이스 로드** 차트 아래의 상위 로드 항목 테이블을 살펴보세요. 특정 항목(예: 쿼리 또는 응용프로그램)을 선택하여 해당 항목을 드릴다운하고 세부 정보를 확인합니다.

대기 및 상위 쿼리로 그룹화된 DB 로드는 일반적으로 성능 문제에 대한 가장 많은 통찰력을 제공합니다. 대기 상태를 기준으로 구분된 DB 로드는 데이터베이스의 리소스 또는 동시성 병목 현상 유무를 표시합니다. 이 경우, 상위 로드 항목 테이블의 **상위 쿼리** 탭에는 해당 로드를 구동하는 쿼리가 표시됩니다.

성능 문제를 진단하는 일반 워크플로우는 다음과 같습니다:

1. **데이터베이스 로드** 차트를 보면서 데이터베이스 로드가 **최대 CPU** 선을 상회하는지 확인합니다.

1. 상회하는 경우가 있으면 **데이터베이스 로드** 차트를 보면서 원인이 되는 대기 상태를 식별합니다.

1. 상위 로드 항목 테이블의 **상위 쿼리** 탭이 해당 대기 상태에 가장 크게 기여하는 쿼리를 확인하여 로드를 유발하는 다이제스트 쿼리를 식별합니다. 이러한 내용들을 **대기별 로드(AAS)** 열로 식별할 수 있습니다.

1. **상위 쿼리** 탭에서 이러한 다이제스트 쿼리 중 하나를 선택하여 해당 쿼리를 확장하고 해당 쿼리가 구성된 하위 쿼리를 확인합니다.

또한 **상위 호스트** 또는 **상위 애플리케이션**을 각각 선택하면 어떤 호스트나 애플리케이션이 가장 많은 로드를 주고 있는지 확인할 수 있습니다. 애플리케이션 이름은 Amazon DocumentDB 인스턴스에 대한 연결 문자열에 지정되어 있습니다. `Unknown`은 애플리케이션 필드가 지정되지 않았음을 나타냅니다.

예를 들어 다음 대시보드에서 **CPU** 대기 시간은 대부분의 DB 로드를 차지합니다. **상위 쿼리**에서 상위 쿼리를 선택하면 데이터베이스 로드 차트의 범위가 선택 쿼리로 인해 발생한 가장 많은 로드를 집중적으로 표시합니다.

![\[CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다. 해당 상위 쿼리 탭에는 대기 상태에 가장 많이 기여하는 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/db-load-1.png)


![\[대기 상태에 가장 많이 기여하는 쿼리의 CPU 사용량 스파이크를 보여주는 데이터베이스 로드 차트입니다. 해당하는 상위 쿼리 탭에는 해당 쿼리의 하위 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/db-load-2.png)


# 상위 쿼리 탭 개요
<a name="performance-insights-top-queries"></a>

기본적으로 **상위 쿼리** 탭에는 DB 로드에 가장 큰 기여를 하는 쿼리가 표시됩니다. 쿼리 텍스트를 분석하여 쿼리를 조정하는 데 도움이 될 수 있습니다.

**Topics**
+ [쿼리 다이제스트](#performance-insights-top-queries-digests)
+ [대기별 로드(AAS)](#performance-insights-top-queries-aas)
+ [자세한 쿼리 정보 보기](#performance-insights-top-queries-query-info)
+ [명령문 쿼리 텍스트에 액세스](#performance-insights-top-queries-accessing-text)
+ [명령문 쿼리 텍스트 보기 및 다운로드](#performance-insights-top-queries-viewing-downloading)

## 쿼리 다이제스트
<a name="performance-insights-top-queries-digests"></a>

*쿼리 다이제스트*는 구조적으로 유사하지만 다른 리터럴 값을 가질 수 있는 여러 실제 쿼리의 합성입니다. 다이제스트는 하드 코딩된 값을 물음표로 바꿉니다. 예를 들어 쿼리 다이제스트는 다음과 같습니다:

```
{"find":"customerscollection","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}
```

이 다이제스트에는 다음 하위 쿼리가 포함될 수 있습니다:

```
{"find":"customerscollection","filter":{"FirstName":"Karrie"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Met"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Rashin"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
```

요약에서 문자 그대로의 쿼리 문을 보려면 쿼리를 선택한 다음 더하기 기호(`+`)를 선택합니다. 다음 스크린샷에서 선택한 쿼리는 다이제스트입니다.

![\[하위 쿼리가 하나 선택된 확장된 쿼리 다이제스트를 보여주는 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-literal.png)


**참고**  
쿼리 요약은 유사한 쿼리 문을 그룹화하지만 중요한 정보는 수정하지 않습니다.

## 대기별 로드(AAS)
<a name="performance-insights-top-queries-aas"></a>

**상위 쿼리**에서 **대기별 로드(AAS)** 열은 각 상위 로드 항목과 관련된 데이터베이스 로드의 백분율을 나타냅니다. 이 열에는 현재 **DB 로드 차트**에서 어떤 그룹화 기준을 선택하든 그 기준에 따라 해당 항목의 로드가 반영됩니다. 예를 들어 **DB 로드차트**를 대기 상태별로 그룹화할 수 있습니다. 이 경우 **대기별 DB 로드** 막대는 쿼리가 영향을 미치는 대기 상태의 정도를 크기, 세그먼트 및 컬러 코드로 표시합니다. 또한 선택한 쿼리에 영향을 미치는 대기 상태를 표시합니다.

![\[CPU, IO 및 래치 대기 상태별로 그룹화된 데이터베이스 로드를 보여주는 막대 차트입니다. 해당 테이블에는 대기별 로드에 따른 상위 쿼리가 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-aas.png)


## 자세한 쿼리 정보 보기
<a name="performance-insights-top-queries-query-info"></a>

**상위 쿼리** 표에서, *다이제스트 문*을 열어 해당 정보를 볼 수 있습니다. 맨 아래 창에 정보가 나타납니다.

![\[선택한 쿼리 문과 해당 쿼리 정보를 아래에 보여주는 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-detailed.png)


다음과 같은 식별자(ID) 유형은 쿼리 문과 연결되어 있습니다.

1. **쿼리 ID 지원** – 쿼리 ID의 해시 값입니다. 이 값은 AWS Support로 작업할 때 쿼리 ID를 참조하는 용도로만 사용됩니다. AWS Support는 실제 쿼리 IDs 및 쿼리 텍스트에 액세스할 수 없습니다.

1. **다이제스트 ID 지원** – 다이제스트 ID의 해시 값입니다. 이 값은 AWS Support로 작업할 때 다이제스트 ID를 참조하는 용도로만 사용됩니다. AWS Support는 실제 다이제스트 IDs 및 쿼리 텍스트에 액세스할 수 없습니다.

## 명령문 쿼리 텍스트에 액세스
<a name="performance-insights-top-queries-accessing-text"></a>

기본적으로 **상위 쿼리** 테이블의 각 행은 각 쿼리문에 대해 500바이트의 쿼리 텍스트를 보여줍니다. 다이제스트 문이 500바이트 이상인 경우 성능 개선 도우미 대시보드에서 해당 문을 열어 더 많은 텍스트를 볼 수 있습니다. 이 경우 표시되는 쿼리의 최대 길이는 1KB입니다. 하위 SQL 문을 보는 경우 **다운로드**를 선택할 수도 있습니다.

## 명령문 쿼리 텍스트 보기 및 다운로드
<a name="performance-insights-top-queries-viewing-downloading"></a>

성능 개선 도우미 대시보드에서 쿼리 텍스트를 보거나 다운로드할 수 있습니다.

**성능 개선 도우미 대시보드에서 더 많은 쿼리 텍스트를 보려면 다음과 같이 하십시오**

1. [https://console.aws.amazon.com/docdb/](https://console.aws.amazon.com/docdb/) 에서 Amazon DocumentDB 콘솔을 엽니다.

1. 탐색 창에서 **성능 개선 도우미**을 선택합니다.

1. DB 인스턴스를 선택합니다. 선택한 DB 인스턴스에 대한 성능 개선 도우미 대시보드가 표시됩니다.

   500바이트 이상의 텍스트가 있는 SQL 문은 다음 이미지와 유사합니다:  
![\[하위 쿼리가 선택된 상위 쿼리 테이블입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-statement.png)

1. 쿼리 정보 섹션을 조사하여 쿼리 텍스트를 더 확인합니다.  
![\[선택한 쿼리의 전체 텍스트를 보여주는 쿼리 정보 섹션입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/top-queries-query-text.png)

성능 개선 도우미 대시보드는 전체 쿼리문마다 최대 1KB까지 표시할 수 있습니다.

**참고**  
쿼리문을 복사하거나 다운로드하려면 팝업 차단을 비활성화합니다.

# 데이터베이스 로드 차트에서 확대
<a name="performance-insights-zoom-db-load"></a>

성능 개선 도우미 사용자 인터페이스의 다른 특성을 사용해 성능 데이터를 분석할 수 있습니다.

**클릭하여 끌어 확대**  
성능 개선 도우미 인터페이스에서 로드 차트의 작은 부분을 선택하여 확대해 자세히 볼 수 있습니다.

![\[확대를 위해 일부를 강조 표시하여 데이터베이스 로드를 보여주는 막대 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/pi-zoom-1.png)


로드 차트의 한 부분을 확대하려면 시작 시간을 선택하고 원하는 기간 끝까지 끕니다. 이렇게 하면 선택한 영역이 강조 표시됩니다. 마우스를 놓으면 로드 차트가 선택한 영역을 확대하고 **상위 *항목*** 테이블이 다시 계산됩니다.

![\[확대된 부분과 더불어 해당하는 상위 대기 테이블을 아래에 보여주는 데이터베이스 로드 막대 차트입니다.\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/pi-zoom-2.png)


# 성능 개선 도우미 API를 사용하여 지표 검색
<a name="performance-insights-metrics"></a>

성능 개선 도우미를 활성화하면 API에서 인스턴스 성능에 대한 가시성을 제공합니다. Amazon CloudWatch Logs는 AWS 서비스에 대한 판매 모니터링 지표를 위한 신뢰할 수 있는 소스를 제공합니다.

성능 개선 도우미는 평균 활성 세션(AAS) 수로 측정되는 데이터베이스 로드에 대한 도메인 별 보기를 제공합니다. 이 지표는 API 소비자에게 2차원 시계열 데이터 세트로 표시됩니다. 데이터의 시간 차원은 쿼리된 시간 범위 내 각 시점에 대한 DB 로드 데이터를 제공합니다. 각 시점에서는 요청된 차원에 관해 해당 시점에서 측정되는 전체 로드를 분해합니다(예: `Query`, `Wait-state`, `Application` 또는 `Host`).

Amazon DocumentDB 성능 개선 도우미는 데이터베이스 성능을 분석하고 문제를 해결할 수 있도록 Amazon DocumentDB 인스턴스를 모니터링합니다. 성능 개선 도우미 데이터를 볼 수 있는 한 가지 방법은 AWS Management Console에서 보는 것입니다. 또한 성능 개선 도우미는 사용자가 자신의 데이터를 쿼리할 수 있도록 퍼블릭 API도 제공합니다. API를 사용하여 다음을 수행할 수 있습니다:
+ 데이터를 데이터베이스로 오프로드
+ 기존 모니터링 대시보드에 성능 개선 도우미 데이터 추가
+ 모니터링 도구 구축

성능 개선 도우미 API를 사용하려면 Amazon DocumentDB 인스턴스 중 하나에서 성능 개선 도우미를 활성화합니다. 성능 개선 도우미 활성화에 대한 자세한 내용은 [성능 개선 도우미 활성화 및 비활성화](performance-insights-enabling.md)(을)를 참조하십시오. 성능 개선 도우미 API에 대한 자세한 내용은 [ 성능 개선 도우미 API 참조](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html)를 참조하십시오.

성능 개선 도우미 API에서는 다음과 같은 작업을 제공합니다.


****  

|  성능 개선 도우미 작업  |  AWS CLI 명령  |  설명  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html](https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html)  |  특정 기간에 대해 지표의 상위 N개 차원 키를 검색합니다.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html)  |  DB 인스턴스 또는 데이터 소스에 지정된 차원 그룹의 속성을 검색합니다. 예를 들어 쿼리 ID를 지정하고 차원 세부 정보를 사용할 수 있는 경우 `GetDimensionKeyDetails`는 이 ID에 연결된 차원 `db.query.statement`의 전체 텍스트를 검색합니다. `GetResourceMetrics` 및 `DescribeDimensionKeys`는 대용량 쿼리 문 텍스트 검색을 지원하지 않으므로 이 작업을 유용하게 사용할 수 있습니다.  | 
| [GetResourceMetadata](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetadata.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html)  |  다양한 기능에 대한 특성을 검색합니다. 예를 들어 메타데이터는 특정 DB 인스턴스에서 특성이 켜지거나 꺼짐을 나타낼 수 있습니다.  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)  |  일정 기간의 데이터 소스 집합에 대한 성능 개선 도우미 지표를 검색합니다. 특정 차원 그룹 및 차원을 제공하고 각 그룹에 집계 및 필터링 기준을 제공할 수 있습니다.  | 
| [ListAvailableResourceDimensions](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceDimensions.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html)  |  지정된 인스턴스에서 지정된 각 지표 유형에 대해 쿼리할 수 있는 차원을 검색합니다.  | 
| [ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html)  |  지정된 DB 인스턴스에 대해 쿼리할 수 있는 지정된 지표 유형의 사용 가능한 모든 지표를 검색합니다.  | 

**Topics**
+ [AWS CLI 성능 개선 도우미용](#performance-insights-metrics-CLI)
+ [시계열 지표 조회](#performance-insights-metrics-time-series)
+ [AWS CLI 성능 개선 도우미 예제](#performance-insights-metrics-api-examples)

## AWS CLI 성능 개선 도우미용
<a name="performance-insights-metrics-CLI"></a>

 AWS CLI를 사용해 성능 개선 도우미 데이터를 볼 수 있습니다. 명령줄에 다음과 같이 입력하여 성능 개선 도우미용 AWS CLI 명령에 대한 도움말을 볼 수 있습니다.

```
aws pi help
```

가 AWS CLI 설치되어 있지 않은 경우 [설치에 대한 자세한 내용은 사용 설명서의 AWS 명령줄 인터페이스](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) 설치를 참조하세요. *AWS CLI * 

## 시계열 지표 조회
<a name="performance-insights-metrics-time-series"></a>

`GetResourceMetrics` 연산은 성능 개선 도우미 데이터에서 시계열 지표를 하나 이상 조회합니다. `GetResourceMetrics`에는 지표 및 기간이 필요하고 데이터 포이트 목록이 포함된 응답을 반환합니다.

예를 들어는 다음 이미지와 같이를 AWS Management Console `GetResourceMetrics` 사용하여 카운터 지표 차트와 **데이터베이스 로드** 차트를 채웁니다. **** 

![\[카운터 지표 및 데이터베이스 로드 차트\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/perf-insights-api-charts.png)


`GetResourceMetrics`에서 반환하는 지표는 `db.load`를 제외하고 모두 표준 시계열 지표입니다. 이 지표는 **Database Load(데이터베이스 로드)** 차트에 표시됩니다. `db.load` 지표는 *차원*이라는 하위 구성 요소로 구분할 수 있다는 점에서 다른 시계열 지표와 다릅니다. 앞의 이미지에서 `db.load`는 `db.load`를 구성하는 대기 상태에 따라 구분되고 그룹화됩니다.

**참고**  
`GetResourceMetrics`에서는 `db.sampleload`도 반환할 수 있지만 `db.load` 지표는 대부분의 경우 적절합니다.

`GetResourceMetrics`에서 반환하는 카운터 지표에 대한 자세한 내용은 [카운터 지표에 대한 성능 개선 도우미](performance-insights-counter-metrics.md)를 참조하십시오.

지표에 대해서는 다음 계산이 지원됩니다:
+ 평균 – 일정 기간 동안 지표의 평균 값입니다. `.avg`를 지표 이름에 추가합니다.
+ 최소 – 일정 기간 동안 지표의 최소 값입니다. `.min`를 지표 이름에 추가합니다.
+ 최대 – 일정 기간 동안 지표의 최대 값입니다. `.max`를 지표 이름에 추가합니다.
+ 합계 – 일정 기간 동안 지표 값의 합계입니다. `.sum`를 지표 이름에 추가합니다.
+ 샘플 수 – 일정 기간 동안 지표가 수집된 횟수입니다. `.sample_count`를 지표 이름에 추가합니다.

예를 들어 지표를 300초 (5분) 동안 분당 1회씩 수집한다고 가정합시다. 각 분의 값은 1, 2, 3, 4, 5입니다. 이 경우 다음과 같은 계산 결과가 반환됩니다:
+ 평균 – 3
+ 최소 – 1
+ 최대 – 5
+ 합계 – 15
+ 샘플 수 – 5

`get-resource-metrics` AWS CLI 명령 사용에 대한 자세한 내용은 섹션을 참조하세요[https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html).

`--metric-queries` 옵션의 경우 결과를 얻고자 하는 쿼리를 한 개 이상 지정하십시오. 각 쿼리는 필수인 `Metric`과 선택 사항인 `GroupBy` 및 `Filter` 파라미터로 구성됩니다. 다음은 `--metric-queries` 옵션 사양을 보여주는 예입니다.

```
{
   "Metric": "string",
   "GroupBy": {
     "Group": "string",
     "Dimensions": ["string", ...],
     "Limit": integer
   },
   "Filter": {"string": "string"
     ...}
```

## AWS CLI 성능 개선 도우미 예제
<a name="performance-insights-metrics-api-examples"></a>

다음 예제에서는 성능 개선 도우미에 AWS CLI 를 사용하는 방법을 보여줍니다.

**Topics**
+ [카운터 지표 검색](#performance-insights-metrics-api-examples.CounterMetrics)
+ [상위 대기 상태에 대한 DB 로드 평균 검색](#performance-insights-metrics-api-examples.DBLoadAverage)
+ [상위 쿼리에 대한 DB 평균 로드 검색](#performance-insights-metrics-api-examples.topquery)
+ [쿼리로 필터링된 DB 로드 평균 검색](#performance-insights-metrics-api-examples.DBLoadAverageByQuery)

### 카운터 지표 검색
<a name="performance-insights-metrics-api-examples.CounterMetrics"></a>

다음 스크린샷은 AWS Management Console에 표시되는 카운터 지표 차트 2개를 나타낸 것입니다.

![\[카운터 지표 차트\]](http://docs.aws.amazon.com/ko_kr/documentdb/latest/developerguide/images/performance-insights/perf-insights-api-counters-charts.png)


다음 예에서는 카운터 지표 차트 2개를 생성하기 위해 AWS Management Console 이 사용하는 것과 동일한 데이터를 수집하는 방법을 보여줍니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Windows의 경우:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

`--metrics-query` 옵션에 대해 파일을 지정하면 명령이 더 쉽게 읽히도록 할 수 있습니다. 다음 예에서는 옵션에 대해 query.json이라는 파일을 사용합니다. 이 파일의 콘텐츠는 다음과 같습니다.

```
[
    {
        "Metric": "os.cpuUtilization.user.avg"
    },
    {
        "Metric": "os.cpuUtilization.idle.avg"
    }
]
```

다음 명령을 실행하여 파일을 사용합니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Windows의 경우:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

앞의 예에서는 옵션에 다음 값을 지정합니다:
+ `--service-type` – Amazon DocumentDB 용 `DOCDB`
+ `--identifier` – DB 인스턴스에 대한 리소스 ID입니다
+ `--start-time` 및 `--end-time` – 쿼리할 기간에 대한 ISO 8601 `DateTime` 값으로서, 지원되는 형식은 여러 가지입니다

다음과 같이 1시간 범위로 쿼리합니다:
+ `--period-in-seconds` – 1분당 쿼리에 대한 `60`
+ `--metric-queries` – 쿼리 2개의 배열, 각 쿼리는 지표 1개에만 해당됨.

  지표 이름에는 지표를 유용한 범주로 분류하기 위해 점이 사용되고, 마지막 요소는 함수입니다. 예시에서 함수는 각 쿼리에 대해 `avg`입니다. Amazon CloudWatch와 마찬가지로 지원되는 함수는 `min`, `max`, `total` 및 `avg`입니다.

응답은 다음과 비슷합니다.

```
{
    "AlignedStartTime": "2022-03-13T08:00:00+00:00",
    "AlignedEndTime": "2022-03-13T09:00:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {
            "Key": {
                "Metric": "os.cpuUtilization.user.avg"
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-03-13T08:01:00+00:00", //Minute1
                    "Value": 3.6
                },
                {
                    "Timestamp": "2022-03-13T08:02:00+00:00", //Minute2
                    "Value": 2.6
                },
                //.... 60 datapoints for the os.cpuUtilization.user.avg metric
        {
            "Key": {
                "Metric": "os.cpuUtilization.idle.avg"
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-03-13T08:01:00+00:00",
                    "Value": 92.7
                },
                {
                    "Timestamp": "2022-03-13T08:02:00+00:00",
                    "Value": 93.7
                },
                //.... 60 datapoints for the os.cpuUtilization.user.avg metric 
            ]
        }
    ] //end of MetricList
} //end of response
```

응답에는 `Identifier`, `AlignedStartTime` 및 `AlignedEndTime`이 있습니다. `--period-in-seconds` 값이 `60`인 경우 시작 및 종료 시간은 분 단위로 맞춰져 있습니다. `--period-in-seconds` 값이 `3600`인 경우 시작 및 종료 시간은 시간 단위로 맞춰져 있습니다.

응답의 `MetricList`에는 다수의 항목이 있는데, 각각 `Key` 및 `DataPoints` 항목이 포함되어 있습니다. 각 `DataPoint`에는 `Timestamp` 및 `Value`이 있습니다. 쿼리는 1시간에 걸친 분당 데이터에 대한 것이므로 각 `Datapoints` 목록에는 `Timestamp1/Minute1`, `Timestamp2/Minute2` 등에서 최대 `Timestamp60/Minute60`까지 60개의 데이터 포인트가 있습니다.

쿼리는 두 가지 카운터 지표에 대한 것이므로 `MetricList` 응답에는 두 개의 요소가 있습니다.

### 상위 대기 상태에 대한 DB 로드 평균 검색
<a name="performance-insights-metrics-api-examples.DBLoadAverage"></a>

다음 예제는가 누적 영역 선 그래프를 생성하는 데 AWS Management Console 사용하는 것과 동일한 쿼리입니다. 이 예제에서는 로드를 상위 7개 대기 상태에 따라 나눈 마지막 시간 동안 `db.load.avg`을 검색합니다. 명령은 [카운터 지표 검색](#performance-insights-metrics-api-examples.CounterMetrics)의 명령과 동일합니다. 그러나 query.json 파일의 컨텐츠는 다음과 같습니다.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_state", "Limit": 7 }
    }
]
```

다음 명령을 실행합니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Windows의 경우:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

예제에서는 상위 7개 대기 상태 중 `db.load.avg`과 `GroupBy`의 메트릭을 지정합니다. 이 예의 유효 값에 대한 자세한 내용은 *성능 개선 도우미 API 참조*의 [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)을 참조하십시오.

응답은 다음과 비슷합니다.

```
{
    "AlignedStartTime": "2022-04-04T06:00:00+00:00",
    "AlignedEndTime": "2022-04-04T06:15:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {//A list of key/datapoints
            "Key": {
                //A Metric with no dimensions. This is the total db.load.avg
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1
                    "Value": 0.0
                },
                {
                    "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2
                    "Value": 0.0
                },
                //... 60 datapoints for the total db.load.avg key
                ]
        },
        {
            "Key": {
                //Another key. This is db.load.avg broken down by CPU
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.wait_state.name": "CPU"
                }
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1
                    "Value": 0.0
                },
                {
                    "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2
                    "Value": 0.0
                },
                //... 60 datapoints for the CPU key
            ]
        },//... In total we have 3 key/datapoints entries, 1) total, 2-3) Top Wait States
    ] //end of MetricList
} //end of response
```

이 응답에는 `MetricList`에 항목이 3개 있습니다. 총 `db.load.avg`에 대해 하나의 엔트리가 있으며, 상위 3개 대기 상태 중 하나에 따라 나누어진 `db.load.avg`에 대해 각각 3개의 엔트리가 있습니다. 그룹화 차원이 있었기 때문에(첫 번째 예제와 달리) 메트릭의 각 그룹화에는 하나의 키가 있어야 합니다. 기본 카운터 지표 사용 사례처럼 각 지표에 키가 한 개만 있을 수는 없습니다.

### 상위 쿼리에 대한 DB 평균 로드 검색
<a name="performance-insights-metrics-api-examples.topquery"></a>

다음 예에서는 상위 10개 쿼리 문을 기준으로 `db.wait_state`를 그룹화합니다. SQL 문에는 두 가지 그룹이 있습니다:
+ `db.query` – `{"find":"customers","filter":{"FirstName":"Jesse"},"sort":{"key":{"$numberInt":"1"}}}`와 같은 전체 쿼리문
+ `db.query_tokenized` – `{"find":"customers","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}`와 같은 토큰화된 쿼리문

데이터베이스 성능을 분석할 때는 파라미터에 의해서만 다른 쿼리문을 하나의 논리 항목으로 고려하는 것이 유용할 수 있습니다. 따라서 쿼리 시에는 `db.query_tokenized`를 사용할 수 있습니다. 그러나 특히 `explain()`에 관심이 있는 경우에는 때때로 파라미터가 있는 전체 쿼리 문을 검토하는 것이 더 유용합니다. 토큰화된 쿼리와 전체 쿼리 사이에는 부모-자녀 관계가 있으며, 여러 전체 쿼리(자녀)가 동일한 토큰화된 쿼리(부모) 아래에 그룹화됩니다.

이 예의 명령은 [상위 대기 상태에 대한 DB 로드 평균 검색](#performance-insights-metrics-api-examples.DBLoadAverage)의 명령과 유사합니다. 그러나 query.json 파일의 컨텐츠는 다음과 같습니다.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.query_tokenized", "Limit": 10 }
    }
]
```

다음 예에는 `db.query_tokenized`가 사용됩니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 3600 \
   --metric-queries file://query.json
```

Windows의 경우:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z  ^
   --period-in-seconds 3600 ^
   --metric-queries file://query.json
```

이 예에서는 1시간 동안 쿼리를 실행하는데 1분은 초 단위로 구성됩니다.

예제에서는 상위 7개 대기 상태 중 `db.load.avg`과 `GroupBy`의 메트릭을 지정합니다. 이 예의 유효 값에 대한 자세한 내용은 *성능 개선 도우미 API 참조*의 [DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)을 참조하십시오.

응답은 다음과 비슷합니다.

```
{
    "AlignedStartTime": "2022-04-04T06:00:00+00:00",
    "AlignedEndTime": "2022-04-04T06:15:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {//A list of key/datapoints
            "Key": {
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //... 60 datapoints for the total db.load.avg key
                ]
        },
               {
            "Key": {//Next key are the top tokenized queries
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.query_tokenized.db_id": "pi-1064184600",
                    "db.query_tokenized.id": "77DE8364594EXAMPLE",
                    "db.query_tokenized.statement": "{\"find\":\"customers\",\"filter\":{\"FirstName\":\"?\"},\"sort\":{\"key\":{\"$numberInt\":\"?\"}},\"limit\"
:{\"$numberInt\":\"?\"},\"$db\":\"myDB\",\"$readPreference\":{\"mode\":\"primary\"}}"
                }
            },
            "DataPoints": [
            //... 60 datapoints 
            ]
        },
        // In total 11 entries, 10 Keys of top tokenized queries, 1 total key 
    ] //End of MetricList
} //End of response
```

이 응답은 `MetricList`에 11개의 항목이 있는데 (전체 1개, 최상위 토큰화 SQL 10개) 각 항목에는 시간당 `DataPoints`가 24개입니다.

토큰화된 커리의 경우 각 차원 목록에 3개의 항목이 있습니다:
+ `db.query_tokenized.statement` – 토큰화된 쿼리문.
+ `db.query_tokenized.db_id `— 성능 개선 도우미에서 자동으로 생성하는 합성 ID입니다. 이 예에서는 `pi-1064184600` 합성 ID를 반환합니다.
+ `db.query_tokenized.id` – 성능 개선 도우미 내부의 쿼리에 대한 ID입니다.

  에서는 AWS Management Console이 ID를 지원 ID라고 합니다. ID는 AWS Support에서 데이터베이스 관련 문제를 해결하는 데 도움이 되도록 검사할 수 있는 데이터이기 때문에이 이름이 지정됩니다.는 데이터의 보안 및 개인 정보를 매우 중요하게 AWS 여기며 거의 모든 데이터는 로 암호화되어 저장됩니다 AWS KMS key. 따라서 내부 사람은이 데이터를 볼 AWS 수 없습니다. 앞의 예에서 `tokenized.statement`와 `tokenized.db_id` 모두 암호화되어 저장됩니다. 데이터베이스에 문제가 있는 경우 AWS 지원 ID를 참조하여 지원을 받을 수 있습니다.

쿼리 시 `Group`에서 `GroupBy`을 지정하면 편리할 수 있습니다. 그러나 반환되는 데이터에 대한 더 세분화된 제어를 위해서는 차원 목록을 지정하십시오. 예를 들어 `db.query_tokenized.statement`만 필요한 경우에는 query.json file에 `Dimensions` 속성을 추가할 수 있습니다.

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": {
            "Group": "db.query_tokenized",
            "Dimensions":["db.query_tokenized.statement"],
            "Limit": 10
        }
    }
]
```

### 쿼리로 필터링된 DB 로드 평균 검색
<a name="performance-insights-metrics-api-examples.DBLoadAverageByQuery"></a>

이 예에서 해당되는 API 쿼리는 [상위 쿼리에 대한 DB 평균 로드 검색](#performance-insights-metrics-api-examples.topquery)의 명령과 유사합니다. 그러나 query.json 파일의 컨텐츠는 다음과 같습니다.

```
[
 {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_state", "Limit": 5  }, 
        "Filter": { "db.query_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
    }
]
```

이 응답에서는 query.json 파일에 지정된 토큰화된 쿼리 AKIAIOSFODNN7EXAMPLE의 기여도에 따라 모든 값이 필터링됩니다. 키는 필터링된 쿼리에 영향을 준 상위 5개 대기 상태이기 때문에 필터가 없는 쿼리와 다른 순서를 따를 수도 있습니다.

# 성능 개선 도우미를 위한 Amazon CloudWatch 지표
<a name="performance-insights-cloudwatch"></a>

성능 개선 도우미는 Amazon CloudWatch에 지표를 자동으로 게시합니다. 동일한 데이터는 성능 개선 도우미에서 쿼리할 수 있지만 CloudWatch에 지표가 있으면 CloudWatch 경보를 더 쉽게 추가할 수 있습니다. 또한 기존 CloudWatch 대시보드에 지표를 더 쉽게 추가할 수 있습니다.


| 측정치 | 설명 | 
| --- | --- | 
|  DBLoad  |  Amazon DocumentDB의 활성 세션 수입니다. 일반적으로 사용자는 활성 세션의 평균 개수에 대한 데이터를 원합니다. 성능 개선 도우미에서 이 데이터는 `db.load.avg`로 쿼리됩니다.  | 
|  DBLoadCPU  |  대기 상태 유형이 CPU인 활성 세션 수입니다. 성능 개선 도우미에서 이 데이터는 `db.load.avg`로 쿼리되며 대기 상태 유형인 `CPU`를 기준으로 필터링됩니다.  | 
|  DBLoadNonCPU  |  대기 상태 유형이 CPU가 아닌 활성 세션 수입니다.  | 

**참고**  
이러한 메트릭은 DB 인스턴스에 로드가 있는 경우에만 CloudWatch에 게시됩니다.

CloudWatch 콘솔 AWS CLI, 또는 CloudWatch API를 사용하여 이러한 지표를 검사할 수 있습니다.

예를 들어, [get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) 명령을 실행하여 `DBLoad` 지표에 대한 통계를 가져올 수 있습니다.

```
aws cloudwatch get-metric-statistics \
    --region ap-south-1 \
    --namespace AWS/DocDB \
    --metric-name DBLoad  \
    --period 360 \
    --statistics Average \
    --start-time 2022-03-14T8:00:00Z \
    --end-time 2022-03-14T9:00:00Z \
    --dimensions Name=DBInstanceIdentifier,Value=documentdbinstance
```

이 예에서는 다음과 비슷한 출력이 생성됩니다.

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-03-14T08:42:00Z", 
            "Average": 1.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:24:00Z", 
            "Average": 2.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:54:00Z", 
            "Average": 6.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:36:00Z", 
            "Average": 5.7, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:06:00Z", 
            "Average": 4.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:00:00Z", 
            "Average": 5.2, 
            "Unit": "None"
        }
    ], 
    "Label": "DBLoad"
}
```

CloudWatch 콘솔에서 `DB_PERF_INSIGHTS` 메트릭 산술 함수를 사용하여 Amazon DocumentDB 성능 개선 도우미 카운터 메트릭을 쿼리할 수 있습니다. `DB_PERF_INSIGHTS` 함수에는 분 단위로 `DBLoad` 메트릭도 포함됩니다. 이러한 지표에 대해 CloudWatch 경보를 설정할 수 있습니다. 경보를 생성하는 방법에 대한 자세한 내용은 [AWS 데이터베이스에서 성능 개선 도우미 카운터 지표에 대한 경보 생성을 참조하세요](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_alarm_database_performance_insights.html).

CloudWatch에 대한 자세한 내용은 *Amazon CloudWatch 사용 설명서*의 [Amazon CloudWatch란 무엇입니까?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)를 참조하세요.

# 카운터 지표에 대한 성능 개선 도우미
<a name="performance-insights-counter-metrics"></a>

카운터 메트릭은 성능 개선 도우미 대시보드의 운영 체제 메트릭입니다. 이 정보와 데이터베이스 로드를 연관 지으면 성능 문제를 식별하고 분석하는 데 도움이 됩니다.

## 성능 개선 도우미 운영 체제 카운터
<a name="performance-insights-counter-metrics-counters"></a>

Amazon DocumentDB 성능 개선 도우미와 함께 사용할 수 있는 운영 체제 카운터는 다음과 같습니다.


| 카운터 | 유형 | 측정치 | 
| --- | --- | --- | 
| 활성화 | 메모리 | os.memory.active | 
| 버퍼 | 메모리 | os.memory.buffers | 
| 캐시됨 | 메모리 | os.memory.cached | 
| 더티 | 메모리 | os.memory.dirty | 
| 사용 가능 | 메모리 | os.memory.free | 
| 비활성 | 메모리 | os.memory.inactive | 
| 매핑됨 | 메모리 | os.memory.mapped | 
| pageTables | 메모리 | os.memory.pageTables | 
| 슬래브 | 메모리 | os.memory.slab | 
| 총합 | 메모리 | os.memory.total | 
| writeback | 메모리 | os.memory.writeback | 
| 유휴 | cpuUtilization | os.cpuUtilization.idle | 
| 시스템 | cpuUtilization | os.cpuUtilization.system | 
| 총합 | cpuUtilization | os.cpuUtilization.total | 
| 사용자 | cpuUtilization | os.cpuUtilization.user | 
| 대기 | cpuUtilization | os.cpuUtilization.wait | 
| 1 | loadAverageMinute | os.loadAverageMinute.one | 
| 15 | loadAverageMinute | os.loadAverageMinute.fifteen | 
| 5 | loadAverageMinute | os.loadAverageMinute.five | 
| 캐시됨 | 스왑 | os.swap.cached | 
| 사용 가능 | 스왑 | os.swap.free | 
| 인 | 스왑 | os.swap.in | 
| 아웃 | 스왑 | os.swap.out | 
| 총합 | 스왑 | os.swap.total | 
| rx | 네트워크 | os.network.rx | 
| tx | 네트워크 | os.network.tx | 
| numVCPUs | 일반 | os.general.numVCPUs | 