CloudWatch 지표를 사용한 Amazon Redshift 모니터링 - Amazon Redshift

CloudWatch 지표를 사용한 Amazon Redshift 모니터링

Amazon Redshift에 CloudWatch 지표를 사용하면 클러스터의 상태 및 성능에 대한 정보와 노드 수준의 정보를 얻을 수 있습니다. 단, 이 지표를 사용할 때는 각 지표마다 차원이 1개 이상 연결되어 있다는 점을 알고 있어야 합니다. 이러한 차원은 적용 대상 지표를 알려주고 지표의 범위를 나타냅니다. Amazon Redshift에는 다음과 같은 2가지 차원이 있습니다.

  • NodeID 차원을 갖는 지표는 클러스터 노드의 성능 데이터를 제공하는 지표입니다. 이러한 지표 집합에는 리더와 컴퓨팅 노드가 포함됩니다. 예를 들면 CPUUtilization, ReadIOPS, WriteIOPS 등이 있습니다.

  • ClusterIdentifier 차원만 갖고 있는 지표는 클러스터의 성능에 대한 데이터를 제공하는 지표입니다. 이러한 지표의 예로는 HealthStatusMaintenanceMode가 있습니다.

    참고

    일부 지표의 경우에는 각 클러스터의 지표가 노드 특성의 합계를 의미합니다. 이때는 리더 노드의 특성이 컴퓨팅 노드와 합산되기 때문에 지표 값을 해석할 때는 주의가 필요합니다.

CloudWatch 지표 및 차원에 대한 내용은 Amazon CloudWatch User GuideCloudWatch concepts을 참조하세요.

Amazon Redshift용 CloudWatch 지표에 대한 자세한 설명은 다음 섹션을 참조하세요.

Amazon Redshift 지표

AWS/Redshift 네임스페이스에 포함된 지표는 다음과 같습니다. 달리 명시되지 않는 한, 지표는 1분 간격으로 수집됩니다.

Title
지표 설명
CommitQueueLength

주어진 시점에 커밋을 기다리는 트랜잭션의 수입니다.

단위: 개

차원: ClusterIdentifier

ConcurrencyScalingActiveClusters

주어진 시간에 능동적으로 쿼리를 처리 중인 동시성 확장 클러스터의 수입니다.

단위: 개

차원: ClusterIdentifier

ConcurrencyScalingSeconds

활성 쿼리 처리 활동이 있는 동시성 확장 클러스터에서 사용하는 시간(초)입니다.

단위: 개

차원: ClusterIdentifier

CPUUtilization

CPU 사용 백분율. 클러스터의 경우, 이 지표는 모든 노드(리더 및 컴퓨팅)의 CPU 사용 값을 집계한 결과를 의미합니다.

단위: 백분율

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

DatabaseConnections

클러스터에 대한 데이터베이스 연결 수

단위: 개

차원: ClusterIdentifier

HealthStatus

클러스터가 데이터베이스에 연결되어 간단한 쿼리를 실행할 때마다 클러스터의 상태를 나타냅니다. 이 작업을 성공적으로 실행할 수 있다면 클러스터는 정상 상태입니다. 그렇지 않다면 비정상 상태입니다. 비정상 상태는 클러스터 데이터베이스의 데이터 로드가 너무 많거나, 혹은 클러스터 데이터베이스에 구성 문제가 있을 때 발생합니다.

참고

Amazon CloudWatch에서는 이 지표가 1 또는 0으로 보고되는 반면 Amazon Redshift 콘솔에서는 편의를 위해 이 지표가 HEALTHY 또는 UNHEALTHY로 표시됩니다. 이 지표가 Amazon Redshift 콘솔에 표시될 때는 샘플 평균이 무시되고 HEALTHY 또는 UNHEALTHY만 표시됩니다. 하지만 Amazon CloudWatch에서는 샘플링 문제로 인해 1과 0이 아닌 다른 값이 표시될 수도 있습니다. HealthStatus가 1 미만인 값은 모두 0(UNHEALTHY)으로 보고됩니다.

단위: 개수 (1/0)(Amazon Redshift 콘솔의 경우 HEALTHY/UNHEALTHY)

차원: ClusterIdentifier

MaintenanceMode

클러스터가 현재 유지 관리 모드인지 여부를 나타냅니다.

참고

Amazon CloudWatch에서는 이 지표가 1 또는 0으로 보고되는 반면 Amazon Redshift 콘솔에서는 편의를 위해 이 지표가 ON 또는 OFF로 표시됩니다. 이 지표가 Amazon Redshift 콘솔에 표시될 때는 샘플 평균이 무시되고 ON 또는 OFF만 표시됩니다. 하지만 Amazon CloudWatch에서는 샘플링 문제로 인해 1과 0이 아닌 다른 값이 표시될 수도 있습니다. MaintenanceMode가 0보다 큰 값은 모두 1(ON)로 보고됩니다.

