메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Enhanced Monitoring

Amazon RDS는 DB 인스턴스가 실행되는 운영 체제(OS)에 대한 측정치를 실시간으로 제공합니다. 콘솔을 사용하여 DB 인스턴스에 대한 측정치를 보거나, 선택한 모니터링 시스템의 CloudWatch 로그에서 Enhanced Monitoring JSON 출력을 사용할 수 있습니다.

Enhanced Monitoring 사용 비용은 다음과 같은 다양한 요인에 따라 달라집니다.

  • Amazon CloudWatch Logs이 제공하는 프리 티어를 초과하는 Enhanced Monitoring에 대해서만 비용이 청구됩니다.

    요금에 대한 자세한 내용은 Amazon CloudWatch 요금을 참조하십시오.

  • 모니터링 간격이 작을수록 OS 측정치가 더 자주 보고되고 모니터링 비용이 증가합니다.

  • Enhanced Monitoring 사용 비용은 Enhanced Monitoring을 활성화한 각 DB 인스턴스에 대해 적용됩니다. 모니터링하는 DB 인스턴스의 수가 많을수록 더 많은 비용이 청구됩니다.

  • 컴퓨팅 집약적인 워크로드를 지원하는 DB 인스턴스는 많은 OS 프로세스 활동이 보고되고 Enhanced Monitoring에 대한 높은 비용이 청구됩니다.

Enhanced Monitoring 가용성

  • Enhanced Monitoring은 다음 데이터베이스 엔진에 사용할 수 있습니다.

    • Amazon Aurora

    • MariaDB

    • Microsoft SQL Server

    • MySQL 버전 5.5 이상

    • Oracle

    • PostgreSQL

  • Enhanced Monitoring은 db.t1.microdb.m1.small을 제외한 모든 DB 인스턴스 클래스에서 사용할 수 있습니다.

CloudWatch 측정치와 Enhanced Monitoring 측정치의 차이점

CloudWatch는 DB 인스턴스의 하이퍼바이저에서 CPU 사용률에 대한 측정치를 수집하고, Enhanced Monitoring에서는 인스턴스의 에이전트에서 측정치를 수집합니다. 하이퍼바이저 계층에서는 소량의 작업만 수행하므로 두 측정치 간의 차이점을 확인할 수 있습니다. DB 인스턴스에서 사용하는 인스턴스 클래스가 적을수록 단일 물리적 인스턴스에서 하이퍼바이저 계층에 의해 관리되는 가상 머신(VM)의 수가 더 많아지므로 차이가 더 커질 수 있습니다. Enhanced Monitoring 측정치는 DB 인스턴스의 여러 프로세스 또는 스레드에서 CPU를 사용하는 방법을 확인하려는 경우에 유용합니다.

Enhanced Monitoring 설정 및 활성화

시작하기 전

Enhanced Monitoring은 사용자를 대신하여 CloudWatch Logs에 OS 측정치 정보를 보낼 수 있는 권한이 필요합니다. AWS Identity and Access Management(IAM) 역할을 사용하여 Enhanced Monitoring에 필요한 권한을 부여합니다.

콘솔에서 Enhanced Monitoring을 처음으로 활성화할 때 [Monitoring Role] 속성에 대한 [Default] 옵션을 선택하여 RDS에서 필요한 IAM 역할을 생성하도록 할 수 있습니다. 그러면 RDS에서 rds-monitoring-role 역할을 자동으로 생성하여 지정된 DB 인스턴스 또는 읽기 전용 복제본에 대해 사용합니다.

Enhanced Monitoring을 활성화하기 전에 필요한 역할을 생성한 다음 Enhanced Monitoring을 활성화할 때 새 역할을 이름을 지정할 수도 있습니다. AWS CLI 또는 RDS API를 사용하여 Enhanced Monitoring을 활성화할 경우 이 필수 역할을 생성해야 합니다.

적절한 IAM 역할을 생성하여 Amazon RDS에게 사용자를 대신하여 Amazon CloudWatch Logs 서비스와 통신하도록 허용하려면 다음 단계를 수행합니다.

