일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 프로그래머스 가장 긴 팰린드롬
- 백준 1043 거짓말 파이썬
- 가장 긴 바이토닉 부분 수열 파이썬
- 프로그래머스 베스트앨범
- 다중 컬럼 NOT IN
- 반도체 설계 파이썬
- 베스트앨범 파이썬
- 다리 만들기 파이썬
- 백준 2352 반도체 설계 파이썬
- 백준 1238 파티 파이썬
- SQL SERVER 장비교체
- 백준 11054.가장 긴 바이토닉 부분 수열
- SWEA
- 프로그래머스 등굣길
- 프로그래머스 순위 파이썬
- 게임 개발 파이썬
- 트리의 지름 파이썬
- 백준 1034 램프 파이썬
- 등굣길 파이썬
- 백준 2146 다리 만들기
- 가장 긴 팰린드롬 파이썬
- 순위 파이썬
- 램프 파이썬
- 백준 1516 게임 개발
- 백준 1613 역사
- 역사 파이썬
- 프로그래머스 여행경로
- 백준 1167 트리의 지름 파이썬
- 프로그래머스 순위
- SQL SERVER MIGRATION
- Today
- Total
공부, 기록
[AWS] Aurora 공부 3 (모니터링) 본문
2024.07.04 - [공부/DATABASE] - [AWS] Aurora 공부 1 (아키텍처와 특징)
[AWS] Aurora 공부 1 (아키텍처와 특징)
1. 내부 아키텍처Aurora 는 클러스터 볼륨이라는 특수한 스토리지 구조를 가지고 있으며 단일 리전의 각기 다른 가용 영역에 구성됩니다.스토리지는 3개의 가용 영역(AZ)에 걸쳐 있는 가상 디스크
kominjae.tistory.com
2024.07.06 - [공부/DATABASE] - [AWS] Aurora 공부 2 (Aurora의 기능들)
[AWS] Aurora 공부 2 (Aurora의 기능들)
Aurora의 블루그린 배포 메이저 버전의 업그레이드의 경우 스토리지와 컴퓨팅 영역이 분리된 Aurora의 특징으로 인하여 블루/그린 배포 방식을 통하여 진행이 가능하며 블루/그린 배포의 경우 (MySQ
kominjae.tistory.com
2024.09.15 - [공부/DATABASE] - [AWS] Aurora 공부 3 (모니터링)
[AWS] Aurora 공부 3 (모니터링)
Aurora 모니터링 도구들 클라우드 워치 Amazon Aurora에서 원시 데이터를 수집한 후 판독이 가능한 지표로 실시간에 가깝게 처리합니다Amazon Aurora는 기본적으로 1분 단위로 CloudWatch에 지표 데이터를
kominjae.tistory.com
Aurora 모니터링 도구들
-
클라우드 워치
Amazon Aurora에서 원시 데이터를 수집한 후 판독이 가능한 지표로 실시간에 가깝게 처리합니다
Amazon Aurora는 기본적으로 1분 단위로 CloudWatch에 지표 데이터를 자동 전송합니다.
CloudWatch 서비스를 통해 여러 클러스터를 하나의 지표로 모니터링 할 수 있습니다.CloudWatch를 통해 각 지표의 알람을 설정할 수 있습니다. -
향상된 모니터링
OS 환경에 대해 더 정확한 모니터링을 제공합니다.
Aurora 인스턴스의 Local 에이전트에 데이터를 수집하고 가져옵니다(클라우드 워치는 VM을 실행하는 하이퍼바이저에서 수집합니다).
디폴트 수집 기간은 1분이며, 최대 1초 단위로 변경이 가능합니다. -
성능 개선 도우미
Amazon Aurora 클러스터 로드를 시각화하고 대기 시간, SQL 문, 호스트 또는 사용자를 기준으로 로드를 필터링할 수 있습니다.
t4g.medium 이상부터 사용이 가능합니다.
성능 개선 도우미 에이전트는 DB 호스트에서 제한된 CPU 및 메모리를 사용합니다.
DB 로드가 높을 경우 에이전트는 데이터 수집 빈도를 줄여 성능에 미치는 영향을 제한합니다.
Database Load
DBLoad는 성능 개선 도우미의 주요 지표이며, DB의 세션 활동을 측정합니다. 성능 개선 도우미는 1초마다 DBLoad를 수집합니다.
Active Session : 클라이언트에서 DB에 요청 이후 응답을 대기 중인 연결 세션을 말합니다.
DBLoad는 waits 타입(대기 이벤트), SQL 쿼리, host, user, db 별로 집계하여 볼 수 있습니다.
Aurora MySQL의 대기 이벤트 목록
성능 개선 도우미는 활성 세션을 체크하고 이를 인스턴스의 최대 vCPU와 비교합니다.
Performance_schema와 성능 개선 도우미는 별개의 기능이지만 연결되어 있는 부분이 있습니다.
성능 스키마 켜짐 | 관리 모드 | 성능 개선 도우미 행동 |
예 | 자동 |
|
예 | 수동 |
|
아니요 | N/A |
|
성능 개선 도우미가 performance_schema를 자동으로 관리하게 하려면 performance_schema를 0으로 설정해야 합니다 (권장 구성이며 t4g.large 이상의 구성이 필요합니다).
성능 개선 보고서를 작성하여 특정 시간의 내용을 저장 할 수 있습니다(유료 등급 기능).
특정 지표를 모니터링하고 자동으로 임계값을 생성합니다(유료 등급 기능).
API 를 통해 지표를 수집할 수 있습니다.
DevOps Guru for RDS
Guru 는 머신러닝을 사용하여 성능 개선 도우미에 수집된 데이터(주로 DbLoad 항목을 주요하게 사용합니다)를 기반으로 DB 이상에 대해 추적하는 기능입니다.
성능 개선 도우미가 없으면 DevOps Guru는 자세한 분석 및 권장 사항은 포함하지 않습니다.
기능으로는 사전 예방과 사후 대응 기능을 가지고 있으며
사전 예방 기능은 문제가 발생하기 전에 문제를 일으킬 수 있는 행동을 파악합니다.
사후 대응 기능은 비정상적인 동작이 발생하는 즉시 이를 식별하는 기능입니다.
대시보드로 내용을 확인하며 이슈에 대하여 학습된 데이터를 기반으로 해당 상황에 맞는 조치 방안 가이드를 제공합니다.
Guru에서 확인되는 베이스 데이터가 긴 기간으로 설정되는 것이 아니라는 내용이 있었다.
이럴 경우 월, 분기 단위 등의 작업이 빈번한 서비스에 대해서는 정확한 분석이 진행이 안될 것 같다.
![](https://blog.kakaocdn.net/dn/vItZ5/btsJIS31HzI/koYB2WQxL8SXYVomyl6ye0/img.png)
알람이 생성되는 기준 명확하지 않은 것 다.
Lock 관련 부하에서 10개 스레드에서는 알람이 생성되지 않았지만 20개 스레드에서 부터 알람이 발생하였습니다.
10개 스레드에서도 cpu 60% 사용에 lock 지표가 꽤 상승하였는데 발생하지 않았고 이에 대한 명확한 기준이 없는 것 같습니다.
https://aws.amazon.com/ko/blogs/devops/proactive-insights-with-amazon-devops-guru-for-rds/
이벤트 및 로그를 활용한 모니터링
-
Aurora 이벤트
클러스터 수준에서는 Auto Scaling, 클러스터 단위의 로그를 확인할 수 있습니다.
인스턴스 수준에서는 Cloud Watch 알람, DB 인스턴스 수준의 최근 이벤트, 각종 로그(error, audit, slow)를 확인할 수 있습니다.
콘솔을 통해서는 지난 24시간 동안의 이벤트를 확인 가능합니다. (cli를 사용하는 경우 최대 14일 까지 확인 가능합니다.
aws rds describe-events \
--source-identifier seoul-test-newincliauroramysql-primary \
--source-type db-instance \
--start-time 2024-07-09T00:00Z \
--end-time 2024-07-11T15:30Z
Aurora DB 인스턴스 로그
이벤트 로그와 마찬가지로 콘솔과 CLI로 확인 가능하다.
Aurora MySQL은 파일로 저장하는 에러 로그의 경우 30일, 슬로우, 감사 로그의 경우 24시간 이후 또는 디스크 공간의 15%가 찰 경우 오래된 로그부터 제거합니다.
Aurora MySQL은 테이블로 저장하는 경우 다음과 같은 로테이션 함수를 제공합니다.
프로시저를 두번 연속 호출할 경우 데이터를 삭제하고 디스크 공간을 회수 합니다.
-- 로그 rotate 함수
mysql.rds_rotate_slow_log, mysql.rds_rotate_general_log;
-- 로그 리스트 확인
aws rds describe-db-log-files \
--db-instance-identifier seoul-test-newincliauroramysql-primary
-- 특정 로그 전체 확인
aws rds download-db-log-file-portion \
--db-instance-identifier seoul-test-newincliauroramysql-primary \
--log-file-name audit/audit.log.0.2024-07-11-06-53.1
-- 특정 로그 일부 확인
aws rds download-db-log-file-portion \
--db-instance-identifier seoul-test-newincliauroramysql-primary \
--log-file-name audit/audit.log.0.2024-07-11-06-53.1 \
--starting-token 0 --max-items 1000
CloudWatch Logs
RDS 는 DB 클러스터의 파일 시스템에 있는 로그에 대한 호스트 액세스를 제공하지 않는 대신 CloudWatch Logs로 로그를 내보내는 기능을 제공합니다.
CloudWatch Logs에 보관된 로그는 기간을 지정하지 않는 경우 무기한 보존이 됩니다.
Aurora 생성 과정에 있었던 Log Export를 사용하면 CloudWatch Logs로 지정한 로그가 전송이 됩니다. CloudWatch → 로그 → 로그 그룹에서 클러스터별 로그를 확인할 수 있습니다.
CloudWatch Logs의 Live Trail 기능을 이용하면 온프레미스 환경에서 -tail 옵션을 사용 한 것과 유사하게 거의 실시간으로 로그를 확인 할 수 있습니다. 다만 Trail은 세션 사용 시간(분 단위)별로 비용이 발생합니다.
분류 | 명칭 | 내용 내용 | 비고 |
커넥션 | aborted_clients/sec | 클라이언트가 연결을 제대로 닫지 않고 죽어서 중단된 연결 수 | |
aborted_connects/sec | MySQL 서버에 연결하려는 시도가 실패한 횟수 | ||
바이너리 로그 | binlog_cache_disk_use/sec | 트랜잭션의 명령문을 저장하기 위해 임시 파일을 사용한 트랜잭션 수 | MySQL은 Commit 이전 binlog 내용을 캐시에 저장하는데 이 캐시 사이즈를 binlog_cache_size 변수로 설정.(연결된 thread 마다 할당) 트랜잭션 사이즈가 해당 변수보다 큰 경우 디스크 tmp 파일에 쓰게 된다. binlog_cache_disk_use 는 해당 tmp 파일을 쓴 트랜잭션의 수이고 binlog_cache_use 는 버퍼 또는 임시 파일을 쓴 트랜잭션의 수 입니다. |
binlog_cache_use/sec | 바이너리 로그 캐시를 사용한 트랜잭션 수 | ||
네트워크 | bytes_received/sec | 모든 클라이언트로부터 수신된 바이트 수 | |
bytes_sent/sec | 모든 클라이언트에 전송된 바이트 수. | ||
요청량 | com_call_procedure/sec | 사용자가 요청한 프로시저 요청 수 | COM 명령어는 사용자가 직접 실행한 명령어에 대해 Count 함 (Handler 지표와의 차이점) |
com_commit/sec | 사용자가 요청한 Commit 수 | ||
com_delete/sec | 사용자가 요청한 Delete 수 | ||
com_insert/sec | 사용자가 요청한 Insert 수 | ||
com_select/sec | 사용자가 요청한 Select 수 | ||
com_update/sec | 사용자가 요청한 Update 수 | ||
커넥션 | connections/sec | MySQL 서버에 대한 연결 시도 횟수 | connections는 서버 시작 후 클라이언트로부터 연결을 시도한 총 연결 수 |
임시테이블 | created_tmp_disk_tables/sec | 서버가 명령문을 실행하는 동안 생성한 디스크의 임시 테이블의 수 | 임시 테이블은 대량 집계, 정렬, hash join 에서 발생 할 수 있습니다. 메모리가 부족할 경우 디스크에 임시 테이블이 생성됩니다. |
created_tmp_files/sec | 서버가 명령문을 실행하는 동안 생성한 디스크의 임시 파일의 수 | ||
created_tmp_tables/sec | 서버가 명령문을 실행하는 동안 생성한 메모리 임시 테이블의 수 | ||
지연된 행삽입 | delayed_errors/sec | - | 지연된 행 삽입은 5.6 버전부터 더 이상 사용되지 않음. |
delayed_insert_threads/sec | - | 지연된 행 삽입은 5.6 버전부터 더 이상 사용되지 않음. | |
delayed_writes/sec | - | 지연된 행 삽입은 5.6 버전부터 더 이상 사용되지 않음. | |
엔진 상태 | flush_commands/sec | 서버가 테이블을 플러시하는 횟수입니다 | Flush Table은 열려있는 모든 테이블을 닫는 명령 |
요청량 |
handler_commit/sec | 내부적으로 처리된 커밋 수 | Handler 지표는 엔진 내부에서 발생하는 Count |
handler_delete/sec | 행을 삭제 하기 위한 요청 횟수 | ||
handler_discover/sec | - | NDBCLUSTER 스토리지 엔진에 요청하여 테이블 이름을 요청한 횟수 | |
handler_prepare/sec | 쿼리 준비 단계의 횟수 | ||
handler_read_first/sec | 인덱스의 첫 번째 키 값을 패치(fetch)한 횟수 | 앞부분만 읽거나 스캔을 하는 경우에 증가 | |
handler_read_key/sec | 단일 행의 인덱스 키 값을 읽은 횟수. | 인덱스를 통해 특정 행을 검색할 때 증가 | |
handler_read_last/sec | 인덱스의 마지막 키를 읽은 횟수 | ||
handler_read_next/sec | 인덱스의 후속 행의 키를 읽은 횟수 | 인덱스 키 순서에 따라 다음 행을 읽은 횟수로 인덱스를 스캔하거나 제한적으로 범위 검색이 발생할 때 기록 (정렬된 읽기) (인덱스 있고 범위 읽은 경우) |
|
handler_read_prev/sec | 인덱스의 이전 행의 키를 읽은 횟수 | handler_read_next/sec 의 역순 | |
handler_read_rnd/sec | 고정된 위치의 특정 행을 읽은 횟수 | 테이블 스캔이나 인덱스 범위 스캔이 발생할 때 데이터 파일의 고정된 위치의 행을 읽은 횟수 |
|
handler_read_rnd_next/sec |
고정된 위치의 특정 행에 대한 후속 행 읽기 횟수 | 데이터 파일에서 순차적으로 다음 행을 읽은 횟수 테이블 스캔이 발생할 경우에 증가할 수 있다 (인덱스 없이 범위 읽은 경우) |
|
handler_rollback/sec | 스토리지 엔진이 롤백 요청을 받은 횟수 | ||
handler_savepoint/sec | Savepoint를 요청한 횟수 | ||
handler_savepoint_rollback/sec | Savepoint지점으로 롤백을 요청한 횟수 | ||
handler_update/sec | 행을 업데이트 하기 위한 요청 횟수 | ||
handler_write/sec | 행을 삽입 하기 위한 요청 횟수 | ||
버퍼풀 | innodb_buffer_pool_pages_data | 더티 및 클린 데이터를 포함하는 버퍼 풀 페이지 수 | |
innodb_buffer_pool_pages_dirty | 더티 데이터를 포함하는 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_pages_flushed/sec | 플러시된 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_pages_free | 사용 가능한 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_pages_misc | 내부 사용을 위해 따로 보관된 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_pages_total | 전체 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_reads/sec | 디스크에서 버퍼풀로 데이터를 읽어온 수 | ||
innodb_buffer_pool_read_ahead/sec | 미리 읽기 백그라운드 스레드가 버퍼 풀 에 읽은 페이지 수 | 디스크에서 데이터를 순차적으로 미리 읽어오는 횟수 | |
innodb_buffer_pool_read_ahead_evicted/sec | 더 이상 사용되지 않고 제거된 버퍼 풀 페이지 수 | ||
innodb_buffer_pool_read_ahead_rnd/sec | 무작위로 미리 읽기 횟수 | 디스크에서 데이터를 무작위로 미리 읽어오는 횟수 | |
innodb_buffer_pool_read_requests/sec | 버퍼 풀에 읽기 요청 수 | innodb_buffer_pool_read_requests - innodb_buffer_pool_reads = 캐시 히트율 계산 | |
innodb_buffer_pool_wait_free/sec | 페이지를 읽거나 만들기 전에 빈 페이지를 기다린 횟수 | 버퍼풀에 꽉 차고 클린 페이지 영역 할당이 필요할 때 더티 페이지를 플러시하여 일부를 비우게 됩니다. 해당 지표는 클린 페이지가 할당되기 까지 기다린 횟수입니다. |
|
innodb_buffer_pool_write_requests/sec | 버퍼풀에 쓰기 위한 요청 수 | ||
I/O | innodb_data_fsyncs/sec | fsync(디스크와 동기화) 호출 수 | |
innodb_data_pending_fsyncs | 보류 중인 fsync(디스크 동기화) 호출 수 | ||
innodb_data_pending_reads | 보류 중인 읽기 수. | ||
innodb_data_pending_writes | 보류 중인 쓰기 수. | ||
innodb_data_read/sec | 서버가 시작된 이후 읽은 데이터의 양(바이트) | ||
innodb_data_reads/sec | 총 데이터 읽기 수(OS 파일 읽기) | ||
innodb_data_writes/sec | 쓰기 작업의 수 | ||
innodb_data_written/sec | 지금까지 작성된 데이터의 양(바이트) | ||
innodb_dblwr_pages_written/sec | doublewrite 버퍼에 쓰여진 페이지 수 | ||
innodb_dblwr_writes/sec | 수행된 doublewrite 작업의 수 | ||
innodb_log_waits/sec | 리두 로그가 플러시 될 때까지 기다려린 횟 수 | ||
innodb_log_writes/sec | 리두 로그 파일에 대한 물리적 쓰기 수 | ||
innodb_log_write_requests/sec | 리두 로그에 대한 쓰기 요청 수. | ||
innodb_os_log_fsyncs/sec | 리두 로그 fsync(디스크와 동기화) 요청 수 | ||
innodb_os_log_pending_fsyncs | 보류 중인 리두 로그 fsync(디스크와 동기화) 요청 수 | ||
innodb_os_log_pending_writes | 보류 중인 리두 로그 쓰기 수 | ||
innodb_os_log_written/sec | 리두 로그 파일에 기록된 바이트 수 | ||
innodb_pages_created/sec | 테이블 작업으로 생성된 페이지 수 | ||
innodb_pages_read/sec | 버퍼 풀에서 읽은 페이지 수 | ||
innodb_pages_written/sec | 버퍼 풀에서 디스크로 쓰여진 페이지 수 | ||
innodb_page_size | 페이지 크기(기본값 16KB) | ||
innodb_rows_deleted/sec | 테이블에서 삭제된 행의 수 | ||
innodb_rows_inserted/sec | 테이블에 삽입된 행의 수 | ||
innodb_rows_read/sec | 테이블에서 읽은 행의 수 | ||
innodb_rows_updated/sec | 테이블에서 업데이트 된 행의 예상 수 | ||
대기 및 잠금 | innodb_row_lock_current_waits | 현재 테이블 작업이 기다리고 있는 행 잠금 수 | |
innodb_row_lock_time/sec | 테이블에 대한 행 잠금을 획득하는 데 소요된 총 시간(밀리초) | ||
innodb_row_lock_waits/sec | 테이블 작업이 행 잠금을 기다려야 하는 횟수 | 초당 잠금을 기다린 횟수 | |
키 캐시 | key_blocks_not_flushed | - | MYISAM 엔진의 키캐시 관련 지표 |
key_blocks_unused | - | MYISAM 엔진의 키캐시 관련 지표 | |
key_blocks_used | - | MYISAM 엔진의 키캐시 관련 지표 | |
key_reads/sec | - | MYISAM 엔진의 키캐시 관련 지표 | |
key_read_requests/sec | - | MYISAM 엔진의 키캐시 관련 지표 | |
key_writes/sec | - | MYISAM 엔진의 키캐시 관련 지표 | |
key_write_requests/sec | - | MYISAM 엔진의 키캐시 관련 지표 | |
커넥션 | max_used_connections | 서버가 시작된 이후 동시에 사용 중인 최대 연결 수 | |
엔진 상태 | opened_files/sec | 열린 파일 수 | |
opened_tables/sec | 열린 테이블 수 | ||
open_files | 현재 열린 파일 수 | ||
open_streams | 현재 열린 스트림 수 | ||
open_tables | 현재 열린 테이블 수 | ||
쿼리 캐시 | qcache_free_blocks | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 |
qcache_free_memory | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_hits/sec | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_inserts/sec | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_lowmem_prunes/sec | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_not_cached/sec | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_queries_in_cache | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
qcache_total_blocks | - | 쿼리 캐시 지표로 Aurora 3 버전에서는 쿼리 캐시 미 사용 | |
요청량 | queries/sec | 실행된 쿼리 수 | 총 실행 쿼리 수 |
questions/sec | 서버에 대한 클라이언트 요청 수 | 클라이언트의 요청 수 | |
I/O | select_full_join/sec | 풀 조인 실행 수 | |
select_full_range_join/sec | 풀 범위 조인 실행 수 | ||
select_range/sec | 범위 스캔 실행 수 | ||
select_scan/sec | 테이블 스캔 실행 수 | ||
복제 | slave_open_temp_tables/sec | 복제 슬레이브에서 열린 임시 테이블 수 | |
slave_running | 슬레이브 복제가 실행 중인지 여부 | ||
커넥션 | slow_launch_threads/sec | 느리게 시작된 스레드 수 | 스레드 생성 과부하, CPU, 메모리 부족 등의 원인으로 스레드 생성이 지연되는 경우 발생 |
엔진 상태 | slow_queries/sec | 느린 쿼리 수 | |
I/O | sort_merge_passes/sec | 정렬 병합 패스 수 | 정렬시 데이터 사이즈가 커서 디스크를 사용하여 외부 병합 정렬 알고리즘을 사용하는 경우 |
sort_range/sec | 범위 정렬 실행 수 | 인덱스를 사용하여 특정 범위 내의 데이터를 정렬하는 작업 | |
sort_rows/sec | 정렬된 행 수 | 정렬해야 하는 행의 수 | |
sort_scan/sec | 스캔 정렬 실행 수 | 전체 테이블 또는 인덱스를 스캔하여 정렬하는 작업 | |
대기 및 잠금 | table_locks_immediate/sec | 즉시 획득한 테이블 잠금 수 | 테이블 잠금을 즉시 획득한 수 |
table_locks_waited/sec | 대기한 테이블 잠금 수 | 테이블 잠금을 위해 대기한 수 | |
커넥션 | threads_cached | 현재 스레드 캐시에 있는 스레드 수 | |
threads_connected | 현재 활성화된(대기 + 비대기) 클라이언트 연결 수 | ||
threads_created/sec | 초당 생성된 새 스레드 수 | ||
threads_running | 현재 실행 중인 (비대기) 스레드 수 | ||
엔진 상태 | uptime_in_days | 서버가 실행 중인 일수 | |
커넥션 | Used_connect_percent | 사용된 연결 수의 백분율 |
Aurora CloudWatch 지표
분류 | 명칭 | 내용 | 비고 | DBMS |
커넥션 |
AbortedClients | 제대로 종료되지 않은 클라이언트 연결 수 | Aurora MySQL | |
ActiveTransactions | 현재 인스턴스에서 1초마다 실행되고 있는 평균 트랜잭션 수 | Aurora MySQL | ||
복제 | AuroraBinlogReplicaLag | 바이너리 로그 복제 지연 시간 | Seconds_Behind_Master | Aurora MySQL Primary |
엔진상태 | AuroraDMLRejectedMasterFull | 마스터에서 거절된 DML 요청 수 | ||
복제 | AuroraReplicaLagMaximum | 최대 복제 지연 시간 | Primary인스턴스와 Replica 인스턴스 사이에 발생하는 최대 지연 시간 | Aurora MySQL Primary Aurora PostgreSQL Primary |
AuroraReplicaLagMinimum | 최소 복제 지연 시간 | Primary인스턴스와 Replica 인스턴스 사이에 발생하는 최대 지연 시간 | Aurora MySQL Primary Aurora PostgreSQL Primary |
|
클러스터 스토리지 | AuroraVolumeBytesLeftTotal | 클러스터 볼륨의 잔여 가용 공간. | 클러스터가 128TB 크기 제한에 근접하는지 여부를 감지하고 싶을 때 주로 사용. | Aurora MySQL |
병렬쿼리 | Aurora_pq_request_attempted | 시도된 병렬쿼리 요청 수 | ||
Aurora_pq_request_executed | 실행된 병렬쿼리 요청 수 | |||
Aurora_pq_request_failed | 실패한 병렬쿼리 요청 수 | |||
Aurora_pq_request_in_progress | 진행 중인 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen | 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_below_min_rows | 최소 행 수 이하로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_column_bit | 비트 컬럼으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_column_geometry | 지오메트리 컬럼으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_column_lob | LOB 컬럼으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_column_virtual | 가상 컬럼으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_custom_charset | 사용자 정의 문자 집합으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_fast_ddl | 빠른 DDL로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_few_pages_outside_buffer_pool | 버퍼 풀 외부의 페이지 수로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_full_text_index | 전체 텍스트 인덱스로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_high_buffer_pool_pct | 높은 버퍼 풀 비율로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_index_hint | 인덱스 힌트로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_innodb_table_format | InnoDB 테이블 형식으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_long_trx | 긴 트랜잭션으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_no_where_clause | WHERE 절이 없어 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_range_scan | 범위 스캔으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_row_length_too_long | 행 길이가 너무 길어 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_small_table | 작은 테이블로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_temporary_table | 임시 테이블로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_tx_isolation | 트랜잭션 격리로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_unsupported_access | 지원되지 않는 접근으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_not_chosen_update_delete_stmts | UPDATE/DELETE 문으로 선택되지 않은 병렬쿼리 요청 수 | |||
Aurora_pq_request_throttled | 제한된 병렬쿼리 요청 수 | |||
I/O |
BlockedTransactions | 1초마다 차단된 평균 트랜잭션 수 | ||
BufferCacheHitRatio | 버퍼 캐시 히트 비율 | |||
CommitLatency | 커밋 작업을 완료하는데 걸린 평균 시간 | |||
CommitThroughput | 초당 커밋 작업의 평균 수 | |||
커넥션 | ConnectionAttempts | 인스턴스에 연결하려는 시도 횟수 | ||
엔진 상태 | CPUUtilization | CPU 사용률 | ||
커넥션 | DatabaseConnections | 인스턴스에 대한 클라이언트 네트워크 연결 수 | 지표 값에 다음이 포함되지 않기 때문에 데이터베이스 세션 수가 지표 값보다 클 수 있습니다.
|
Aurora MySQL Aurora PostgreSQL |
엔진 상태 | DBLoad | DB 엔진에 대한 활성 세션 수 | Performance insight | |
DBLoadCPU | 대기 이벤트 유형이 'CPU'인 활성 세션 수 | 데이터베이스가 쿼리 처리를 위해 사용한 CPU 시간 | Performance insight | |
DBLoadNonCPU | 대기 이벤트 유형이 'CPU'가 아닌 활성 세션 수 | /O 대기 시간, 네트워크 대기 시간 등 CPU 외의 자원으로 인해 발생한 대기 시간 | Performance insight | |
DBLoadRelativeToNumVCPUs | 가상 CPU 수에 대한 데이터베이스 로드 | Performance insight | ||
I/O | DDLLatency | DDL 평균 요청 소요 시간 | Aurora MySQL | |
DDLThroughput | 초당 DDL 처리량 | Aurora MySQL | ||
대기 및 잠금 | Deadlocks | 초당 발생하는 평균 데드락 수 | Aurora MySQL Aurora PostgreSQL |
|
I/O | DeleteLatency | 삭제 지연 시간 | Aurora MySQL | |
DeleteThroughput | 초당 삭제 처리량 | Aurora MySQL | ||
DiskQueueDepth | 디스크 큐 깊이 | 디스크 액세스를 대기 중인 읽기/쓰기 요청 수 | Aurora MySQL Aurora PostgreSQL |
|
DMLLatency | DML 지연 시간 | Aurora MySQL | ||
DMLThroughput | 초당 DML 처리량 | Aurora MySQL | ||
EBSByteBalance% | EBS 바이트 균형 백분율 | RDS 데이터베이스의 버스트 버킷에 남아 있는 처리량 크레딧의 백분율 | ||
EBSIOBalance% | EBS IO 균형 백분율 | RDS 데이터베이스의 버스트 버킷에 남아 있는 I/O 크레딧의 백분율 | ||
서버상태 | EngineUptime | 엔진 가동 시간 | Aurora MySQL Aurora PostgreSQL |
|
글로벌 데이터베이스의 쓰기 전달 공식문서 |
ForwardingMasterDMLLatency | 마스터로 전달된 DML 지연 시간 | 보조 클러스터에서 쓰기 전달을 사용할 때 기본 클러스터에 적용 | Aurora Global Database |
ForwardingMasterDMLThroughput | 마스터로 전달된 초당 DML 처리량 | 보조 클러스터에서 쓰기 전달을 사용할 때 기본 클러스터에 적용 | Aurora Global Database | |
ForwardingMasterOpenSessions | 마스터로 전달된 열린 세션 수 | 보조 클러스터에서 쓰기 전달을 사용할 때 기본 클러스터에 적용 | Aurora Global Database | |
ForwardingReplicaDMLLatency | 복제본에 있는 전달된 DML의 평균 응답 시간. | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaDMLThroughput | 초당 처리되는 전달된 DML 문 수 | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaOpenSessions | 리더 DB 인스턴스에서 쓰기 전달을 사용하는 세션 수 | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaReadWaitLatency | 리리더 DB 인스턴스의 SELECT 명령문이 기본 클러스터를 따라잡기 위해 대기하는 평균 대기 시간. | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaReadWaitThroughput | 쓰기를 전달하는 모든 세션에서 초당 처리되는 SELECT문의 총 수. | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaSelectLatency | 전달된 SELECT 지연 시간, 모니터링 기간 내에 전달된 모든 SELECT 명령문의 평균 | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
ForwardingReplicaSelectThroughput | 모니터링 기간 내 전달된 SELECT 초당 평균 처리량 | 쓰기 전달이 활성화된 보조 클러스터의 각 리더 DB 인스턴스에서 측정 | Aurora Global Database | |
엔진 상태 | FreeableMemory | 사용 가능한 메모리 (바이트) | Aurora MySQL Aurora PostgreSQL |
|
FreeLocalStorage | 사용 가능한 로컬 스토리지 | 각 DB 인스턴스에 사용 가능한 스토리지 크기 클래스를 큰 것으로 선택하면 인스턴스의 여유 스토리지 공간을 늘릴 수 있습니다. |
Aurora MySQL Aurora PostgreSQL |
|
I/O | InsertLatency | INSERT 평균 작업 소요 시간 | Aurora MySQL | |
InsertThroughput | 초당 insert 평균 커밋 작업의 수 | Aurora MySQL | ||
커넥션 | LoginFailures | 초당 평균 로그인 실패 횟수 | Aurora MySQL | |
네트워크 | NetworkReceiveThroughput | 인스턴스 네트워크 수신 처리량 | Aurora MySQL Aurora PostgreSQL |
|
NetworkThroughput | 인스턴스 네트워크 처리량 | Aurora MySQL Aurora PostgreSQL |
||
NetworkTransmitThroughput | 인스턴스 네트워크 송신 처리량 | Aurora MySQL Aurora PostgreSQL |
||
엔진 상태 | NumBinaryLogFiles | 바이너리 로그 파일 수 | Aurora MySQL | |
PurgeBoundary | Undo Log에서 현재까지 제거 된(삭제된) 트랜잭션의 경계 데이터베이스의 변경 사항이 실제로 제거되어야 하는 경계를 정의합니다. (개수) |
Undo Log를 사용하여 트랜잭션이 발생하기 전의 데이터 상태를 유지합니다. Undo Log의 정리 작업이 어느 지점까지 진행되었는지를 나타내며, Undo Log의 공간 관리를 위한 기준이 됩니다. 이 값이 커지면 Undo Log의 정리 작업이 더 멀리 진행되었음을 나타냅니다. |
Aurora MySQL | |
PurgeFinishedPoint | Undo Log에서 완료된(더 이상 필요하지 않게 된) 트랜잭션의 경계 Undo Log에서 더 이상 필요하지 않은 데이터를 제거한 지점 (개수) |
InnoDB 제거가 수행되는 최대 트랜잭션 수입니다. 이 지표를 사용하면 InnoDB 제거가 얼마나 빠르게 진행되고 있는지 확인할 수 있습니다. | Aurora MySQL | |
엔진 상태 | Queries | 쿼리 수 | Aurora MySQL | |
I/O | ReadIOPS | 읽기 IOPS | Aurora MySQL Aurora PostgreSQL |
|
ReadLatency | 디스크 I/O 연산당 평균 처리 시간 (초) | Aurora MySQL Aurora PostgreSQL |
||
ReadThroughput | 초당 디스크에서 읽은 평균 바이트 수 | Aurora MySQL Aurora PostgreSQL |
||
RelativeDBLoad | ? | |||
엔진 상태 | ResultSetCacheHitRatio | 결과 집합 캐시 히트 비율 | Result 결과를 캐시에서 검색한 비율로 쿼리 캐시와 연관이 있다. | Aurora MySQL |
I/O | RollbackSegmentHistoryListLength | 롤백 세그먼트 히스토리 목록 길이 | Aurora MySQL | |
대기 및 잠금 | RowLockTime | 행 잠금 시간 | 기간 동안의 LOCK 총 누적 시간 | Aurora MySQL |
I/O | SelectLatency | SELECT 작업의 평균 소요 시간. | Aurora MySQL | |
SelectThroughput | 초당 평균 SELECT 쿼리 수 | Aurora MySQL | ||
네트워크 | StorageNetworkReceiveThroughput | 스토리지 네트워크 수신 처리량 | 인스턴스가 Aurora 스토리지 하위 시스템과 수신하는 네트워크 처리량 | Aurora MySQL Aurora PostgreSQL |
StorageNetworkThroughput | 스토리지 네트워크 처리량 | 인스턴스가 Aurora 스토리지 하위 시스템과 송수신하는 네트워크 처리량 | Aurora MySQL Aurora PostgreSQL |
|
StorageNetworkTransmitThroughput | 스토리지 네트워크 송신 처리량 | 인스턴스가 Aurora 스토리지 하위 시스템과 전송하는 네트워크 처리량 | Aurora MySQL Aurora PostgreSQL |
|
엔진 상태 | SumBinaryLogSize | 바이너리 로그 파일의 총 크기 | Aurora MySQL | |
SwapUsage | 스왑 사용량 | Aurora MySQL Aurora PostgreSQL |
||
TruncateFinishedPoint | Undo Log Truncate 완료 지점 (개수) | Undo Log에서 트랜잭션이 완료되어 더 이상 필요하지 않게 된 시점을 나타내는 지표 | Aurora MySQL | |
I/O | UpdateLatency | 업데이트 작업의 평균 소요 시간 | Aurora MySQL | |
UpdateThroughput | 초당 평균 업데이트 수 | Aurora MySQL | ||
WriteIOPS | 쓰기 IOPS | 초당 생성된 Aurora 스토리지 쓰기 레코드 수입니다. 데이터베이스에 의해 생성된 로그 레코드 수보다 많거나 적습니다. 이는 8K 페이지 쓰기에 해당하지 않으며 전송된 네트워크 패킷에 해당하지 않습니다 | Aurora MySQL Aurora PostgreSQL |
|
WriteLatency | 디스크 I/O 쓰기 평균 소요 시간 | Aurora MySQL | ||
WriteThroughput | 초당 영구 스토리지에 기록된 평균 바이트 수 | Aurora MySQL |
'공부 > DATABASE' 카테고리의 다른 글
[AWS] OpenSearch Service (0) | 2024.09.15 |
---|---|
[PostgreSQL] Aurora PostgreSQL의 Shared Buffer 기본값 (0) | 2024.09.15 |
[REDIS] Redis의 복제와 클러스터 (0) | 2024.09.15 |
[AWS] ElastiCache 란? (0) | 2024.09.15 |
[AWS] RDS 스냅샷 (0) | 2024.09.15 |