기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon DocumentDB 서버리스 모니터링
Amazon DocumentDB의 모니터링에 대한 자세한 내용은 섹션을 참조하세요Amazon DocumentDB 모니터링.
주제
메모리 부족: incompatible-parameters 상태
서버리스 인스턴스 중 하나가 지속적으로 최대 용량 한도에 도달하면 Amazon DocumentDB는 인스턴스를 호환되지 않는 파라미터 상태로 설정하여이 조건을 표시합니다. 자세한 내용은 메모리 부족 오류 방지 단원을 참조하십시오.
DocumentDB 서버리스에 대한 Amazon CloudWatch 지표
Amazon DocumentDB에서 CloudWatch를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요CloudWatch를 사용하여 Amazon DocumentDB 모니터링.
CloudWatch에서 서버리스 인스턴스를 보고 ServerlessDatabaseCapacity
지표를 사용하여 각 인스턴스가 소비하는 용량을 모니터링할 수 있습니다. DatabaseConnections
및 쿼리와 같은 모든 표준 DocumentDB CloudWatch 지표를 모니터링할 수도 있습니다. Amazon DocumentDB에 대해 모니터링할 수 있는 CloudWatch 지표의 전체 목록은 섹션을 참조하세요CloudWatch를 사용하여 Amazon DocumentDB 모니터링. 다음 CloudWatch 인스턴스 수준 지표는 DocumentDB 서버리스 인스턴스의 스케일 업 및 스케일 다운 방식을 이해하기 위해 모니터링하는 데 중요합니다. 이러한 모든 지표는 매초마다 계산됩니다. 이렇게 하면 서버리스 인스턴스의 현재 상태를 모니터링할 수 있습니다. 서버리스 인스턴스가 용량과 관련된 지표의 임계값에 가까워지면 알림을 받도록 경보를 설정할 수 있습니다. 최소 및 최대 용량 설정이 적절한지 또는 조정이 필요한지 결정할 수 있습니다. 데이터베이스의 효율성을 최적화하기 위해 집중할 부분을 결정할 수 있습니다.
ServerlessDatabaseCapacity
- 인스턴스 수준 지표로서 현재 인스턴스 용량으로 표시되는 DCUs 수를 보고합니다. 클러스터 수준 지표로서 클러스터에 있는 모든 DocumentDB 서버리스 인스턴스ServerlessDatabaseCapacity
값의 평균을 나타냅니다.DCUUtilization.
-이 지표는 DocumentDB 서버리스의 새로운 지표입니다. 이 값은 백분율로 표시됩니다. 지표 값을 클러스터의 최대 DCU 값으로ServerlessDatabaseCapacity
나눈 값으로 계산됩니다. 이 지표를 해석하고 조치를 취하려면 다음 지침을 고려하세요.이 지표가 값에 가까워지면
100.0
인스턴스가 가능한 한 높게 스케일 업된 것입니다. 클러스터의 최대 DCU 설정을 늘리는 것이 좋습니다. 이렇게 하면 라이터 인스턴스와 리더 인스턴스 모두 더 높은 용량으로 확장할 수 있습니다.읽기 전용 워크로드로 인해 리더 인스턴스가
DCUUtilization
의에 접근하지만100.0
라이터 인스턴스가 최대 용량에 근접하지 않는다고 가정해 보겠습니다. 이 경우 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 더 많은 인스턴스에 워크로드의 읽기 전용 부분을 분산하여 각 리더 인스턴스의 부하를 줄일 수 있습니다.성능과 확장성이 주요 고려 사항인 프로덕션 애플리케이션을 실행하고 있다고 가정합니다. 이 경우 클러스터의 최대 DCU 값을 높은 수로 설정할 수 있습니다. 목표는
DCUUtilization
지표가 항상 100.0 미만인 것입니다. 최대 DCU 값이 높으면 데이터베이스 활동이 예기치 않게 급증할 경우 충분한 공간이 있다고 확신할 수 있습니다. 실제로는 사용한 데이터베이스 용량에 대해서만 요금이 청구됩니다.
CPUUtilization
-이 지표는 프로비저닝된 인스턴스와 DocumentDB 서버리스에서 다르게 해석됩니다. DocumentDB 서버리스의 경우이 값은 현재 사용 중인 CPU의 양을 클러스터의 최대 DCU 값에서 사용 가능한 CPU 용량으로 나눈 값으로 계산되는 백분율입니다. Amazon DocumentDB는이 값을 자동으로 모니터링하고 인스턴스가 지속적으로 높은 비율의 CPU 용량을 사용할 때 서버리스 인스턴스를 확장합니다.이 지표가 값에 가까워지면
100.0
인스턴스가 최대 CPU 용량에 도달한 것입니다. 클러스터의 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스의 값에 가까워지면 클러스터100.0
에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 더 많은 인스턴스에 분산된 워크로드의 읽기 전용 부분을 분산하여 각 리더 인스턴스의 부하를 줄일 수 있습니다.FreeableMemory
-이 값은 DocumentDB 서버리스 인스턴스를 최대 용량으로 확장할 때 사용할 수 있는 미사용 메모리의 양을 나타냅니다. 현재 용량이 최대 용량 미만인 모든 DCU에 대해이 값은 약 2GiB 증가합니다. 따라서이 지표는 인스턴스가 최대한 높게 확장될 때까지 0에 접근하지 않습니다.이 지표가 값 0에 가까워지면 인스턴스가 가능한 한 스케일 업되었으며 사용 가능한 메모리 한도에 근접하고 있는 것입니다. 클러스터의 최대 DCU 설정을 늘리는 것이 좋습니다. 이 지표가 리더 인스턴스의 값 0에 가까워지면 클러스터에 리더 인스턴스를 추가하는 것이 좋습니다. 이렇게 하면 워크로드의 읽기 전용 부분을 더 많은 인스턴스에 분산하여 각 리더 인스턴스의 메모리 사용량을 줄일 수 있습니다.
TempStorageIops
- 인스턴스에 연결된 로컬 스토리지에서 수행된 IOPS 수입니다. 여기에는 읽기와 쓰기에 모두 대한 IOPS가 포함됩니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. 이는 DocumentDB 서버리스에 대한 새로운 지표입니다. 자세한 내용은 CloudWatch를 사용하여 Amazon DocumentDB 모니터링을 참조하세요.TempStorageThroughput
- 인스턴스와 연결된 로컬 스토리지에서 송수신되는 데이터의 양입니다. 이 지표는 개수를 나타내며 초당 한 번 측정됩니다. 이는 DocumentDB 서버리스에 대한 새로운 지표입니다. 자세한 내용은 CloudWatch를 사용하여 Amazon DocumentDB 모니터링을 참조하세요.
일반적으로 DocumentDB 서버리스 인스턴스에 대한 대부분의 스케일 업은 메모리 사용량 및 CPU 활동으로 인해 발생합니다. TempStorageIops
및 TempStorageThroughput
지표는 인스턴스와 로컬 스토리지 디바이스 간의 전송에 대한 네트워크 활동이 예상치 못한 용량 증가의 원인인 드문 경우를 진단하는 데 도움이 될 수 있습니다. 다른 네트워크 활동을 모니터링하려면 다음과 같은 기존 지표를 사용할 수 있습니다.
NetworkReceiveThroughput
NetworkThroughput
NetworkTransmitThroughput
StorageNetworkReceiveThroughput
StorageNetworkThroughput
StorageNetworkTransmitThroughput
DocumentDB 서버리스 CloudWatch 지표가 AWS 청구서에 적용되는 방법
AWS 청구서의 DocumentDB 서버리스 요금은 모니터링할 수 있는 것과 동일한 ServerlessDatabaseCapacity
지표를 기반으로 계산됩니다. 결제 메커니즘은 1시간 동안만 DocumentDB 서버리스 용량을 사용하는 경우이 지표에 대해 계산된 CloudWatch 평균과 다를 수 있습니다. 시스템 문제로 인해 CloudWatch 지표를 짧은 기간 동안 사용할 수 없는 경우에도 다를 수 있습니다. 따라서 ServerlessDatabaseCapacity
평균 값에서 직접 숫자를 계산하는 경우와는 약간 다른 DCU-시간 값이 청구서에 표시될 수 있습니다.
DocumentDB 서버리스 지표에 대한 Amazon CloudWatch CLI 명령의 예
다음 AWS CLI 예제에서는 DocumentDB 서버리스와 관련된 가장 중요한 CloudWatch 지표를 모니터링하는 방법을 보여줍니다. 각 경우 --dimensions
파라미터의 Value=
문자열을 자체 DocumentDB 서버리스 인스턴스의 식별자로 바꿉니다.
다음 Linux 예제에서는 1시간 동안 10분마다 측정된 인스턴스의 최소, 최대 및 평균 용량 값을 표시합니다. Linux 날짜 명령은 현재 날짜 및 시간을 기준으로 시작 및 종료 시간을 지정합니다. --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시간 동안 매시간에 한 번씩 측정됩니다. 이 예제에서는 고정된 수의 DCUs를 나타내는 대신 DCUs에 대한 상한의 백분율을 ServerlessDatabaseCapacity
나타내는 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 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 B1 지표에 대한 것입니다. 측정은 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 예제는 이전 예제와 유사한 측정을 수행합니다. 이 경우 측정은 B1 지표에 대한 것입니다. 측정은 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 서버리스 성능 모니터링
성능 개선 도우미를 사용하여 DocumentDB 서버리스 인스턴스의 성능을 모니터링할 수 있습니다. 성능 개선 도우미 프로시저는 성능 개선 도우미로 모니터링 페이지를 참조하세요.
DocumentDB 서버리스 인스턴스에는 다음과 같은 새로운 성능 개선 도우미 카운터가 적용됩니다.
os.general.serverlessDBCapacity
- DCUs. 값은 인스턴스의ServerlessDatabaseCapacity
CloudWatch 지표에 해당합니다.os.general.dcuUtilization
- 구성된 최대 용량을 벗어난 현재 용량의 백분율입니다. 값은 인스턴스의DCUUtilization
CloudWatch 지표에 해당합니다.os.general.maxConfiguredDcu
-이 DocumentDB 서버리스 인스턴스에 대해 구성한 최대 용량입니다. DCUs로 측정됩니다.os.general.minConfiguredDcu
-이 DocumentDB 서버리스 인스턴스에 대해 구성한 최소 용량입니다. DCUs로 측정됩니다.
성능 개선 도우미 카운터의 전체 목록은 카운터 지표에 대한 성능 개선 도우미 페이지를 참조하세요.
성능 개선 도우미의 DocumentDB 서버리스 인스턴스에 대해 vCPU 값이 표시되면 해당 값은 인스턴스의 DCU 값을 기반으로 한 추정치를 나타냅니다. 기본 간격인 1분 간격으로 모든 분수 vCPU 값은 가장 가까운 정수로 반올림됩니다. 더 긴 간격의 경우 표시된 vCPU 값은 분당 정수 vCPU 값의 평균입니다.