단위: 개수 (1/0)(Amazon Redshift 콘솔의 경우 ON/OFF)

차원: ClusterIdentifier

MaxConfiguredConcurrencyScalingClusters

파라미터 그룹에서 구성된 최대 동시성 확장 클러스터 수입니다. 자세한 내용은 Amazon Redshift 파라미터 그룹 단원을 참조하십시오.

단위: 개

차원: ClusterIdentifier

NetworkReceiveThroughput

노드 또는 클러스터의 데이터 수신 속도

단위: 바이트/초(Amazon Redshift 콘솔의 경우 MB/초)

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

NetworkTransmitThroughput

노드 또는 클러스터의 데이터 쓰기 속도

단위: 바이트/초(Amazon Redshift 콘솔의 경우 MB/초)

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

PercentageDiskSpaceUsed

사용된 디스크 공간 비율

단위: 백분율

차원: ClusterIdentifier

Dimensions: ClusterIdentifier, NodeID

QueriesCompletedPerSecond

초당 완료된 평균 쿼리 수입니다. 5분 간격으로 보고됩니다. 단일 노드 클러스터에서는 이 지표가 지원되지 않습니다.

단위: 개수/초

Dimensions: ClusterIdentifier, latency

Dimensions: ClusterIdentifier, wlmid

QueryDuration

쿼리를 완료하는 데 걸리는 평균 시간입니다. 5분 간격으로 보고됩니다. 단일 노드 클러스터에서는 이 지표가 지원되지 않습니다.

단위: 마이크로초

차원: ClusterIdentifier, NodeID, latency

Dimensions: ClusterIdentifier, latency

차원: ClusterIdentifier, NodeID, wlmid

QueryRuntimeBreakdown

쿼리 단계에서 실행한 총 쿼리 시간입니다. 5분 간격으로 보고됩니다.

단위: 밀리초

차원: ClusterIdentifier, NodeID, stage

차원: ClusterIdentifier, stage

ReadIOPS

초당 평균 디스크 I/O 연산 수.

단위: 개수/초

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

ReadLatency

디스크 I/O 연산당 평균 처리 시간.

단위: 초

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

ReadThroughput

초당 디스크에서 읽은 평균 바이트 수입니다.

단위: 바이트(Amazon Redshift 콘솔의 경우 GB/초)

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

RedshiftManagedStorageTotalCapacity

관리형 스토리지의 총 용량입니다.

단위: 메가바이트

차원: ClusterIdentifier

TotalTableCount

특정 시점에 열린 사용자 테이블의 수입니다. 이 합계에는 Amazon Redshift Spectrum 테이블이 포함되지 않습니다.

단위: 개

차원: ClusterIdentifier

WLMQueueLength

워크로드 관리(WLM) 대기열을 입력하기 위해 대기하는 쿼리 수입니다.

단위: 개

Dimensions: ClusterIdentifier, service class

Dimensions: ClusterIdentifier, QueueName

WLMQueueWaitTime

워크로드 관리(WLM) 대기열에서 대기하는 데 소요된 총 쿼리 시간. 5분 간격으로 보고됩니다.

단위: 밀리초

Dimensions: ClusterIdentifier, QueryPriority

Dimensions: ClusterIdentifier, wlmid

Dimensions: ClusterIdentifier, QueueName

WLMQueriesCompletedPerSecond

워크로드 관리(WLM) 대기열에 대해 완료된 초당 평균 쿼리 수입니다. 5분 간격으로 보고됩니다. 단일 노드 클러스터에서는 이 지표가 지원되지 않습니다.

단위: 개수/초

Dimensions: ClusterIdentifier, wlmid

Dimensions: ClusterIdentifier, QueueName

WLMQueryDuration

워크로드 관리(WLM) 대기열에 대해 쿼리를 완료하는 데 걸리는 평균 시간입니다. 5분 간격으로 보고됩니다. 단일 노드 클러스터에서는 이 지표가 지원되지 않습니다.

단위: 마이크로초

Dimensions: ClusterIdentifier, wlmid

Dimensions: ClusterIdentifier, QueueName

WLMRunningQueries

WLM 대기열 1개당 기본 클러스터 및 동시성 확장 클러스터 모두에서 실행되는 쿼리의 수입니다.

단위: 개

Dimensions: ClusterIdentifier, wlmid

Dimensions: ClusterIdentifier, QueueName

WriteIOPS

초당 커밋 작업의 평균 수.

단위: 개수/초

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

WriteLatency

디스크 I/O 연산당 평균 처리 시간.

