내용으로 건너뛰기

사용자 지정 CloudWatch 경보 알림을 구성하려면 어떻게 해야 합니까?

2분 분량
0

경보를 트리거한 로그 이벤트를 포함하도록 상태 변경에 대한 Amazon CloudWatch 경보 알림을 생성하려고 합니다.

간략한 설명

AccessDenied 또는 UnauthorizedOperations 오류가 포함된 AWS CloudTrail 이벤트와 같은 특정 로그 이벤트와 일치하도록 지표 필터를 구성할 수 있습니다. 그런 다음 CloudWatch Logs를 사용하여 지표를 가져옵니다. 지표를 모니터링하려면 CloudWatch 경보를 생성합니다.

기본적으로 Amazon Simple Notification Service(Amazon SNS)를 사용하는 CloudWatch 경보는 경보 및 지표 세부 정보를 포함하여 사전에 형식이 지정된 알림을 전송합니다. 상태 변경의 원인을 파악하기 위해 CloudWatch 경보를 트리거한 로그 이벤트를 알림에 통합할 수 있습니다.

경보 상태가 변경될 때 AWS Lambda 함수를 간접 호출하려면 CloudWatch 경보 직접 Lambda 통합을 사용하십시오. 그러면 Lambda 함수는 관련 로그 이벤트를 포함하여 사용자 지정 알림을 게시할 수 있습니다.

해결 방법

전제 조건: 지표 필터에서 사용자 지정 지표를 모니터링하는 기존 CloudWatch 경보가 있는지 확인하십시오. 자세한 내용은 정적 임계값을 기반으로 CloudWatch 경보 생성을 참조하십시오.

AWS Lambda 함수 생성

Lambda 함수를 구성하여 다음 작업을 수행합니다.

  • 경보 이름, 설명, 타임스탬프, 상태 변경 사유와 같은 CloudWatch 경보 이벤트 세부 정보를 분석합니다. 세부 정보를 사용자 지정 메시지에 통합할 수 있습니다.

  • CloudWatch Logs Insights를 사용하여 관련 CloudWatch 로그 그룹의 로그 데이터를 분석합니다.
    경보의 상태가 변경되면 Lambda 함수는 StartQuery API 호출을 실행하여 로그 그룹에 대해 쿼리를 실행합니다. 다음 쿼리 예시에서는 AccessDenied 또는 UnauthorizedOperation 오류가 발생하면서 실패한 CloudTrail API 직접 호출이 요약되어 있습니다.

    filter (errorCode="AccessDenied" or errorCode="UnauthorizedOperation")
    | stats count(*) as Hits by errorCode, errorMessage, sourceIPAddress, userIdentity.arn
    | sort Hits desc
  • GetQueryResults를 사용하여 해당하는 결과를 검색합니다.

  • Amazon SNS Publish API를 사용하여 경보 세부 정보 및 CloudWatch Logs Insights 쿼리 결과가 포함된 사용자 지정 메시지를 전송합니다.

관련 정보

기본 Amazon SNS 이메일 제목을 사용자 지정하려면 어떻게 해야 합니까?

AWS 공식업데이트됨 일 년 전