Amazon CloudWatch 이상 탐지를 사용하여 사용자 지정 지표에 대한 경보 생성 - 권장 가이드

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

Amazon CloudWatch 이상 탐지를 사용하여 사용자 지정 지표에 대한 경보 생성

작성자: Ram Kandaswamy(AWS), Raheem Jiwani(AWS)

환경: 프로덕션

기술: 관리 및 거버넌스, 운영, DevOps CloudNative

AWS 서비스: 아마존 CloudWatch

요약

Amazon Web Services (AWS) 클라우드에서는 CloudWatch Amazon을 사용하여 지표를 모니터링하고 알림을 보내는 경보를 생성하거나 임계값 위반 시 자동으로 변경할 수 있습니다.

정적 임계값의 제한을 피하려면 과거 패턴을 기반으로 특정 지표가 정상 작동 범위를 벗어나는 경우 알려주는 경보를 생성할 수 있습니다. 예를 들어 Amazon API Gateway에서 API의 응답 시간을 모니터링하고 서비스 수준에 관한 계약(SLA)을 충족하지 못하게 하는 이상 현상에 대한 알림을 받을 수 있습니다.

이 패턴은 사용자 지정 지표에 대해 CloudWatch 이상 탐지를 사용하는 방법을 설명합니다. 이 패턴은 Amazon CloudWatch Logs Insights에서 사용자 지정 지표를 생성하거나 AWS Lambda 함수를 사용하여 사용자 지정 지표를 게시한 다음 Amazon Simple Notification Service (Amazon SNS) 를 사용하여 예외 항목 탐지를 설정하고 알림을 생성하는 방법을 보여줍니다.

사전 조건 및 제한 사항

사전 조건 

제한 사항

  • CloudWatch 지표는 밀리초 시간 간격을 지원하지 않습니다. 일반 지표와 사용자 지정 지표의 세분성에 대한 자세한 내용은 Amazon CloudWatch FAQ를 참조하십시오.

아키텍처

이 다이어그램은 다음 워크플로를 보여줍니다.

CloudWatch Amazon SNS 주제를 사용하여 경보가 시작될 때 이메일 알림을 보냅니다.
  1. Logs에서 생성하고 업데이트한 지표를 사용하는 CloudWatch 로그는 스트리밍됩니다. CloudWatch

  2. 임계값에 따라 경보가 시작되고 SNS 주제에 알림을 보냅니다.

  3. Amazon SNS에서 이메일로 이를 알립니다.

기술 스택

  • CloudWatch

  • Lambda

  • Amazon SNS

도구

  • CloudWatchAmazon은 안정적이고 확장 가능하며 유연한 모니터링 솔루션을 제공합니다.

  • AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있도록 지원하는 컴퓨팅 서비스입니다.

  • Amazon Simple Notification Service(SNS)는 게시자에서 구독자에게 메시지를 전송하는 관리형 서비스입니다.

에픽

작업설명필요한 기술

옵션 1 - Lambda 함수를 사용하여 사용자 지정 지표을 생성합니다.

lambda_function.py파일 (첨부) 을 다운로드한 다음 AWS 설명서의 aws-lambda-developer-guide리포지토리에 있는 샘플 lambda_function.py 파일을 GitHub 교체하십시오. 사용자 지정 측정치를 Logs로 전송하는 샘플 Lambda 함수를 제공합니다. CloudWatch Lambda 함수는 Boto3 API를 사용하여 통합합니다. CloudWatch  

Lambda 함수를 실행한 후 AWS Management Console에 로그인하여 콘솔을 CloudWatch 열면 게시된 네임스페이스에서 게시된 지표를 사용할 수 있습니다.

DevOps 엔지니어, AWS DevOps

옵션 2 — CloudWatch 로그 그룹에서 사용자 지정 메트릭을 생성합니다.

AWS Management 콘솔에 로그인하고 CloudWatch 콘솔을 연 다음 로그 그룹을 선택합니다. 지표를 생성하려는 로그 그룹을 선택합니다. 

작업을 선택한 후 지표 필터 생성을 선택합니다. 필터 패턴에 사용할 필터 패턴을 입력합니다. 자세한 내용은 CloudWatch 설명서의 필터 및 패턴 구문을 참조하십시오. 

(선택 사항)필터 패턴을 테스트하려면 테스트 패턴에 패턴을 테스트할 로그 이벤트를 하나 이상 입력합니다. 줄 바꿈은 로그 이벤트 메시지 상자에서 로그 이벤트를 구분할 때 사용하므로 각 로그 이벤트는 한 줄을 넘지 않아야 합니다. 패턴을 테스트한 후 지표 세부 정보에 지표의 이름과 값을 입력할 수 있습니다. 

사용자 지정 지표를 만드는 방법에 대한 자세한 내용 및 단계는 CloudWatch 설명서의 로그 그룹에 대한 지표 필터 만들기를 참조하십시오.

DevOps 엔지니어, AWS DevOps

사용자 지정 지표에 대한 경보를 생성합니다.

CloudWatch 콘솔에서 [Alarms] 를 선택한 다음 [알람 생성] 을 선택합니다. 지표 선택을 선택하고 검색 상자에 이전에 생성한 지표의 이름을 입력합니다. 그래프로 표시된 지표 탭을 선택하고 필요에 따라 옵션을 구성합니다.

조건에서 정적 임계값 대신 이상 현상 탐지를 선택합니다. 이것은 두 개의 표준 디폴트 편차를 기반으로 한 밴드를 보여줍니다. 임계값을 설정하고 필요에 따라 조정할 수 있습니다.

다음을 선택합니다.

참고: 밴드는 동적이며 데이터 포인트의 품질에 따라 달라집니다. 더 많은 데이터를 집계하기 시작하면 밴드와 임계값이 자동으로 업데이트됩니다. 

DevOps 엔지니어, AWS DevOps

SNS 알림을 설정합니다.

알림에서 경보가 ALARM 상태, OK 상태 또는 INSUFFICIENT_DATA 상태일 때 알릴 SNS 주제를 선택합니다.

경보가 동일한 경보 상태 또는 다른 경보 상태에 대해 여러 개의 알림을 보내도록 설정하려면 알림 추가를 선택합니다. 다음을 선택합니다. 경보 이름 및 설명을 입력합니다. 이름은 ASCII 문자만 포함해야 합니다. 다음을 선택합니다.

미리 보기 및 생성에서 정보 및 조건이 원하는 내용인지 확인한 다음 경보 생성을 선택합니다.

DevOps 엔지니어, AWS DevOps

관련 리소스

첨부

이 문서와 관련된 추가 콘텐츠에 액세스하려면 attachment.zip 파일의 압축을 풉니다.