

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

# Amazon DocumentDB Serverless 모니터링
<a name="docdb-serverless-monitoring"></a>

Amazon DocumentDB 모니터링에 대해 자세히 알아보려면 [Amazon DocumentDB 모니터링](monitoring_docdb.md) 섹션을 참조하세요.

**Topics**
+ [메모리 부족: 호환되지 않는 파라미터 상태](#w2aac43c27b7)
+ [DocumentDB Serverless에 대한 Amazon CloudWatch 지표](#w2aac43c27b9)
+ [성능 개선 도우미로 DocumentDB Serverless 성능 모니터링](#w2aac43c27c11)

## 메모리 부족: 호환되지 않는 파라미터 상태
<a name="w2aac43c27b7"></a>

Serverless 인스턴스 중 하나가 지속적으로 최대 용량 한도에 도달하는 경우 Amazon DocumentDB는 인스턴스를 incompatible-parameters 상태로 설정하여 이 조건을 나타냅니다. 자세한 내용은 [메모리 부족 오류 방지](docdb-serverless-scaling-config.md#docdb-serverless-scaling-mem-errors) 단원을 참조하십시오.

## DocumentDB Serverless에 대한 Amazon CloudWatch 지표
<a name="w2aac43c27b9"></a>

Amazon DocumentDB에 CloudWatch를 사용하는 방법에 대해 자세히 알아보려면 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하세요.

CloudWatch에서 서버리스 인스턴스를 보고 `ServerlessDatabaseCapacity` 지표를 통해 각 인스턴스에서 소비한 용량을 모니터링할 수 있습니다. `DatabaseConnections` 및 Queries와 같은 모든 표준 DocumentDB CloudWatch 지표를 모니터링할 수도 있습니다. Amazon DocumentDB에 대해 모니터링할 수 있는 CloudWatch 지표의 전체 목록은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md) 섹션을 참조하세요. 다음 CloudWatch 인스턴스 수준 지표는 DocumentDB Serverless 인스턴스가 스케일 업 및 스케일 다운되는 방식을 이해하기 위해 모니터링하는 데 중요합니다. 이러한 모든 지표는 매초마다 계산됩니다. 그렇게 하면 서버리스 인스턴스의 현재 상태를 모니터링할 수 있습니다. 서버리스 인스턴스가 용량과 관련된 지표 임계값에 도달하면 알림을 받도록 경보를 설정할 수 있습니다. 최소 및 최대 용량 설정이 적절한지 또는 조정이 필요한지 결정할 수 있습니다. 데이터베이스의 효율성을 최적화하기 위해 집중할 부분을 결정할 수 있습니다.
+ **`ServerlessDatabaseCapacity`** - 인스턴스 수준 지표로서 현재 인스턴스 용량이 나타내는 DCU 숫자를 보고합니다. 클러스터 수준의 지표로 클러스터 내 모든 DocumentDB Serverless 인스턴스의 `ServerlessDatabaseCapacity` 값 평균을 나타냅니다.
+ **`DCUUtilization.`** - 이 지표는 DocumentDB Serverless의 새로운 지표입니다. 이 값은 백분율로 표시됩니다. `ServerlessDatabaseCapacity` 지표의 값을 클러스터의 최대 DCU 값으로 나눈 값으로 계산됩니다. 이 지표를 해석하고 조치를 취하려면 다음 지침을 고려하세요.
  + 이 지표가 `100.0` 값에 가까워지면 인스턴스가 가능한 한 높게 스케일 업된 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이렇게 하면 라이터와 리더 인스턴스 모두 더 높은 용량으로 조정할 수 있습니다.
  + 읽기 전용 워크로드로 인해 리더 인스턴스가 `100.0`의 `DCUUtilization`에 접근하는 반면 라이터 인스턴스는 최대 용량에 근접하지 않는다고 가정해보겠습니다. 이 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산시켜 각 리더 인스턴스의 로드를 줄일 수 있습니다.
  + 성능과 확장성이 주요 고려 사항인 프로덕션 애플리케이션을 실행하고 있다고 가정합니다. 이 경우 클러스터의 최대 DCU 값을 높은 값으로 설정할 수 있습니다. 목표는 `DCUUtilization` 지표가 항상 100.0 아래에 있도록 하는 것입니다. 최대 DCU 값이 높으면 데이터베이스 활동이 예기치 않게 급증하는 경우에 충분한 공간이 확보되어 있다는 확신을 가질 수 있습니다. 실제로는 사용한 데이터베이스 용량에 대해서만 요금이 청구됩니다.
+ **`CPUUtilization`** - 이 지표는 프로비저닝된 인스턴스와 DocumentDB Serverless에서 다르게 해석됩니다. DocumentDB Serverless의 경우 이 값은 현재 사용 중인 CPU의 양을 클러스터의 최대 DCU 값 아래에서 사용 가능한 CPU 용량으로 나눈 값입니다. Amazon DocumentDB는 이 값을 자동으로 모니터링하고 인스턴스가 CPU 용량의 높은 비율을 지속적으로 사용하는 경우 서버리스 인스턴스를 스케일 업합니다.

  이 지표가 `100.0` 값에 가까워지면 인스턴스가 최대 CPU 용량에 도달한 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스에서 `100.0` 값에 가까워지는 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산시켜 각 리더 인스턴스의 로드를 줄일 수 있습니다.
+ **`FreeableMemory`** - 이 값은 DocumentDB Serverless 인스턴스가 최대 용량으로 조정될 때 사용 가능한 미사용 메모리의 양을 나타냅니다. 현재 용량이 최대 용량 미만인 모든 DCU에 대해 이 값은 약 2GiB씩 증가합니다. 따라서 인스턴스가 가능한 한 높게 스케일 업될 때까지 이 지표는 0에 접근하지 않습니다.

  이 지표가 0 값에 접근하면 인스턴스가 가능한 한 스케일 업되었으며 사용 가능한 메모리 한도에 근접한 것입니다. 클러스터에 대한 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스에서 0 값에 가까워지는 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산하여 각 리더 인스턴스의 메모리 사용량을 줄일 수 있습니다.
+ **`TempStorageIops`** - 인스턴스에 연결된 로컬 스토리지에서 수행된 IOPS 수입니다. 여기에는 읽기와 쓰기에 모두 대한 IOPS가 포함됩니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. DocumentDB Serverless에 대한 새로운 지표입니다. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)을 참조하세요.
+ **`TempStorageThroughput`** - 인스턴스와 연결된 로컬 스토리지에서 전송되는 데이터의 양입니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. DocumentDB Serverless에 대한 새로운 지표입니다. 자세한 내용은 [CloudWatch를 사용하여 Amazon DocumentDB 모니터링](cloud_watch.md)을 참조하세요.

일반적으로 DocumentDB Serverless 인스턴스에 대한 대부분의 확장은 메모리 사용량과 CPU 활동으로 인해 발생합니다. `TempStorageIops` 및 `TempStorageThroughput` 지표는 인스턴스와 로컬 스토리지 디바이스 간의 전송에 대한 네트워크 활동이 예상치 못한 용량 증가의 원인이 되는 드문 경우를 진단하는 데 도움이 될 수 있습니다. 다른 네트워크 활동을 모니터링하려면 다음과 같은 기존 지표를 사용할 수 있습니다.
+ `NetworkReceiveThroughput`
+ `NetworkThroughput`
+ `NetworkTransmitThroughput`
+ `StorageNetworkReceiveThroughput`
+ `StorageNetworkThroughput`
+ `StorageNetworkTransmitThroughput`

### DocumentDB 서버리스 CloudWatch 지표가 AWS 청구서에 적용되는 방법
<a name="w2aac43c27b9c13"></a>

 AWS 청구서의 DocumentDB 서버리스 요금은 모니터링할 수 있는 것과 동일한 `ServerlessDatabaseCapacity` 지표를 기반으로 계산됩니다. DocumentDB Serverless 용량을 한 시간의 일부만 사용하는 경우 청구 메커니즘은 이 지표에 대해 계산된 CloudWatch 평균과 다를 수 있습니다. 시스템 문제로 인해 CloudWatch 지표를 짧은 기간 동안 사용할 수 없는 경우에도 다를 수 있습니다. 따라서 청구서에 DCU-시간 값이 `ServerlessDatabaseCapacity` 평균값에서 직접 계산하는 경우와 약간 다를 수 있습니다.

### DocumentDB Serverless 지표에 대한 Amazon CloudWatch CLI 명령의 예
<a name="w2aac43c27b9c15"></a>

다음 AWS CLI 예제에서는 DocumentDB 서버리스와 관련된 가장 중요한 CloudWatch 지표를 모니터링하는 방법을 보여줍니다. 각 경우에 `--dimensions` 파라미터의 `Value=` 문자열을 고유한 DocumentDB Serverless 인스턴스의 식별자로 바꿉니다.

다음 Linux 예제는 1시간 동안 10분마다 측정된 인스턴스의 최소, 최대 및 평균 용량 값을 표시합니다. Linux date 명령은 현재 날짜 및 시각을 기준으로 시작 및 종료 시각을 지정합니다. `--query` 파라미터의 `sort_by` 함수는 `Timestamp` 필드를 기준으로 결과를 시간순으로 정렬합니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "ServerlessDatabaseCapacity" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value={{my_instance{{}}}} \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 클러스터에 있는 인스턴스의 용량 모니터링을 보여줍니다. 인스턴스의 최소, 최대 및 평균 용량 사용률을 측정합니다. 측정은 3시간 동안 매시간에 한 번씩 측정됩니다. 이 예에서는 고정된 수의 DCU를 나타내는 `ServerlessDatabaseCapacity` 대신 DCU에 대한 상한의 백분율을 나타내는 `DCUUtilization` 지표를 사용합니다. 이렇게 하면 용량 범위에서 최소 및 최대 DCU 값의 실제 수치를 알 필요가 없습니다. 0에서 100 사이의 백분율을 볼 수 있습니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "DCUUtilization" \
    --start-time "$(date -d '3 hours ago')" \
    --end-time "$(date -d 'now')" \
    --period 3600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value={{my_instance}} \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 `CPUUtilization` 지표에 대한 것입니다. 측정은 1시간 동안 10분마다 수행됩니다. 이 수치는 인스턴스의 최대 용량 설정까지 사용 가능한 CPU 리소스를 기준으로 사용된 사용 가능한 CPU의 백분율을 나타냅니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "CPUUtilization" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value={{my_instance}} \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

다음 Linux 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 `FreeableMemory` 지표에 대한 것입니다. 측정은 1시간 동안 10분마다 수행됩니다.

```
aws cloudwatch get-metric-statistics \
    --metric-name "FreeableMemory" \
    --start-time "$(date -d '1 hour ago')" \
    --end-time "$(date -d 'now')" \
    --period 600 \
    --namespace "AWS/DocDB" \
    --statistics Minimum Maximum Average \
    --dimensions Name=DBInstanceIdentifier,Value={{my_instance}} \
    --query 'sort_by(Datapoints[*].{min:Minimum,max:Maximum,avg:Average,ts:Timestamp},&ts)' \
    --output table
```

## 성능 개선 도우미로 DocumentDB Serverless 성능 모니터링
<a name="w2aac43c27c11"></a>

성능 개선 도우미를 사용하여 DocumentDB Serverless 인스턴스의 성능을 모니터링할 수 있습니다. 성능 개선 도우미 프로시저는 [성능 개선 도우미로 모니터링](performance-insights.md) 페이지를 참조하세요.

다음과 같은 새로운 성능 개선 도우미 카운터가 DocumentDB Serverless 인스턴스에 적용됩니다.
+ **`os.general.serverlessDBCapacity`** - 인스턴스의 현재 용량(DCU 단위)입니다. 인스턴스에 대한 `ServerlessDatabaseCapacity` CloudWatch 지표에 해당하는 값입니다.
+ **`os.general.dcuUtilization`** - 구성된 최대 용량에서 현재 용량의 백분율입니다. 인스턴스에 대한 `DCUUtilization` CloudWatch 지표에 해당하는 값입니다.
+ **`os.general.maxConfiguredDcu`** - 이 DocumentDB Serverless 인스턴스에 대해 구성한 최대 용량입니다. DCU로 측정됩니다.
+ **`os.general.minConfiguredDcu`** - 이 DocumentDB Serverless 인스턴스에 대해 구성한 최소 용량입니다. DCU로 측정됩니다.

성능 개선 도우미 카운터의 전체 목록은 [카운터 지표에 대한 성능 개선 도우미](performance-insights-counter-metrics.md) 페이지를 참조하세요.

성능 개선 도우미에서 DocumentDB Serverless 인스턴스에 대해 vCPU 값이 표시되는 경우 해당 값은 인스턴스에 대한 DCU 값을 기반으로 한 추정치를 나타냅니다. 기본 간격인 1분 간격으로 모든 분수 vCPU 값은 가장 가까운 정수로 반올림됩니다. 더 긴 간격의 경우 표시된 vCPU 값은 분당 정수 vCPU 값의 평균입니다.