AWS RDS MySQL¶
스크립트 마켓의 「Guance 클라우드 동기화」 시리즈 스크립트 패키지를 사용해 클라우드 모니터링 및 클라우드 자산 데이터를 Guance로 동기화합니다
설정¶
Func 설치¶
Guance 통합 - 확장 - 관리형 Func 개통을 권장합니다: 모든 사전 조건이 자동으로 설치되므로, 계속해서 스크립트를 설치하세요
직접 배포하는 Func는 Func 직접 배포를 참고하세요
스크립트 설치¶
안내: 요구사항을 충족하는 Amazon AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한
ReadOnlyAccess를 직접 부여해도 됩니다)
관리형 개통 스크립트¶
- Guance 콘솔에 로그인합니다
- 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다
- 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 설정한 적이 있다면 이 단계는 건너뜁니다
- 【테스트】를 클릭하고, 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다
- 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤,
미설치목록에서AWS RDS MySQL을 찾아 【설치】 버튼을 클릭하면 설치 화면이 뜨고, 그대로 설치하면 됩니다
수동 설치 스크립트¶
-
Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭해 Guance 스크립트 마켓으로 들어가고,
integration_aws_rds를 검색합니다 -
【설치】를 클릭한 뒤, AWS AK ID, AK Secret 및 계정명을 입력합니다
-
【시작 스크립트 배포】를 클릭하면 시스템이 자동으로
Startup스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다 -
활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 대기 시간 없이 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다
검증¶
- 「관리 / 자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 작업 기록 및 로그를 함께 확인해 이상 여부를 점검합니다
- Guance의 「기반 시설 / 사용자 정의」에서 자산 정보가 존재하는지 확인합니다
- Guance의 「지표」에서 해당 모니터링 데이터가 있는지 확인합니다
지표¶
아마존 클라우드 모니터링을 설정한 후 기본 지표 세트는 아래와 같습니다. 설정을 통해 더 많은 지표를 수집할 수 있습니다: Amazon RDS 지표 상세
Amazon RDS의 Amazon CloudWatch 인스턴스 수준 지표¶
Amazon CloudWatch의 AWS/RDS 네임스페이스에는 다음 인스턴스 수준 지표가 포함됩니다.
참고:
Amazon RDS 콘솔은 Amazon CloudWatch로 전송되는 단위와 다른 단위로 지표를 표시할 수 있습니다. 예를 들어 Amazon RDS 콘솔은 어떤 지표를 메가바이트(MB)로 표시하면서, 같은 지표를 바이트 단위로 Amazon CloudWatch에 전송할 수 있습니다.
아래 표는 AWS 공식 문서를 기준으로 정리했으며, MySQL에 적용되거나 모든 인스턴스에 적용되는 지표만 남겼습니다.
| 지표 | 적용 대상 | 설명 | 단위 |
|---|---|---|---|
BinLogDiskUsage |
MySQL | 이진 로그가 차지하는 디스크 공간 크기입니다. MySQL 및 MariaDB 인스턴스(읽기 전용 복제본 포함)에 자동 백업이 활성화되어 있으면 이진 로그가 생성됩니다. | 바이트 |
BurstBalance |
전체 | 사용 가능한 범용 SSD(GP2) 버스트 버킷 I/O 크레딧의 백분율입니다. | 퍼센트 |
ConnectionAttempts |
MySQL | 성공 여부와 관계없이 인스턴스 연결 시도 횟수입니다. | 카운트 |
CPUUtilization |
전체 | CPU 사용률입니다. | 퍼센트 |
CPUCreditUsage |
전체 | 인스턴스가 CPU 사용률을 유지하기 위해 사용한 CPU 크레딧 수입니다. CPU 크레딧 1개는 vCPU 1개를 100% 사용률로 1분 동안 실행한 것과 같거나, 이에 준하는 vCPU·사용률·시간 조합에 해당합니다. 이 지표는 db.t2, db.t3, db.t4g 인스턴스에만 적용됩니다. CPU 크레딧 지표는 5분마다만 제공되므로, 5분보다 긴 기간을 지정하는 경우 Sum 통계를 사용하는 것이 좋습니다. |
크레딧(vCPU 분) |
CPUCreditBalance |
전체 | 인스턴스 시작 이후 누적된 CPU 크레딧 수입니다. T2 Standard의 경우 CPUCreditBalance에는 누적된 시작 크레딧 수도 포함됩니다. 이 지표는 db.t2, db.t3, db.t4g 인스턴스에만 적용됩니다. |
크레딧(vCPU 분) |
CPUSurplusCreditBalance |
전체 | CPUCreditBalance 값이 0일 때 무제한 인스턴스가 사용한 초과 크레딧 수입니다. |
크레딧(vCPU 분) |
CPUSurplusCreditsCharged |
전체 | 획득한 CPU 크레딧으로 지불되지 않아 추가 비용이 발생하는 초과 크레딧 사용량입니다. | 크레딧(vCPU 분) |
DatabaseConnections |
전체 | 데이터베이스 인스턴스에 연결된 클라이언트 네트워크 연결 수입니다. 데이터베이스 세션 수는 이 지표 값보다 많을 수 있는데, 이 지표에는 네트워크가 끊겼지만 아직 정리되지 않은 세션, 데이터베이스 내부 세션, 병렬 실행 세션, 작업 스케줄링 세션, Amazon RDS 연결이 포함되지 않기 때문입니다. | 카운트 |
DiskQueueDepth |
전체 | 디스크 접근을 기다리는 미완료 I/O(읽기/쓰기 요청) 수입니다. | 카운트 |
DiskQueueDepthLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨 디스크 접근을 기다리는 미완료 I/O(읽기/쓰기 요청) 수입니다. | 카운트 |
EBSByteBalance% |
전체 | RDS 데이터베이스 버스트 버킷에 남아 있는 처리량 크레딧의 백분율입니다. 이 지표는 기본 모니터링에서만 사용할 수 있습니다. | 퍼센트 |
EBSIOBalance% |
전체 | RDS 데이터베이스 버스트 버킷에 남아 있는 I/O 크레딧의 백분율입니다. 이 지표는 기본 모니터링에서만 사용할 수 있습니다. | 퍼센트 |
FreeableMemory |
전체 | 사용 가능한 RAM 크기입니다. MariaDB, MySQL, Oracle, PostgreSQL 데이터베이스 인스턴스의 경우 이 지표는 /proc/meminfo의 MemAvailable 필드 값을 보고합니다. |
바이트 |
FreeLocalStorage |
전체 | 사용 가능한 로컬 스토리지 크기입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 바이트 |
FreeLocalStoragePercent |
전체 | 사용 가능한 로컬 스토리지의 백분율입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 퍼센트 |
FreeStorageSpace |
전체 | 사용 가능한 스토리지 공간 크기입니다. | 바이트 |
FreeStorageSpaceLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨에서 사용 가능한 스토리지 공간 크기입니다. | 바이트 |
IamDbAuthConnectionRequests |
전체 | IAM 인증을 사용해 데이터베이스 인스턴스에 접근하는 연결 요청 수입니다. | 카운트 |
NetworkReceiveThroughput |
전체 | 모니터링 및 복제에 사용되는 고객 데이터베이스 트래픽과 Amazon RDS 트래픽을 포함한 데이터베이스 인스턴스의 수신 네트워크 트래픽입니다. | 초당 바이트 수 |
NetworkTransmitThroughput |
전체 | 모니터링 및 복제에 사용되는 고객 데이터베이스 트래픽과 Amazon RDS 트래픽을 포함한 데이터베이스 인스턴스의 송신 네트워크 트래픽입니다. | 초당 바이트 수 |
ReadIOPS |
전체 | 초당 평균 디스크 읽기 I/O 작업 수입니다. | 초당 카운트 |
ReadIOPSLocalStorage |
전체 | 로컬 스토리지로의 초당 평균 디스크 읽기 I/O 작업 수입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초당 카운트 |
ReadIOPSLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨으로의 초당 평균 디스크 읽기 I/O 작업 수입니다. | 초당 카운트 |
ReadLatency |
전체 | 각 디스크 I/O 작업에 걸리는 평균 시간입니다. | 초 |
ReadLatencyLocalStorage |
전체 | 로컬 스토리지에 대한 각 디스크 입출력 작업에 걸리는 평균 시간입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초 |
ReadLatencyLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨으로의 각 디스크 I/O 작업에 걸리는 평균 시간입니다. | 초 |
ReadThroughput |
전체 | 초당 디스크에서 읽는 평균 바이트 수입니다. | 초당 바이트 수 |
ReadThroughputLocalStorage |
전체 | 초당 디스크에서 로컬 스토리지로 읽는 평균 바이트 수입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초당 바이트 수 |
ReadThroughputLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 초당 디스크에서 로그 볼륨으로 읽는 평균 바이트 수입니다. | 초당 바이트 수 |
ReplicaLag |
전체 | 읽기 전용 복제본 구성의 경우, 읽기 전용 복제본 데이터베이스 인스턴스가 소스 데이터베이스 인스턴스보다 지연된 시간입니다. 다중 AZ 데이터베이스 클러스터의 경우 쓰기 인스턴스의 최신 트랜잭션과 읽기 인스턴스의 최신 적용 트랜잭션 사이의 시간 차이를 나타냅니다. | 초 |
ReplicationChannelLag |
MySQL | 다중 소스 복제본 구성에서, 다중 소스 복제본의 특정 채널이 소스 데이터베이스 인스턴스보다 지연된 시간입니다. | 초 |
SwapUsage |
MySQL | 데이터베이스 인스턴스에서 사용 중인 스왑 공간 크기입니다. | 바이트 |
WriteIOPS |
전체 | 초당 평균 디스크 쓰기 I/O 작업 수입니다. | 초당 카운트 |
WriteIOPSLocalStorage |
전체 | 로컬 스토리지의 초당 평균 디스크 쓰기 I/O 작업 수입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초당 카운트 |
WriteIOPSLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨으로의 초당 평균 디스크 쓰기 I/O 작업 수입니다. | 초당 카운트 |
WriteLatency |
전체 | 각 디스크 I/O 작업에 걸리는 평균 시간입니다. | 초 |
WriteLatencyLocalStorage |
전체 | 로컬 스토리지에서 각 디스크 I/O 작업에 걸리는 평균 시간입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초 |
WriteLatencyLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 로그 볼륨으로의 각 디스크 I/O 작업에 걸리는 평균 시간입니다. | 초 |
WriteThroughput |
전체 | 초당 디스크에 쓰는 평균 바이트 수입니다. | 초당 바이트 수 |
WriteThroughputLogVolume |
전용 로그 볼륨이 활성화된 데이터베이스 인스턴스 | 초당 로그 볼륨에 쓰는 평균 바이트 수입니다. | 초당 바이트 수 |
WriteThroughputLocalStorage |
전체 | 로컬 스토리지의 초당 디스크 쓰기 평균 바이트 수입니다. 이 지표는 NVMe SSD 인스턴스 스토리지 볼륨이 있는 데이터베이스 인스턴스 클래스에만 적용됩니다. | 초당 바이트 수 |
Amazon RDS의 Amazon CloudWatch 사용량 지표¶
Amazon CloudWatch의 AWS/Usage 네임스페이스에는 Amazon RDS 서비스 할당량에 대한 계정 수준 사용량 지표가 포함됩니다. CloudWatch는 모든 AWS 리전의 사용량 지표를 자동으로 수집합니다.
자세한 내용은 《Amazon CloudWatch 사용자 가이드》의 CloudWatch 사용량 지표를 참고하세요. 할당량에 대한 자세한 내용은 《Service Quotas 사용자 가이드》의 Amazon RDS의 할당량과 제한 및 할당량 증가 요청을 참고하세요。
| 지표 | 설명 | 단위* |
|---|---|---|
AllocatedStorage |
모든 데이터베이스 인스턴스의 총 스토리지 공간입니다. 이 합계에는 임시 마이그레이션 인스턴스는 포함되지 않습니다. | 기가바이트 |
AuthorizationsPerDBSecurityGroup |
AWS 계정의 각 데이터베이스 보안 그룹에 대한 인바운드 규칙 수입니다. 사용되는 값은 계정 내 데이터베이스 보안 그룹의 인바운드 규칙 최대 수입니다. | 카운트 |
CustomEndpointsPerDBCluster |
AWS 계정의 각 데이터베이스 클러스터에 대한 사용자 지정 엔드포인트 수입니다. 사용되는 값은 계정 내 데이터베이스 클러스터의 사용자 지정 엔드포인트 최대 수입니다. | 카운트 |
CustomEngineVersions |
AWS 계정의 Amazon RDS Custom 사용자 지정 엔진 버전(CEV) 수입니다. | 카운트 |
DBClusterParameterGroups |
AWS 계정의 데이터베이스 클러스터 파라미터 그룹 수입니다. 이 카운트에는 기본 파라미터 그룹은 포함되지 않습니다. | 카운트 |
DBClusterRoles |
AWS 계정의 각 데이터베이스 클러스터에 연결된 AWS Identity and Access Management(IAM) 역할 수입니다. 사용되는 값은 계정 내 데이터베이스 클러스터에 연결된 IAM 역할의 최대 수입니다. | 카운트 |
DBClusters |
AWS 계정의 Amazon Aurora 데이터베이스 클러스터 수입니다. | 카운트 |
DBInstanceRoles |
AWS 계정의 각 데이터베이스 인스턴스에 연결된 AWS Identity and Access Management(IAM) 역할 수입니다. 사용되는 값은 계정 내 데이터베이스 인스턴스에 연결된 IAM 역할의 최대 수입니다. | 카운트 |
DBInstances |
AWS 계정의 데이터베이스 인스턴스 수입니다. | 카운트 |
DBParameterGroups |
AWS 계정의 데이터베이스 파라미터 그룹 수입니다. 이 카운트에는 기본 데이터베이스 파라미터 그룹은 포함되지 않습니다. | 카운트 |
DBSecurityGroups |
AWS 계정의 보안 그룹 수입니다. 이 카운트에는 기본 보안 그룹과 기본 VPC 보안 그룹은 포함되지 않습니다. | 카운트 |
DBSubnetGroups |
AWS 계정의 데이터베이스 서브넷 그룹 수입니다. 이 카운트에는 기본 서브넷 그룹은 포함되지 않습니다. | 카운트 |
EventSubscriptions |
AWS 계정의 이벤트 알림 구독 수입니다. | 카운트 |
Integrations |
AWS 계정에서 Amazon Redshift와 수행하는 Zero-ETL 통합 수입니다. | 카운트 |
ManualClusterSnapshots |
AWS 계정에서 수동으로 생성한 데이터베이스 클러스터 스냅샷 수입니다. 이 카운트에는 무효한 스냅샷은 포함되지 않습니다. | 카운트 |
ManualSnapshots |
AWS 계정에서 수동으로 생성한 데이터베이스 스냅샷 수입니다. 이 카운트에는 무효한 스냅샷은 포함되지 않습니다. | 카운트 |
OptionGroups |
AWS 계정의 옵션 그룹 수입니다. 이 카운트에는 기본 옵션 그룹은 포함되지 않습니다. | 카운트 |
Proxies |
AWS 계정의 RDS 프록시 수입니다. | 카운트 |
ReadReplicasPerMaster |
계정의 각 데이터베이스 인스턴스에 대한 읽기 전용 복제본 수입니다. 사용되는 값은 계정 내 데이터베이스 인스턴스 읽기 전용 복제본의 최대 수입니다. | 카운트 |
ReservedDBInstances |
AWS 계정의 예약된 데이터베이스 인스턴스 수입니다. 이 카운트에는 비활성화되었거나 거부된 인스턴스는 포함되지 않습니다. | 카운트 |
SubnetsPerDBSubnetGroup |
AWS 계정의 각 데이터베이스 서브넷 그룹에 대한 서브넷 수입니다. 사용되는 값은 계정 내 데이터베이스 서브넷 그룹의 서브넷 최대 수입니다. | 카운트 |
* Amazon RDS는 CloudWatch에 사용량 지표의 단위를 게시하지 않습니다. 이 단위는 문서에만 표시됩니다.
객체¶
수집된 AWS RDS MySQL 객체 데이터 구조는 「기반 시설-사용자 정의」에서 객체 데이터를 확인할 수 있습니다
{
"measurement": "aws_rds",
"tags": {
"name" : "xxxxx",
"RegionId" : "cn-northwest-1",
"Engine" : "mysql",
"DBInstanceClass" : "db.t3.medium",
"DBInstanceIdentifier" : "xxxxxx",
"AvailabilityZone" : "cn-northwest-1c",
"SecondaryAvailabilityZone": "cn-northwest-1d"
},
"fields": {
"InstanceCreateTime" : "2018-03-28T19:54:07.871Z",
"LatestRestorableTime": "2018-03-28T19:54:07.871Z",
"Endpoint" : "{연결 주소 JSON 데이터}",
"AllocatedStorage" : 100,
"message" : "{인스턴스 JSON 데이터}",
}
}
주의:
tags와fields의 필드는 이후 업데이트에 따라 변경될 수 있습니다안내 1:
tags.name값은 인스턴스 ID이며, 고유 식별자로 사용됩니다안내 2:
fields.message와fields.Endpoint는 모두 JSON 직렬화된 문자열입니다