확장 모니터링 CloudWatch 로그를 필터링하여 Amazon Relational Database Service(Amazon RDS)에 대한 자동화된 사용자 지정 지표를 생성하려면 어떻게 해야 합니까?
간략한 설명
RDS용 확장 모니터링은 다음과 같은 OS 지표를 제공합니다.
- Free Memory
- Active Memory
- 전환 여유
- 실행 중인 프로세스
- 사용된 파일 시스템
이러한 측정 항목을 사용하여 환경 성능을 파악할 수 있으며 이러한 수치 항목은 Amazon CloudWatch 로그에서 로그 항목으로 수집됩니다. CloudWatch를 사용하여 지표 기반 경보를 만들 수 있습니다. 이러한 경보는 작업을 실행하고 인프라, 디바이스 또는 애플리케이션 내에서 이러한 지표 항목을 사용자 지정 지표 항목으로 CloudWatch에 게시할 수 있습니다. 확장 모니터링과 CloudWatch를 함께 사용하면 확장 모니터링 지표에서 CloudWatch Logs RDS 수집 날짜에 대한 사용자 지정 지표를 생성하여 태스크를 자동화할 수 있습니다.
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.
로그 그룹의 필터를 사용하여 사용자 지정 지표 만들기
참고: 이러한 단계를 수행하려면 RDS DB 인스턴스에서 확장 모니터링을 활성화해야 합니다. 자세한 내용은 Amazon RDS DB 인스턴스 모니터링을 참조하십시오.
1. 확장 모니터링 활성화하기.
2. Amazon CloudWatch 콘솔을 열고 탐색 창에서 [로그 그룹(Log groups)]을 선택합니다.
3. [로그 그룹(Log Groups)] 목록에서 RDSOSMetrics를 필터링한 다음 [작업(Actions)]을 선택합니다.
4. [지표 필터 생성(Create Metric Filter)]을 선택한 다음 RDS DB 인스턴스의 [필터 패턴(Filter Pattern)] 기간을 입력합니다. 예를 들면 다음과 같습니다.
DISK UTILIZATION: { $.diskIO[0].writeKbPS="0.00"}
DISK WRITE KBPS : { $.diskIO[0].util="0.00"}
DISK READ KBPS : { $.diskIO[0].readKbPS="0.00"}
DISK WRITE IOPS : { $.diskIO[0].writeKbPS="0.00"}
참고: 0.00을 측정하려는 값으로 업데이트합니다.
5. 테스트할 [로그 데이터(Log Data)]를 선택한 다음 [**테스트 패턴(Test Pattern)**을 선택합니다.
6. [다음]을 선택합니다.
7. [필터 이름(Filter Name)]을 입력한 다음 [지표 네임스페이스(Metric Namespace)] 및 [지표 이름(Metric Name)]을 선택합니다.
8. [Metric Value]에 값을 입력(예: $.cpuUtilization.idle)한 다음 [Create Filter]를 선택합니다.
추가하는 각 추가 수치 항목에 대해 이 단계를 반복합니다.
자동화
RDS DB 인스턴스당 60개가 넘는 모니터링 지표가 있으며 스크립트를 사용하여 이 프로세스를 자동화할 수 있습니다. 다음 엔진에서 작동하는 RDS for MySQL DB 인스턴스를 사용하는 예제 스크립트는 rds-support-tools에 대한 GitHub 리포지토리를 참조하십시오.
- MySQL
- MariaDB
- Amazon Aurora, MySQL, PostgreSQL
- PostgreSQL
Enhanced Monitoring이 활성화된 RDS DB 인스턴스와 이러한 지표가 상주할 네임스페이스를 지정합니다. 필요한 경우 지표와 리전의 이름을 추가할 수 있습니다. 선택적 필드가 지정되지 않은 경우 스크립트는 모든 지표를 게시할 것으로 간주한 다음 AWS CLI(AWS 명령줄 인터페이스)를 사용하여.aws/config 파일에 기본적으로 지정된 리전을 사용합니다.
참고: 스크립트는 프로세스 목록에 대한 지표를 생성하지 않으므로 표시하려는 프로세스에 따라 필터를 수동으로 생성해야 할 수 있습니다.
지표의 이름은 다음과 같은 패턴으로 지정해야합니다.
group.metricname
다음 샘플 코드는 cpuUtilization.idle 및 diskIO.readKbPS에 대해 이 지표를 활성화하기 위한 호출을 보여줍니다.
python RDSCreateMetricsFromEnhancedMonitoring.py --rds_instance mysqltest --namespace MySQL --metrics_to_filter cpuUtilization.idle diskIO.readKb
그런 다음 이러한 사용자 지정 지표 항목에 대한 경보를 생성할 수 있습니다. 자세한 내용은 Amazon CloudWatch 경보 사용을 참조하십시오.
관련 정보
Enhanced Monitoring
Amazon RDS 데이터베이스 로그 파일