Amazon RDS Enhanced Monitoring에 대한 IAM 역할을 생성하려면

  1. https://console.aws.amazon.com에서 IAM 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 [Roles(역할)]를 선택합니다.

  3. [Create New Role(새 역할 만들기)]을 선택합니다.

  4. [Role Name]에 역할의 이름(예: emaccess)을 입력합니다. [Next Step(다음 단계)]을 클릭합니다.

  5. [AWS Service Roles]를 선택한 다음 Amazon RDS Role for Enhanced Monitoring으로 스크롤합니다. [Select]를 선택합니다.

  6. [Attach Policy] 페이지에서 AmazonRDSEnhancedMonitoringRole 정책을 선택한 후 [Next Step]을 선택합니다.

  7. 정보를 검토한 후 [Create Role(역할 만들기)]을 선택합니다.

Enhanced Monitoring 활성화 및 비활성화

DB 인스턴스 또는 읽기 전용 복제본을 생성하거나 DB 인스턴스를 수정할 때 Enhanced Monitoring을 활성화할 수 있습니다. Enhanced Monitoring을 활성화하기 위해 DB 인스턴스를 수정하는 경우 DB 인스턴스를 재부팅하지 않아도 변경 내용이 적용됩니다.

다음 작업 중 하나를 수행할 때 RDS 콘솔에서 Enhanced Monitoring을 활성화할 수 있습니다.

  • [Launch a DB Instance] – [Configure Advanced Settings] 페이지에서 Enhanced Monitoring을 활성화할 수 있습니다.

  • [Create Read Replica] – [Configure Advanced Settings] 페이지에서 Enhanced Monitoring을 활성화할 수 있습니다.

  • [Modify a DB Instance] – [Modify DB Instance] 페이지에서 Enhanced Monitoring을 활성화할 수 있습니다.

RDS 콘솔을 사용하여 Enhanced Monitoring을 활성화하려면 [Monitoring] 섹션으로 스크롤한 후 다음 작업을 수행합니다.

  1. DB 인스턴스 또는 읽기 전용 복제본에 대한 [Enable Enhanced Monitoring] 속성을 [Yes]로 설정합니다.

  2. Amazon RDS에 사용자를 대신하여 Amazon CloudWatch Logs와 통신하도록 허용하기 위해 생성한 IAM 역할에 대한 [Monitoring Role] 속성을 설정하거나, [Default]를 선택하여 RDS에서 rds-monitoring-role 역할을 자동으로 생성하도록 합니다.

  3. [Granularity] 속성은 DB 인스턴스 또는 읽기 전용 복제본에 대해 측정치를 수집하는 시점 간의 간격(초)으로 설정합니다. [Granularity] 속성을 1, 5, 10, 15, 30 또는 60 값 중 하나로 설정할 수 있습니다.

Enhanced Monitoring을 비활성화하려면 [Enable Enhanced Monitoring] 속성을 [No]로 설정합니다.

 Enable Enhanced Monitoring

[Enable Enhanced Monitoring] 속성은 DB 인스턴스를 재부팅하지 않아도 됩니다.

참고

RDS 콘솔을 새로 고치는 최소 간격은 5초입니다. RDS 콘솔에서 단위를 1초로 설정한 경우에도 업데이트된 측정치는 5초마다 표시됩니다. CloudWatch Logs를 사용하여 1초 측정치 업데이트를 검색할 수 있습니다.

Enhanced Monitoring 보기

[Show Monitoring]에 대해 [Enhanced Monitoring Dashboard] 보기를 선택하여 RDS 콘솔에서 Enhanced Monitoring에 의해 보고되는 OS 측정치를 볼 수 있습니다. 두 보기를 사용할 수 있으며, [Dashboard] 보기에는 OS 측정치에 대한 그래프가 표시되고, [Process List] 보기에는 DB 인스턴스에서 실행 중인 프로세스와 관련 측정치(CPU 비율, 메모리 사용 등)가 표시됩니다.

대시보드 보기는 다음과 같이 표시됩니다.

 대시보드 보기

프로세스 목록 보기는 다음과 같이 표시됩니다.

 프로세스 목록 보기