단위: 초

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

WriteThroughput

초당 디스크에 쓴 평균 바이트 수.

단위: 바이트(Amazon Redshift 콘솔의 경우 GB/초)

Dimensions: ClusterIdentifier, NodeID

차원: ClusterIdentifier

SchemaQuota

스키마에 대해 구성된 할당량입니다.

단위: 메가바이트

차원: ClusterIdentifier, Database, Schema

주기적/푸시: Periodic

빈도: 5 minutes

중지 조건: 스키마가 삭제되거나 할당량이 제거됨

NumExceededSchemaQuotas

할당량이 초과된 스키마 수입니다.

단위: 개

차원: ClusterIdentifier

주기적/푸시: Periodic

빈도: 5 minutes

중지 기준: 해당 사항 없음

StorageUsed

스키마에서 사용하는 디스크 또는 스토리지 공간입니다.

단위: 메가바이트

차원: ClusterIdentifier, Database, Schema

주기적/푸시: Periodic

빈도: 5 minutes

중지 조건: 스키마가 삭제되거나 할당량이 제거됨

PercentageQuotaUsed

구성된 스키마 할당량을 기준으로 사용된 디스크 또는 스토리지 공간의 백분율입니다.

단위: 백분율

차원: ClusterIdentifier, Database, Schema

주기적/푸시: Periodic

빈도: 5 minutes

중지 조건: 스키마가 삭제되거나 할당량이 제거됨

UsageLimitAvailable

FeatureType에 따라 UsageLimitAvailable은 다음을 반환합니다.

  • FeatureType이 CONCURRENCY_SCALING인 경우 UsageLimitAvailable은 동시성 조정에 사용할 수 있는 총 시간을 1분 단위로 반환합니다.

  • FeatureType이 CROSS_REGION_DATASHARING인 경우 UsageLimitAvailable은 스캔될 수 있는 데이터의 총량을 1TB 단위로 반환합니다.

  • FeatureType이 SPECTRUM인 경우 UsageLimitAvailable은 스캔될 수 있는 데이터의 총량을 1TB 단위로 반환합니다.

단위: 분 또는 TB

차원: ClusterIdentifier, FeatureType, UsageLimitId

UsageLimitConsumed

FeatureType에 따라 UsageLimitConsumed는 다음을 반환합니다.

  • FeatureType이 CONCURRENCY_SCALING인 경우 UsageLimitAvailable은 동시성 조정에 사용된 총 시간을 1분 단위로 반환합니다.

  • FeatureType이 CROSS_REGION_DATASHARING인 경우 UsageLimitAvailable은 스캔된 데이터의 총량을 1TB 단위로 반환합니다.

  • FeatureType이 SPECTRUM인 경우 UsageLimitAvailable은 스캔된 데이터의 총량을 1TB 단위로 반환합니다.

단위: 분 또는 TB

차원: ClusterIdentifier, FeatureType, UsageLimitId

Amazon Redshift 지표의 차원

Amazon Redshift 데이터는 다음 표의 차원 중 하나와 함께 필터링할 수 있습니다.

측정기준 설명
latency

가능한 값은 다음과 같습니다.

  • short - 10초 미만

  • medium - 10초~10분

  • long - 10분 초과

NodeID

클러스터 노드 고유의 요청 데이터를 필터링합니다. NodeID는 "Leader", "Shared" 또는 "Compute-N"이 되고, 여기에서 N은 클러스터의 노드 번호를 가리키는 0, 1 등으로 매겨집니다. "Shared"는 클러스터의 노드 수가 1개, 즉 리더 노드와 컴퓨팅 노드가 결합되었다는 것을 의미합니다.

지표는 CPUUtilization, NetworkTransmitThroughputReadIOPS일 때에 한해 리더 노드와 컴퓨팅 노드에 대해 보고됩니다. NodeId 차원을 사용하는 다른 지표는 컴퓨팅 노드에 대해서만 보고됩니다.

ClusterIdentifier

클러스터 고유의 요청 데이터를 필터링합니다. 클러스터 고유의 지표로는 HealthStatus, MaintenanceModeDatabaseConnections가 있습니다. 노드 지표이기도 한 이 차원의 일반 지표(ReadIOPS 등)는 노드 지표 데이터를 모두 종합한 것입니다. 이러한 지표들은 리더 노드와 컴퓨팅 노드의 속성을 모두 수집하기 때문에 해석할 때 주의하십시오.

service class

WLM 서비스 클래스의 식별자입니다.

stage

