Amazon Aurora
Aurora 사용 설명서 (API 버전 2014-10-31)

확장 모니터링

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

기본적으로 확장 모니터링 지표는 CloudWatch Logs 로그에 30일간 저장됩니다. 지표가 CloudWatch Logs에 저장되는 시간을 수정하려면 CloudWatch 콘솔에서 RDSOSMetrics 로그 그룹의 보존을 변경하십시오. 자세한 내용은 Amazon CloudWatch Logs User GuideCloudWatch에서 로그 데이터 보존 기간을 변경을 참조하십시오.

확장 모니터링 사용 비용은 다음과 같은 몇 가지 요인에 따라 달라집니다.

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

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

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

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

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

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

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

확장 모니터링 설정 및 활성화

확장 모니터링을 설정하고 활성화하려면 아래 나열된 단계를 수행하십시오.

시작하기 전

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

콘솔에서 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 서비스와 통신하도록 허용하려면 다음 단계를 수행합니다.

확장 모니터링을 활성화하는 사용자는 PassRole 권한을 부여받아야 합니다. 자세한 내용은 IAM 사용 설명서사용자에게 AWS 서비스에 역할을 전달할 수 있는 권한 부여에 있는 예제 2를 참조하십시오.

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

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

  2. 탐색 창에서 역할을 선택합니다.

  3. [Create role]을 선택합니다.

  4. [AWS service] 탭을 선택한 다음 서비스 목록에서 [RDS]를 선택합니다.

  5. RDS - Enhanced Monitoring(RDS - 확장 모니터링)을 선택한 다음 Next: Permissions(다음: 권한)를 선택합니다.

  6. Attached permissions policy(연결된 권한 정책) 페이지에 AmazonRDSEnhancedMonitoringRole이 표시되었는지 확인한 다음 Next: Tags(다음: 태그)를 선택합니다.

  7. Add tags(태그 추가) 페이지에서 Next: Review(다음: 검토)를 선택합니다.

  8. Role Name(역할 이름)emaccess와 같은 역할의 이름을 입력한 다음 Create role(역할 생성)을 선택합니다.

Enhanced Monitoring 활성화 및 비활성화

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

다음 작업 중 하나를 수행할 때 RDS 콘솔에서 확장 모니터링을 활성화할 수 있습니다.

  • DB 클러스터 생성고급 설정 구성 페이지에서 확장 모니터링을 활성화할 수 있습니다.

  • 읽기 전용 복제본 생성고급 설정 구성 페이지에서 확장 모니터링을 활성화할 수 있습니다.

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

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

  1. DB 인스턴스 또는 읽기 전용 복제본에 대해 [Enable enhanced monitoring]을 선택합니다.

  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을 비활성화하려면 [Disable enhanced monitoring]을 선택합니다.


          Enable Enhanced Monitoring

Enable Enhanced Monitoring의 경우 DB 인스턴스를 다시 시작하지 않아도 됩니다.

참고

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

확장 모니터링 보기

모니터링에서 확장 모니터링을 선택하면 RDS 콘솔에서 확장 모니터링이 보고하는 OS 측정치를 볼 수 있습니다.

확장 모니터링 페이지가 다음과 같이 표시됩니다.


        대시보드 보기

DB 인스턴스에서 실행 중인 프로세스에 대한 자세한 정보를 보려면 [Monitoring]에 대해 [OS process list]를 선택합니다.

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


        프로세스 목록 보기

프로세스 목록 보기에 표시되는 확장 모니터링 지표는 다음과 같이 구성됩니다.

  • RDS child processes(RDS 하위 프로세스) – DB 인스턴스를 지원하는 RDS 프로세스(예: Amazon Aurora DB 클러스터의 경우 aurora, )를 요약하여 표시합니다. 프로세스 스레드는 상위 프로세스 아래에 중첩되어 표시됩니다. 프로세스 스레드에는 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 보기 단원을 참조하십시오.

다음 기간 중에는 확장 모니터링 지표가 반환되지 않습니다.

  • 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. 탐색 창에서 로그를 선택합니다.

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

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

사용 가능한 OS 측정치

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

Aurora​의 지표

그룹 측정치 설명

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의 비율

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를 나타내는 숫자입니다. 이 식별자는 동일한 프로세스에서 스레드를 그룹화하는 데 사용됩니다.

VIRT

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

swap

swap

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

swap in

디스크에서 스왑된 메모리 양(KB)

swap out

디스크로 스왑된 총 메모리 양(KB)

free

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

committed

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

tasks

blocked

차단되는 작업 수

running

실행 중인 작업 수

sleeping

절전 상태인 작업 수

stopped

중단된 작업 수

total

총 작업 수

zombie

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