프로세스 목록 보기에 표시되는 Enhanced Monitoring 측정치는 다음과 같이 구성됩니다.

  • [RDS child processes] – DB 인스턴스를 지원하는 RDS 프로세스(예: Amazon Aurora DB 클러스터의 경우 aurora, MySQL DB 인스턴스의 경우 mysqld)를 요약하여 표시합니다. 프로세스 스레드는 상위 프로세스 아래에 중첩되어 표시됩니다. 프로세스 스레드에는 CPU 사용률만 표시됩니다. 다른 측정치는 프로세스의 모든 스레드에 대해 동일합니다. 콘솔에는 최대 100개의 프로세스와 스레드가 표시됩니다. 결과에는 CPU와 메모리를 소비하는 상위 프로세스 및 스레드가 함께 표시됩니다. 프로세스와 스레드가 각각 50개 이상씩 있는 경우 콘솔에는 각 범주의 상위 50개 소비자가 표시됩니다. 이 표시를 통해 성능에 가장 큰 영향을 미치고 있는 프로세스를 식별할 수 있습니다.

  • [RDS processes] – RDS DB 인스턴스를 지원하는 데 필요한 RDS 관리 에이전트, 진단 모니터링 프로세스 및 기타 AWS 프로세스에서 사용되는 리소스를 요약하여 표시합니다.

  • [OS processes] – 일반적으로 성능에 최소한의 영향만 미치는 커널 및 시스템 프로세스를 요약하여 표시합니다.

각 프로세스에 대해 나열되는 항목은 다음과 같습니다.

  • VIRT – 프로세스의 가상 크기를 표시합니다.

  • RES – 프로세스에서 사용 중인 실제 물리적 메모리를 표시합니다.

  • CPU% – 프로세스에서 사용하는 CPU 대역폭의 비율을 표시합니다.

  • MEM% – 프로세스에서 사용하는 총 메모리의 비율을 표시합니다.

RDS 콘솔에 표시되는 모니터링 데이터는 Amazon CloudWatch Logs으로부터 검색됩니다. CloudWatch Logs로부터 로그 스트림으로 DB 인스턴스용 측정치를 검색할 수도 있습니다. 자세한 내용은 CloudWatch Logs를 사용하여 Enhanced Monitoring 보기 단원을 참조하십시오.

Enhanced Monitoring 측정치는 다음 기간에는 반환되지 않습니다.

  • DB 인스턴스의 장애 조치 동안.

  • DB 인스턴스의 인스턴스 클래스 변경(컴퓨팅 확장) 중.

Enhanced Monitoring 측정치는 데이터베이스 엔진이 재부팅되는 이유로만 DB 인스턴스의 재부팅 동안 반환됩니다. 운영 체제의 측정치는 계속 보고됩니다.

CloudWatch Logs를 사용하여 Enhanced Monitoring 보기

DB 인스턴스에 대한 Enhanced Monitoring을 활성화한 후 CloudWatch Logs를 사용하여 DB 인스턴스에 대한 측정치를 볼 수 있습니다. 각 로그 스트림에는 모니터링 중인 단일 DB 인스턴스가 표시됩니다. 로그 스트림 식별자는 DB 인스턴스에 대한 리소스 식별자(DbiResourceId)입니다.

Enhanced Monitoring 로그 데이터를 보려면

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 필요한 경우 DB 인스턴스가 있는 리전을 선택합니다. 자세한 내용은 Amazon Web Services 일반 참조리전 및 엔드포인트를 참조하십시오.

  3. 탐색 창에서 [Logs]를 선택합니다.

  4. 로그 그룹 목록에서 [RDSOSMetrics]를 선택합니다.

  5. 로그 스트림 목록에서 보려는 로그 스트림을 선택합니다.

사용 가능한 OS 측정치

다음 표에는 Amazon CloudWatch Logs에서 사용 가능한 OS 측정치가 나와 있습니다.

Amazon Aurora, MariaDB, MySQL, Oracle, PostgreSQL DB 인스턴스의 측정치

그룹 측정치 설명

General

engine

DB 인스턴스에 대한 데이터베이스 엔진

instanceID

DB 인스턴스 식별자

instanceResourceID

DB 인스턴스에 대해 리전별로 고유하고 변경 불가능한 식별자이며, 로그 스트림 식별자로도 사용됩니다.

numVCPUs

DB 인스턴스의 가상 CPU 수

timestamp

측정치를 가져온 시간

uptime

DB 인스턴스가 활성 상태로 유지된 시간

version

OS 측정치 스트림 JSON 형식의 버전

cpuUtilization

guest

게스트 프로그램에서 사용 중인 CPU의 비율

idle

유휴 상태인 CPU의 비율

irq

소프트웨어 인터럽트에서 사용 중인 CPU의 비율

nice

가장 낮은 우선순위로 실행 중인 프로그램에서 사용 중인 CPU의 비율

steal

다른 가상 머신에서 사용 중인 CPU의 비율

system

커널에서 사용 중인 CPU의 비율

total

사용 중인 CPU의 총 비율입니다. 이 값에는 nice 값이 포함됩니다.

user

사용자 프로그램에서 사용 중인 CPU의 비율

