Amazon을 사용하여 오라클 GoldenGate 로그를 모니터링하십시오. CloudWatch - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon을 사용하여 오라클 GoldenGate 로그를 모니터링하십시오. CloudWatch

작성자: Chithra Krishnamurthy(AWS)

환경: 프로덕션

기술: 데이터베이스

워크로드: Oracle

AWS 서비스: 아마존 CloudWatch, 아마존 SNS

요약

GoldenGate 오라클은 오라클 데이터베이스의 경우 아마존 관계형 데이터베이스 서비스 (Amazon RDS) 간 또는 아마존 Elastic Compute Cloud (Amazon EC2) 에 호스팅되는 오라클 데이터베이스 간에 실시간 복제를 제공합니다. 단방향 복제와 양방향 복제를 모두 지원합니다.

복제에 사용하는 GoldenGate 경우, 모니터링을 통해 GoldenGate 프로세스가 가동 및 실행 중인지 확인하고 소스 데이터베이스와 대상 데이터베이스가 동기화되어 있는지 확인하는 것이 중요합니다.

이 패턴은 GoldenGate 오류 로그에 대한 Amazon CloudWatch 모니터링을 구현하는 단계와 복제를 신속하게 재개하기 위한 적절한 조치를 취할 수 ABEND 있도록 특정 이벤트 (예: STOP 또는) 에 대한 알림을 보내도록 경보를 설정하는 방법을 설명합니다.

사전 조건 및 제한 사항

사전 조건

  • GoldenGate EC2 인스턴스에 설치 및 구성되어 있으므로 해당 EC2 인스턴스에 대한 CloudWatch 모니터링을 설정할 수 있습니다. 양방향 복제를 위해 AWS 지역 GoldenGate 전체를 모니터링하려면 GoldenGate 프로세스가 실행되는 각 EC2 인스턴스에 CloudWatch 에이전트를 설치해야 합니다.

제한 사항

제품 버전

  • 이 문서는 Linux x86-64에서 Oracle용 Oracle GoldenGate 19.1.0.0.4를 구현한 내용을 기반으로 합니다. 그러나 이 솔루션은 의 모든 주요 버전에 적용할 수 있습니다. GoldenGate

아키텍처

대상 기술 스택

  • GoldenGate EC2 인스턴스에 설치된 Oracle용 바이너리

  • 아마존 CloudWatch

  • Amazon Simple Notification Service(SNS)

대상 아키텍처

AWS의 GoldenGate 로그를 모니터링하기 위한 대상 아키텍처

도구

서비스

  • CloudWatchAmazon은 이 패턴에서 GoldenGate 오류 로그를 모니터링하는 데 사용되는 모니터링 서비스입니다.

  • Amazon SNS는 이메일 알림을 보내는 데 이 패턴으로 사용되는 메시지 알림 서비스입니다.

기타 도구

높은 수준의 구현 단계

  1. CloudWatch 에이전트의 AWS ID 및 액세스 관리 (IAM) 역할을 생성합니다.

  2. GoldenGate 오류 로그가 생성되는 EC2 인스턴스에 IAM 역할을 연결합니다.

  3. EC2 CloudWatch 인스턴스에 에이전트를 설치합니다.

  4. CloudWatch 에이전트 구성 파일 구성: awscli.confawslogs.conf.

  5. CloudWatch 에이전트를 시작합니다.

  6. 로그 그룹에서 지표 필터를 생성합니다.

  7. Amazon SNS을 설정합니다.

  8. 지표 필터에 대한 경보를 생성합니다. Amazon SNS는 해당 필터가 이벤트를 포착하면 이메일 경보를 보냅니다.

자세한 지침은 다음 섹션을 참조하세요.

에픽

작업설명필요한 기술

IAM 역할을 생성합니다.

AWS 리소스에 액세스하려면 권한이 필요하므로 각 서버에서 CloudWatch 에이전트를 실행하는 데 필요한 권한을 포함하도록 IAM 역할을 생성합니다.

