확장 모니터링 CloudWatch Logs를 필터링하여 Amazon RDS에 대한 자동화된 사용자 지정 지표를 생성하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 10월 7일

확장 모니터링 CloudWatch 로그를 필터링하여 Amazon Relational Database Service(Amazon RDS)에 대한 자동화된 사용자 지정 지표를 생성하려면 어떻게 해야 합니까?

간략한 설명

RDS용 확장 모니터링은 다음과 같은 OS 지표를 제공합니다.

  • Free Memory
  • Active Memory
  • 전환 여유
  • 실행 중인 프로세스
  • 사용된 파일 시스템

이러한 측정 항목을 사용하여 환경 성능을 파악할 수 있으며 이러한 수치 항목은 Amazon CloudWatch 로그에서 로그 항목으로 수집됩니다. CloudWatch를 사용하여 지표 기반 경보를 만들 수 있습니다. 이러한 경보는 작업을 실행하고 인프라, 디바이스 또는 애플리케이션 내에서 이러한 지표 항목을 사용자 지정 지표 항목으로 CloudWatch에 게시할 수 있습니다. 확장 모니터링과 CloudWatch를 함께 사용하면 확장 모니터링 지표에서 CloudWatch Logs RDS 수집 날짜에 대한 사용자 지정 지표를 생성하여 태스크를 자동화할 수 있습니다.

해결 방법

로그 그룹의 필터를 사용하여 사용자 지정 지표 만들기

참고: 이러한 단계를 수행하려면 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.idlediskIO.readKbPS에 대해 이 지표를 활성화하기 위한 호출을 보여줍니다.

python RDSCreateMetricsFromEnhancedMonitoring.py --rds_instance mysqltest --namespace MySQL --metrics_to_filter cpuUtilization.idle diskIO.readKb

그런 다음 이러한 사용자 지정 지표 항목에 대한 경보를 생성할 수 있습니다. 자세한 내용은 Amazon CloudWatch 경보 사용을 참조하십시오.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?