wait

I/O 액세스를 대기 중인 동안 사용되지 않은 CPU의 비율

diskIO

avgQueueLen

I/O 디바이스의 대기열에서 대기 중인 요청 수입니다.

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

avgReqSz

평균 요청 크기(KB)

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

await

대기열 시간과 서비스 시간을 포함하여 요청에 응답하는 데 필요한 시간(밀리초)

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

device

사용 중인 디스크 디바이스의 식별자

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

readIOsPS

초당 읽기 작업 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

readKb

읽은 총 KB 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

readKbPS

초당 읽은 KB 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

rrqmPS

초당 대기 중인 병합 읽기 요청 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

tps

초당 I/O 트랜잭션 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

util

요청이 발급된 CPU 시간의 비율

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

writeIOsPS

초당 쓰기 작업 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

writeKb

기록한 총 KB 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

writeKbPS

초당 기록한 KB 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

wrqmPS

초당 대기 중인 병합 쓰기 요청 수

Amazon Aurora에는 이 측정치를 사용할 수 없습니다.

fileSys

maxFiles

파일 시스템에 대해 생성될 수 있는 최대 파일 수

mountPoint

파일 시스템의 경로

name

파일 시스템의 이름

total

파일 시스템에 사용 가능한 총 디스크 공간(KB)

used

파일 시스템에서 파일에 사용된 디스크 공간의 양(KB)

usedFilePercent

사용 중인 사용 가능한 파일의 비율

usedFiles

파일 시스템의 파일 수

usedPercent

사용 중인 파일 시스템 디스크 공간의 비율

loadAverageMinute

fifteen

마지막 15분 동안 CPU 시간을 요청한 프로세스 수

five

마지막 5분 동안 CPU 시간을 요청한 프로세스 수

one

마지막 1분 동안 CPU 시간을 요청한 프로세스 수

memory

active

할당된 메모리의 양(KB)

buffers

스토리지 디바이스에 쓰기 이전에 I/O 요청을 버퍼링하는 데 사용되는 메모리의 양(KB)

cached

파일 시스템 기반 I/O를 캐시하는 데 사용된 메모리의 양

dirty

수정되었지만 스토리지의 관련 데이터 블록에 기록되지 않은 RAM의 메모리 페이지 양(KB)

free

할당되지 않은 메모리의 양(KB)

hugePagesFree

사용 가능한 방대한 페이지 수입니다. 방대한 페이지는 Linux 커널의 기능입니다.

hugePagesRsvd

커밋된 방대한 페이지의 수

hugePagesSize

각 방대한 페이지 단위의 크기(KB)

hugePagesSurp

총계 대비 사용 가능한 초과 방대한 페이지 수

hugePagesTotal

시스템의 총 방대한 페이지 수

inactive

가장 적게 사용되는 메모리 페이지의 양(KB)

mapped

프로세스 주소 공간 내에 메모리 매핑되는 총 파일 시스템 콘텐츠 양(KB)

pageTables

페이지 표에 사용된 메모리의 양(KB)

slab

재사용 가능한 커널 데이터 구조의 양(KB)

total

총 메모리 양(KB)

writeback

RAM에서 지원 스토리지에 아직 기록 중인 더티 페이지의 양(KB)

network

interface

DB 인스턴스에 대해 사용 중인 네트워크 인터페이스의 식별자

rx

초당 수신된 바이트 수

tx

초당 업로드된 바이트 수

processList

cpuUsedPc

프로세스에서 사용된 CPU 비율

id

프로세스의 식별자

memoryUsedPc

프로세스에 사용된 메모리의 양(KB)

name

프로세스의 이름입니다.

parentID

프로세스의 상위 프로세스에 대한 프로세스 식별자

rss

프로세스에 할당된 RAM의 양(KB)

tgid

스레드 그룹 식별자이며, 스레드가 속한 프로세스 ID를 나타내는 숫자입니다. 이 식별자는 동일한 프로세스에서 스레드를 그룹화하는 데 사용됩니다.

vss

프로세스에 할당된 가상 메모리의 양(KB)

swap

cached

캐시 메모리로 사용된 스왑 메모리의 양(KB)

free

사용 가능한 총 스왑 메모리 양(KB)

total

사용 가능한 총 스왑 메모리 양(KB)

tasks

blocked

차단되는 작업 수

running

실행 중인 작업 수

sleeping

절전 상태인 작업 수

stopped

중단된 작업 수