IAM 역할을 생성하려면:

  1. Management Console에 로그인하여 https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택한 후 역할 생성을 선택합니다.

  3. 신뢰할 수 있는 엔터티 유형에서 서비스를 선택합니다.

  4. 사용 사례에 대해 EC2를 선택하고 다음을 선택합니다.

  5. 정책 목록에서 CloudWatchAgentServerPolicy옆의 확인란을 선택합니다. 필요한 경우 검색 상자를 사용하여 정책을 찾습니다.

  6. 다음을 선택합니다.

  7. 역할 이름에 새 역할의 이름(예: goldengate-cw-monitoring-role 또는 자신이 선호하는 다른 이름)을 입력합니다.

  8. (선택 사항)역할 설명에 설명을 입력합니다.

  9. 정책 이름 아래에 CloudWatchAgentServerPolicy표시되는지 확인합니다.

  10. (선택 사항)이 역할에 대한 액세스를 구성, 추적 또는 제어할 태그 키-값 페어를 하나 이상 추가한 후 역할 생성을 선택합니다.

AWS 일반
작업설명필요한 기술

GoldenGate 오류 로그가 생성되는 EC2 인스턴스에 IAM 역할을 연결합니다.

에서 생성된 GoldenGate 오류 로그는 CloudWatch 채워져 모니터링되어야 하므로 1단계에서 생성한 IAM 역할을 실행 중인 EC2 인스턴스에 연결해야 합니다. GoldenGate

