향상된 모니터링 Amazon CloudWatch Logs를 필터링하여 Amazon Relational Database Service(RDS)에 자동화된 사용자 지정 지표를 생성하고 싶습니다.
간략한 설명
Amazon RDS의 향상된 모니터링은 다음과 같은 OS 지표를 제공합니다.
- 사용 가능한 메모리
- 활성 메모리
- 사용 가능한 스왑
- 실행 중인 프로세스
- 사용된 파일 시스템
다음 OS 지표를 사용하여 환경의 성능을 파악할 수 있습니다. Amazon CloudWatch Logs는 이러한 지표를 로그 항목으로 수집합니다. CloudWatch를 사용하여 지표를 기반으로 경보를 생성할 수 있습니다. 이러한 경보는 작업을 실행하며 인프라, 디바이스 또는 애플리케이션에서 이러한 지표를 사용자 지정 지표로 CloudWatch에 게시할 수 있습니다. 향상된 모니터링 및 CloudWatch를 사용하여 작업을 자동화하려면 향상된 모니터링 지표에서 CloudWatch Logs Amazon RDS를 수집한 날짜로 사용자 지정 지표를 생성하세요.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.
로그 그룹의 필터를 사용하여 사용자 지정 지표 생성
참고: 이 단계를 수행하려면 Amazon RDS DB 인스턴스에서 향상된 모니터링을 활성화해야 합니다. 자세한 내용은 Amazon RDS 인스턴스의 지표 모니터링을 참조하세요.
-
향상된 모니터링을 켭니다.
-
Amazon CloudWatch 콘솔을 열고 탐색 창에서 로그 그룹을 선택합니다.
-
로그 그룹 목록에서 RDSOSMetrics로 필터링한 다음 작업을 선택합니다.
-
지표 필터 생성을 선택한 다음 Amazon RDS DB 인스턴스로 필터 패턴 용어를 입력합니다. 예를 들면 다음과 같습니다.
DISK WRITE KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].writeKbPS >= 10.00 }
DISK READ KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].readKbPS >= 10.00 }
DISK WRITE IOPS PS GREATER THAN 15 : { $.diskIO[0].writeIOsPS > 15.00 }
DISK READ IOPS PS GREATER THAN 15 : { $.diskIO[0].readIOsPS > 15.00 }
TOTAL CPU UTILIZATION GREATER THAN OR EQUAL TO 80 : { $.cpuUtilization.total >= 80 }
FREE MEMORY LESS THAN OR EQUAL TO 200000 KB : { $.memory.free <= 200000 }
참고: 환경에 적합한 값으로 값을 업데이트합니다.
-
로그 데이터를 선택한 다음 테스트 패턴을 선택합니다.
-
다음을 선택합니다.
-
필터 이름을 입력한 다음 지표 네임스페이스 및 지표 이름을 선택합니다.
-
지표 값을 입력합니다. 예: $.cpuUtilization.idle. 그런 다음 필터 생성을 선택합니다.
추가한 각각의 지표에 이 단계를 반복합니다.
지표 자동화
각 Amazon RDS DB 인스턴스의 모니터링 지표 60개 이상을 모니터링하는 프로세스를 자동화하려면 스크립트를 사용합니다. Amazon RDS for MySQL DB 인스턴스를 사용하는 스크립트의 예시를 보려면 GitHub 웹사이트의 rds-support-tools를 참조하세요. 예시 스크립트는 다음 엔진에서 작동합니다.
- MySQL
- MariaDB
- Amazon Aurora MySQL 호환 버전
- Amazon Aurora PostgreSQL 호환 버전
- PostgreSQL
향상된 모니터링이 켜진 Amazon RDS DB 인스턴스와 이러한 지표가 위치할 네임스페이스를 지정합니다. 선택 사항으로, 지표의 이름과 AWS 리전을 추가할 수 있습니다. 선택 필드를 지정하지 않으면 스크립트에서는 모든 지표를 게시하는 것으로 간주합니다. 그런 다음 스크립트가 .aws/config 파일에서 AWS CLI에 설정된 기본 AWS 리전을 확인합니다.
참고: 스크립트는 프로세스 목록의 지표를 생성하지 않습니다. 표시하려는 프로세스에 따라 필터를 직접 생성해야 할 수 있습니다.
다음 패턴을 사용하여 지표 이름을 지정합니다.
group.metricname
다음은 cpuUtilization.idle 및 diskIO.readKbPS에 이 지표를 켜는 호출을 나타내는 샘플 코드입니다.
python RDSCreateMetricsFromEnhancedMonitoring.py --rds\_instance mysqltest --namespace MySQL --metrics\_to\_filter cpuUtilization.idle diskIO.readKb
이후 사용자 지정 지표에 경보를 생성할 수 있습니다. 자세한 내용은 Amazon CloudWatch 경보 사용을 참조하세요.
관련 정보
Amazon RDS 로그 파일 모니터링
지표 필터를 사용하여 일치하는 용어를 찾고 JSON 로그 이벤트에서 값 추출