AWS Redshift¶
AWS Redshift의 핵심 성능 지표에는 쿼리 성능, 디스크 공간 사용률, CPU 사용률, 데이터베이스 연결 수, 디스크 I/O 작업이 포함되며, 이는 데이터 웨어하우스 성능을 평가하고 최적화하는 핵심 지표입니다.
설정¶
Func 설치¶
추천: Guance 통합 - 확장 - 호스팅 버전 Func를 활성화하면, 사전 조건이 모두 자동으로 설치됩니다. 스크립트 설치를 계속 진행하세요
Func를 직접 배포하려면 Func 직접 배포
설치 스크립트¶
안내: 요구 사항을 충족하는 Amazon AK를 미리 준비하세요. (간단히 하려면, 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다)
호스팅 버전 활성화 스크립트¶
- Guance 콘솔에 로그인
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택
- [클라우드 계정 추가]를 클릭하고 [AWS]를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보가 이미 설정되어 있다면 이 단계를 건너뜁니다
- [테스트]를 클릭합니다. 테스트가 성공하면 [저장]을 클릭하고, 실패하면 관련 설정 정보를 확인한 뒤 다시 테스트합니다
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭하여 상세 페이지로 들어갑니다
- 클라우드 계정 상세 페이지의 [통합] 버튼을 클릭한 뒤,
미설치목록에서AWS Redshift를 찾아 [설치] 버튼을 클릭하면 설치 화면이 뜹니다. 설치를 진행하면 됩니다
수동 활성화 스크립트¶
-
Func 콘솔에 로그인한 뒤 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓으로 들어가
integration_aws_redshift를 검색합니다 -
[설치]를 클릭한 뒤, AWS AK ID, AK Secret 및 계정명을 입력합니다
-
[배포 시작 스크립트]를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다 -
활성화한 후에는 「관리 / 자동 트리거 구성」에서 해당 자동 트리거 구성을 확인할 수 있습니다. [실행]을 클릭하면 정기 실행 시간을 기다릴 필요 없이 즉시 한 번 실행됩니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다
검증¶
- 「관리 / 자동 트리거 구성」에서 해당 작업의 자동 트리거 구성이 이미 존재하는지 확인하고, 동시에 작업 기록과 로그를 확인하여 이상이 있는지 점검합니다
- Guance의 「인프라 / 사용자 정의」에서 자산 정보가 있는지 확인합니다
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
아마존 CloudWatch를 구성하면 기본 지표 집합은 다음과 같습니다. 구성 방식으로 더 많은 지표를 수집할 수 있습니다 아마존 CloudWatch 지표 상세
Redshift 지표¶
| 지표 이름 | 설명 | 단위 | 차원 |
|---|---|---|---|
| CPUUtilization | CPU 사용 비율입니다. 클러스터의 경우 이 지표는 모든 노드(리더 노드와 컴퓨팅 노드)의 CPU 사용률 값의 합계를 나타냅니다 | % | ClusterIdentifier |
| HealthStatus | 클러스터의 상태 검사 | 1: 정상 또는 0: 비정상 | ClusterIdentifier |
| MaintenanceMode | 클러스터가 유지 관리 모드인지 여부 | 1: ON 또는 0: OFF | ClusterIdentifier |
| PercentageDiskSpaceUsed | 사용된 디스크 공간의 비율 | % | ClusterIdentifier |
| DatabaseConnections | 클러스터의 데이터베이스 연결 수 | count | ClusterIdentifier |
| CommitQueueLength | 특정 시점에 커밋을 기다리는 트랜잭션 수 | count | ClusterIdentifier |
| ConcurrencyScalingActiveClusters | 주어진 시점에 쿼리를 적극적으로 처리 중인 동시 확장 클러스터 수 | count | ClusterIdentifier |
| NetworkReceiveThroughput | 노드 또는 클러스터가 수신하는 데이터의 속도 | byte/s | ClusterIdentifier |
| NetworkTransmitThroughput | 노드 또는 클러스터가 전송하는 데이터의 속도 | byte/s | ClusterIdentifier |
| MaxConfiguredConcurrencyScalingClusters | 파라미터 그룹에서 구성된 최대 동시 확장 클러스터 수 | count | ClusterIdentifier |
| NumExceededSchemaQuotas | 할당량을 초과한 schema 수 | count | ClusterIdentifier |
| ReadIOPS | 초당 평균 디스크 읽기 작업 수 | count/s | ClusterIdentifier |
| ReadLatency | 디스크 읽기 I/O 작업에 걸리는 평균 시간 | 초 | ClusterIdentifier |
| ReadThroughput | 초당 디스크에서 읽는 평균 바이트 수 | byte | ClusterIdentifier |
| TotalTableCount | 특정 시점에 열려 있는 사용자 테이블 수 | count | ClusterIdentifier |
| WriteIOPS | 초당 평균 디스크 쓰기 작업 수 | count/s | ClusterIdentifier |
| WriteLatency | 디스크 쓰기 I/O 작업에 걸리는 평균 시간 | 초 | ClusterIdentifier |
| WriteThroughput | 초당 디스크에 쓰는 평균 바이트 수 | byte | ClusterIdentifier |
객체¶
수집된 Amazon AWS Redshift 객체 데이터 구조이며, 「인프라-사용자 정의」에서 객체 데이터를 확인할 수 있습니다
{
"measurement": "aws_redshift",
"tags": {
"ClusterAvailabilityStatus" : "Modifying",
"ClusterIdentifier" : "hn-test",
"ClusterStatus" : "creating",
"ClusterSubnetGroupName" : "default",
"ClusterVersion" : "1.0",
"DBName" : "dev",
"MasterUsername" : "awsuser",
"NodeType" : "dc2.large",
"PreferredMaintenanceWindow" : "sat:19:30-sat:20:00",
"RegionId" : "cn-northwest-1",
"VpcId" : "vpc-b1ca3ff0fa4d",
"name" : "hn-test"
},
"fields": {
"AllowVersionUpgrade" : true,
"AutomatedSnapshotRetentionPeriod" : 1,
"ClusterNodes" : "[]",
"ClusterParameterGroups" : "[{\"ParameterApplyStatus\": \"in-sync\", \"ParameterGroupName\": \"default.redshift-1.0\"}]",
"ClusterSecurityGroups" : "[]",
"Encrypted" : false,
"Endpoint" : "{}",
"ManualSnapshotRetentionPeriod" : -1,
"NumberOfNodes" : 1,
"PendingModifiedValues" : "{\"MasterUserPassword\": \"****\"}",
"PubliclyAccessible" : false,
"VpcSecurityGroups" : "[{\"Status\": \"active\", \"VpcSecurityGroupId\": \"sg-467a\"}]",
"message" : "{인스턴스 JSON 데이터}"
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다팁 1:
tags.name값은 인스턴스 ID이며, 고유 식별자로 사용됩니다팁 2:
fields.message,fields.network_interfaces,fields.blockdevicemappings는 JSON 직렬화 후의 문자열입니다