IAM 역할을 인스턴스에 연결하려면:

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

  2. 탐색 창에서 [Instances] 를 선택한 다음 실행 중인 GoldenGate 인스턴스를 찾습니다.

  3. 인스턴스를 선택하고 작업, 보안(, IAM 역할 수정을 선택합니다.

  4. 인스턴스에 연결할 IAM 역할을 선택한 후 저장을 선택합니다.

AWS 일반
작업설명필요한 기술

EC2 인스턴스에 CloudWatch 에이전트를 설치합니다. GoldenGate

에이전트를 설치하려면 다음 명령을 실행합니다.

sudo yum install -y awslogs
AWS 일반

에이전트 구성 파일을 편집합니다.

  1. 다음 명령을 실행합니다.

    sudo su -
  2. 필요에 따라 이 파일을 편집하여 AWS 리전을 업데이트하세요.

    cat /etc/awslogs/conf [plugins] cwlogs = cwlogs [default] region = us-east-1
  3. /etc/awslogs/awslogs.conf 파일을 편집하여 파일 이름, 로그 그룹 이름 및 날짜/시간 형식을 업데이트하세요. 의 날짜 형식과 일치하도록 날짜/시간을 지정해야 합니다ggserror.log. 그렇지 않으면 로그 스트림이 유입되지 않습니다. CloudWatch 예:

    datetime_format = %Y-%m-%dT%H:%M:%S%z file = /u03/oracle/oragg/ggserr.log log_group_name = goldengate_monitor
AWS 일반

에이전트를 시작합니다. CloudWatch

에이전트를 시작하려면 다음 명령을 실행합니다.

$ sudo service awslogsd start

에이전트를 시작한 후 CloudWatch 콘솔에서 로그 그룹을 볼 수 있습니다. 로그 스트림에 파일 내용이 포함되어 있습니다.

AWS 일반
작업설명필요한 기술

ABEND 및 STOPTED 키워드에 대한 지표 필터를 생성하세요.

로그 그룹에 대한 지표 필터를 생성하면 필터가 오류 로그를 식별할 때마다 경보가 시작되고 Amazon SNS 구성을 기반으로 이메일 알림이 전송됩니다.

지표 필터를 생성하려면:

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

  2. 로그 그룹의 이름을 선택합니다.

  3. 작업을 선택한 후 지표 필터 생성을 선택합니다.

  4. 필터 패턴의 경우 ABEND와 같은 패턴을 지정하세요.

  5. 다음을 선택하고 지표 필터의 이름을 입력합니다.

  6. 메트릭 세부 정보에서 메트릭 네임스페이스에 메트릭이 게시될 CloudWatch 네임스페이스의 이름을 입력합니다. 네임스페이스가 아직 없는 경우 새로 생성이 선택되는지 확인하세요.

  7. 지표 필터가 필터에 포함된 키워드의 발생을 계산하는 경우 지표 값1을 입력합니다.

  8. 단위없음으로 설정합니다.

  9. 지표 필터 생성을 선택합니다. 생성한 지표 필터를 탐색 창에서 찾을 수 있습니다.

  10. STOPPED 패턴에 대한 또 다른 지표 필터를 생성합니다. 한 로그 그룹 내에서 여러 지표 필터를 만들고 개별적으로 경보를 설정할 수 있습니다.

CloudWatch
작업설명필요한 기술

SNS 주제를 생성합니다.

이 단계에서는 지표 필터에 대한 경보를 생성하도록 Amazon SNS를 구성합니다.

SNS 주제를 생성하려면:

  1. https://console.aws.amazon.com/sns/home에서 Amazon SNS 콘솔에 로그인합니다.

  2. 주제 생성에서 goldengate-alert로 주제의 이름을 입력한 다음, 다음 단계를 선택합니다.

  3. 유형에서 표준을 선택합니다.

  4. 양식의 끝으로 스크롤하고 주제 생성을 선택합니다. 콘솔에서 새 주제의 세부 정보 페이지가 열립니다.

Amazon SNS

구독을 생성합니다.

주제 구독을 생성하려면:

  1. 왼쪽의 탐색 창에서 구독을 선택합니다.

  2. 구독 페이지에서 구독 생성을 선택합니다.

  3. 구독 생성 페이지에서 주제 ARN 필드를 선택하여 에서 주제 목록을 확인합니다.

  4. 이전 단계에서 생성한 주제를 선택합니다.

  5. 프로토콜에서 이메일을 선택합니다.

  6. 엔드포인트에 알림을 받는 데 사용할 수 있는 이메일 주소를 입력합니다.

  7. 구독 생성을 선택합니다. 콘솔에서 새 구독의 세부 정보 페이지를 엽니다.

  8. 이메일 받은 편지함을 확인하고 AWS 알림의 이메일에서 구독 확인을 선택합니다.

Amazon SNS가 웹 브라우저를 열고 구독 ID와 함께 구독 확인을 표시합니다.

Amazon SNS
작업설명필요한 기술

SNS 주제에 대한 경보를 생성하세요.

로그 그룹 지표 필터를 기반으로 경보 생성하려면:

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

  2. 왼쪽 탐색 창에서 로그를 선택한 다음, 로그 그룹을 선택합니다.

  3. 지표 필터가 포함된 로그 그룹을 선택합니다.

  4. 지표 필터를 선택합니다.

  5. 지표 필터 탭에서 경보의 기반으로 사용할 지표 필터의 확인란을 선택합니다.

  6. 경보 생성을 선택하세요.

  7. 조건의 경우 각 섹션에서 다음을 지정합니다.

    • 임계값 유형에서 정적을 선택합니다.

    • <metric_name>이 . . .과 같을 때마다의 경우 더 큼을 선택합니다.

    • …보다에는 0을 지정하세요.

  8. 다음을 선택합니다.

  9. 알림에서:

    • 경보 상태 트리거에서 경보를 선택합니다.

    • 다음 주소로 알림 전송에서 기존 SNS 주제를 선택합니다.

    • 이메일 상자에서 이전 단계에서 생성한 Amazon SNS 주제를 선택합니다.

  10. 다음을 선택합니다.

  11. 이름 및 설명에서, 경보에 대한 이름과 설명을 입력하세요.

    참고: 설명에는 알림 이메일에 설명이 포함되도록 인스턴스 이름을 지정할 수 있습니다.

  12. 미리 보기 및 생성에서 구성이 올바른지 확인한 다음 경보 생성을 선택합니다.

이 단계를 수행한 후에는 모니터링 중인 GoldenGate 오류 로그 파일 (ggserr.log) 에서 이러한 패턴이 탐지될 때마다 이메일 알림을 받게 됩니다.

CloudWatch

문제 해결

문제Solution

GoldenGate 오류 로그의 로그 스트림은 유입되지 않습니다 CloudWatch.

/etc/awslogs/awslogs.conf 파일을 확인하여 파일 이름, 로그 그룹 이름 및 날짜/시간 형식을 확인하세요. ggserror.log의 날짜 형식과 일치하도록 날짜/시간을 지정해야 합니다. 그렇지 않으면 로그 스트림이 유입되지 않습니다 CloudWatch.

관련 리소스