쿼리 실행 단계 가능한 값은 다음과 같습니다.

  • QueryPlanning: SQL 문을 구문 분석하고 최적화하는 데 소요된 시간

  • QueryWaiting: WLM 대기열에서 대기하는 데 소요된 시간

  • QueryExecutingRead: 읽기 쿼리를 실행하는 데 소요된 시간

  • QueryExecutingInsert: 삽입 쿼리를 실행하는 데 소요된 시간

  • QueryExecutingDelete: 삭제 쿼리를 실행하는 데 소요된 시간

  • QueryExecutingUpdate: 업데이트 쿼리를 실행하는 데 소요된 시간

  • QueryExecutingCtas: 쿼리로 테이블을 생성하는 데 소요된 시간

  • QueryExecutingUnload: 업로드 쿼리를 실행하는 데 소요된 시간

  • QueryExecutingCopy: 복사 쿼리를 실행하는 데 소요된 시간

  • QueryCommit: 커밋하는 데 소요된 시간

wlmid

워크로드 관리 대기열에 대한 식별자입니다.

QueryPriority

쿼리의 우선순위입니다. 가능한 값은 CRITICAL, HIGHEST, HIGH, NORMAL, LOW, LOWEST입니다.

QueueName

워크로드 관리 대기열의 이름입니다.

FeatureType

사용량 한도로 제한되는 기능입니다. 가능한 값은 CONCURRENCY_SCALING, CROSS_REGION_DATASHARINGSPECTRUM입니다.

UsageLimitId

사용량 한도의 식별자입니다.

Amazon Redshift 쿼리 및 로드 성능 데이터

Amazon Redshift는 CloudWatch 지표 외에도 쿼리 및 로드 성능 데이터를 제공합니다. 쿼리/로드 성능 데이터는 데이터베이스 성능과 클러스터 지표의 관계를 이해하는 데 유용합니다. 예를 들어 클러스터의 CPU가 급증한 것을 확인한 경우에는 클러스터 CPU 그래프에서 급증한 부분을 찾아 해당 시간에 실행된 쿼리를 살펴볼 수 있습니다. 반대로 특정 쿼리를 살펴볼 때는 지표 데이터(CPU 등)가 상황에 맞게 표시되어 쿼리가 클러스터 지표에 미치는 영향을 이해할 수 있습니다.

쿼리 및 로드 성능 데이터는 CloudWatch 지표로 게시되지 않기 때문에 Amazon Redshift 콘솔에서만 확인할 수 있습니다. 쿼리 및 로드 성능 데이터는 데이터베이스의 시스템 테이블을 사용한 쿼리에서 생성됩니다(자세한 내용은 Amazon Redshift 개발자 안내서시스템 테이블 참조 참조). 사용자 지정 데이터베이스 성능 쿼리를 직접 작성할 수도 있지만 처음에는 콘솔에서 제공되는 쿼리/로드 성능 데이터를 사용하는 것이 좋습니다. 데이터베이스 성능을 직접 측정하고 모니터링하는 방법에 대한 자세한 내용은 Amazon Redshift 개발자 안내서성능 관리를 참조하세요.

다음은 Amazon Redshift 콘솔에서 액세스할 수 있는 쿼리/로드 데이터의 여러 가지 요소를 설명한 표입니다.

쿼리/로드 데이터 설명
쿼리 요약

특정 시간대에 실행된 쿼리 목록입니다. 이 목록은 쿼리 ID, 쿼리 실행 시간, 상태 등의 값을 기준으로 정렬할 수 있습니다. 클러스터 세부 정보 페이지의 쿼리 모니터링 탭에 이 데이터가 표시됩니다.

쿼리 세부 정보

다음을 포함하여 특정 쿼리에 대한 세부 정보를 제공합니다.

  • 쿼리 속성(쿼리 ID, 유형, 쿼리가 실행된 클러스터, 실행 시간 등)

  • 세부 정보(쿼리 상태, 오류 수 등)

  • 실행된 SQL 문

  • EXPLAIN 계획(해당되는 경우)

  • 쿼리 실행 중 클러스터 성능 데이터(자세한 내용은 쿼리 기록 데이터 보기 참조)

로드 요약

지정 시간대의 모든 로드 목록입니다. 이 목록은 쿼리 ID, 쿼리 실행 시간, 상태 등의 값을 기준으로 정렬할 수 있습니다. 클러스터 세부 정보 페이지의 쿼리 모니터링 탭에 이 데이터가 표시됩니다.

로드 세부 정보

다음을 포함하여 특정 로드 작업에 대한 세부 정보를 제공합니다.

  • 로드 속성(쿼리 ID, 유형, 쿼리가 실행된 클러스터, 실행 시간 등)

  • 세부 정보(로드 상태, 오류 수 등)

  • 실행된 SQL 문

  • 로드된 파일 목록

  • 로드 작업 중 클러스터 성능 데이터(자세한 내용은 쿼리 기록 데이터 보기 참조)