CloudWatch 필터 패턴과 일치하는 Amazon RDS SQL Server 오류 및 에이전트 로그 이벤트에 대한 SNS 알림을 받으려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 3월 26일

SQL Server를 실행하는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스가 있습니다. 특정 CloudWatch 필터 패턴과 일치하는 SQL Server 오류 및 에이전트 로그 이벤트에 대한 알림을 받을 수 있도록 Amazon CloudWatch 경보 및 Amazon Simple Notification Service(Amazon SNS) 주제를 생성하려고 합니다. 어떻게 해야 합니까?

간략한 설명

SQL Server 로그를 Amazon CloudWatch Logs에 게시한 후, 사용자가 생성한 필터 패턴과 일치하는 SQL Server DB 로그 이벤트에 대한 CloudWatch 경보 및 SNS 알림을 생성할 수 있습니다.

Amazon RDS SQL Server 로그 데이터가 Amazon CloudWatch에 게시되면 지표 필터를 생성하여 로그를 검색하고 필터링할 수 있습니다. 지표 필터는 CloudWatch Logs로 전송될 때 로그 데이터에서 검색되는 용어와 패턴을 정의합니다. 그런 다음, CloudWatch Logs는 지표 필터를 사용하여 경보를 설정할 수 있는 숫자 CloudWatch 지표로 로그 데이터를 변환합니다. 이러한 지표를 보거나 경보를 설정할 때 백분위수 통계를 비롯한 모든 유형의 CloudWatch 통계를 사용할 수 있습니다. 자세한 내용은 로그 데이터 검색 및 필터링을 참조하십시오.

해결 방법

"Login failed for user"와 같은 필터 패턴을 생성하여 실패한 로그인 시도를 식별할 수 있습니다. 또는 "I/O requests taking longer than 15 seconds to complete"에 대한 필터를 생성하여 I/O 병목 현상이나 디스크 병목 현상을 식별할 수 있습니다.

다음 예제에서는 지표 필터를 사용하여 "Login failed for user"라는 용어가 포함된 이벤트를 검색하고 계산하여 실패한 로그인 시도를 추적합니다.

  1. Amazon RDS 콘솔을 열고 탐색 창에서 [데이터베이스]를 선택합니다.
  2. CloudWatch 지표를 구성할 DB 인스턴스의 이름을 선택합니다.
  3. [구성] 탭의 [CloudWatch Logs]에서 [오류]를 선택합니다. 그러면 CloudWatch 콘솔에서 [로그] 창이 열립니다. [게시된 로그] 섹션이 보이지 않으면 CloudWatch Logs로 SQL Server 로그 게시를 활성화했는지 확인합니다.
  4. CloudWatch 콘솔 탐색 창에서 [로그 그룹]을 선택합니다.
  5. RDS DB 인스턴스에 대한 오류 로그를 선택하고 [지표 필터 생성]을 선택합니다.
  6. [필터 패턴]에 "Login failed for user"와 같은 패턴을 입력합니다.
    참고: 필터 패턴의 모든 항목은 대소문자를 구분합니다.
  7. 동일한 페이지에서 필터 패턴을 테스트할 수 있습니다. [테스트할 로그 데이터 선택] 섹션에서 필터를 테스트할 로그 그룹을 선택하고, [패턴 테스트]를 선택합니다.
  8. [결과] 섹션에서 로그 파일에서 필터 패턴과 일치하는 결과 수를 확인할 수 있습니다. [테스트 결과 표시]를 선택하여 세부 정보를 볼 수도 있습니다.
  9. [지표 할당]을 선택합니다.
  10. [필터 이름] 및 [지표 이름]을 입력합니다.
  11. [고급 지표 설정 표시]를 선택하고 [지표 값]을 1로 설정했는지 확인합니다. 이 값은 "Login Failed for User"를 포함하는 각 로그 이벤트에 대해 카운트가 1씩 증가하도록 지정합니다.
  12. [기본값]에 0을 입력합니다.
  13. [필터 생성]을 선택하고, [경보 생성]을 선택합니다.
  14. [기간] 드롭다운 목록에서 평가 기간을 선택합니다. 기본 기간은 5분입니다.
  15. [조건] 섹션에서 다음을 선택합니다.
    [임계값 유형] – 정적.
    [테스트가 다음 경우에 항상] - 임계값 초과.
    [초과 기준] – 10을 입력합니다.
  16. [추가 구성] 섹션을 확장합니다. [경보를 생성할 데이터 포인트]에 대해 경보를 트리거하기 위해 ALARM 상태여야 하는 평가 기간(데이터 포인트) 수를 입력합니다.
  17. [누락 데이터 처리]에서 [누락 데이터를 누락 데이터로 처리]를 선택합니다.
  18. [다음]을 선택합니다.
  19. [알림] 섹션의 [SNS 주제 선택]에서 기존 SNS 주제를 선택하거나 알림을 수신할 새 주제를 생성합니다.
  20. 알림을 수신할 이메일 엔드포인트를 입력합니다.
  21. [다음]을 선택합니다.
  22. [경보 이름] 및 [경보 설명]을 입력하고 [다음]을 선택합니다.
  23. [미리보기 후 생성] 페이지에서 [지표] 그래프 및 [조건]을 검토합니다.
  24. [경보 생성]을 선택합니다.

이 예제 단계를 수행한 후 경보 상태는 처음 몇 분 동안 데이터 부족 상태입니다. 경보에 충분한 데이터가 있으면 정상 상태입니다. 5분 안에 10번이 넘는 로그인 실패를 수신하면 CloudWatch 경보가 지정된 이메일로 SNS 알림을 보냅니다.


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?