콘텐츠로 이동

AWS RDS MySQL

스크립트 마켓의 「Guance 클라우드 동기화」 시리즈 스크립트 패키지를 사용해 클라우드 모니터링 및 클라우드 자산 데이터를 Guance로 동기화합니다

설정

Func 설치

Guance 통합 - 확장 - 관리형 Func 개통을 권장합니다: 모든 사전 조건이 자동으로 설치되므로, 계속해서 스크립트를 설치하세요

직접 배포하는 Func는 Func 직접 배포를 참고하세요

스크립트 설치

안내: 요구사항을 충족하는 Amazon AK를 미리 준비해 주세요. (간단히 하려면 전역 읽기 전용 권한 ReadOnlyAccess를 직접 부여해도 됩니다)

관리형 개통 스크립트

  1. Guance 콘솔에 로그인합니다
  2. 【통합】 메뉴를 클릭하고 【클라우드 계정 관리】를 선택합니다
  3. 【클라우드 계정 추가】를 클릭하고 【AWS】를 선택한 뒤, 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보를 설정한 적이 있다면 이 단계는 건너뜁니다
  4. 【테스트】를 클릭하고, 테스트가 성공하면 【저장】을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다
  5. 【클라우드 계정 관리】 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 들어갑니다
  6. 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤, 미설치 목록에서 AWS RDS MySQL을 찾아 【설치】 버튼을 클릭하면 설치 화면이 뜨고, 그대로 설치하면 됩니다

수동 설치 스크립트

  1. Func 콘솔에 로그인한 뒤 【스크립트 마켓】을 클릭해 Guance 스크립트 마켓으로 들어가고, integration_aws_rds를 검색합니다

  2. 【설치】를 클릭한 뒤, AWS AK ID, AK Secret 및 계정명을 입력합니다

  3. 【시작 스크립트 배포】를 클릭하면 시스템이 자동으로 Startup 스크립트 세트를 생성하고, 해당 시작 스크립트를 자동으로 구성합니다

  4. 활성화한 뒤에는 「관리 / 자동 트리거 설정」에서 해당 자동 트리거 설정을 확인할 수 있습니다. 【실행】을 클릭하면 대기 시간 없이 즉시 한 번 실행할 수 있습니다. 잠시 후 실행 작업 기록과 해당 로그를 확인할 수 있습니다

검증

  1. 「관리 / 자동 트리거 설정」에서 해당 작업의 자동 트리거 설정이 존재하는지 확인하고, 작업 기록 및 로그를 함께 확인해 이상 여부를 점검합니다
  2. Guance의 「기반 시설 / 사용자 정의」에서 자산 정보가 존재하는지 확인합니다
  3. 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/meminfoMemAvailable 필드 값을 보고합니다. 바이트
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 데이터}",
  }
}

주의: tagsfields의 필드는 이후 업데이트에 따라 변경될 수 있습니다

안내 1: tags.name 값은 인스턴스 ID이며, 고유 식별자로 사용됩니다

안내 2: fields.messagefields.Endpoint는 모두 JSON 직렬화된 문자열입니다

문서 평가

이 페이지가 도움이 되었나요?