total

총 작업 수

zombie

상위 작업은 활성화되었지만 비활성 상태인 하위 작업 수

Microsoft SQL Server DB 인스턴스에 대한 측정치

그룹 측정치 설명

General

engine

DB 인스턴스에 대한 데이터베이스 엔진

instanceID

DB 인스턴스 식별자

instanceResourceID

DB 인스턴스에 대해 리전별로 고유하고 변경 불가능한 식별자이며, 로그 스트림 식별자로도 사용됩니다.

numVCPUs

DB 인스턴스의 가상 CPU 수

timestamp

측정치를 가져온 시간

uptime

DB 인스턴스가 활성 상태로 유지된 시간

version

OS 측정치 스트림 JSON 형식의 버전

cpuUtilization

idle

유휴 상태인 CPU의 비율

kern

커널에서 사용 중인 CPU의 비율

user

사용자 프로그램에서 사용 중인 CPU의 비율

disks

name

디스크에 대한 식별자

totalKb

디스크의 총 공간(KB)

usedKb

디스크에서 사용된 공간의 양(KB)

usedPc

디스크에서 사용된 공간의 비율(%)

availKb

디스크에서 사용 가능한 공간(KB)

availPc

디스크에서 사용 가능한 공간의 비율(%)

rdCountPS

초당 읽기 작업 수

rdBytesPS

초당 읽은 바이트 수

wrCountPS

초당 쓰기 작업 수

wBytesPS

초당 기록한 바이트 양

memory

commitToKb

사용 중인 페이지 파일 지원 가상 주소 공간의 양 즉, 현재 약정 요금입니다. 이 값은 기본 메모리(RAM)와 디스크(페이지 파일)로 구성됩니다.

commitLimitKb

commitTotKb 측정치에 대해 가능한 최대값입니다. 이 값은 현재 페이지 파일 크기와 페이징 가능한 콘텐츠에 사용할 수 있는 물리적 메모리(페이징 불가능 영역에 할당된 RAM 제외)의 합계입니다.

commitPeakKb

운영 체제를 마지막으로 시작한 이후의 commitTotKb 측정치 중 가장 큰 값

kernTotKb

페이징된 풀과 페이징되지 않은 풀의 메모리 합계(KB)

kernPagedKb

페이징된 커널 풀의 메모리 양(KB)

kernNonpagedKb

페이징되지 않은 커널 풀의 메모리 양(KB)

pageSize

페이지 크기(KB)

physTotKb

물리적 메모리의 양(KB)

physAvailKb

사용 가능한 물리적 메모리의 양(KB)

sqlServerTotKb

Microsoft SQL Server에 커밋된 메모리의 양(KB)

sysCacheKb

시스템 캐시 메모리의 양(KB)

network

interface

DB 인스턴스에 대해 사용 중인 네트워크 인터페이스의 식별자

rdBytesPS

초당 수신된 바이트 수

wrBytesPS

초당 보낸 바이트 수

processList

cpuUsedPc

프로세스에서 사용된 CPU 비율

memUsedPc

프로세스에 사용된 메모리의 양(KB)

name

프로세스의 이름입니다.

pid

프로세스의 식별자. Amazon RDS에서 소유한 프로세스의 경우 이 값이 표시되지 않습니다.

ppid

이 프로세스의 상위에 대한 프로세스 식별자입니다. 이 값은 하위 프로세스에 대해서만 표시됩니다.

tid

스레드 식별자입니다. 이 값은 스레드에 대해서만 표시됩니다. 소유 프로세스는 pid 값을 사용하여 식별할 수 있습니다.

workingSetKb

프라이빗 작업 세트의 메모리 양과 프로세스에서 사용 중이고 다른 프로세스와 공유 가능한 메모리의 양을 더한 값(KB)

workingSetPrivKb

프로세스에서 사용 중이지만 다른 프로세스와 공유할 수 없는 메모리의 양(KB)

workingSetShareableKb

프로세스에서 사용 중이고 다른 프로세스와 공유할 수 있는 메모리의 양(KB)

virtKb

프로세스에서 사용 중인 가상 주소 공간의 양(KB)입니다. 가상 주소 공간을 사용하는 것이 반드시 디스크 또는 기본 메모리 페이지를 사용하는 것을 의미하지는 않습니다.

system

handles

시스템에서 사용 중인 핸들 수

processes

시스템에서 실행 중인 프로세스 수

threads

시스템에서 실행 중인 스레드 수

관련 주제