Amazon CloudWatch 경보 사용 - Amazon CloudWatch

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

Amazon CloudWatch 경보 사용

CloudWatch에서 지표 경보복합 경보를 모두 생성할 수 있습니다.

  • 지표 경보는 단일 CloudWatch 지표를 감시하거나 CloudWatch 지표를 기반으로 한 수학 표현식의 결과를 감시합니다. 이러한 경보는 여러 기간에 대해 지정된 임계값과 지표 또는 표현식의 값 비교하여 하나 이상의 작업을 수행합니다. 이 작업은 Amazon SNS 주제로 알림 전송, Amazon EC2 작업 또는 Auto Scaling 작업 수행 또는 시스템 관리자 OpsItem 생성일 수 있습니다.

  • 복합 경보에는 사용자가 생성한 다른 경보의 경보 상태를 고려하는 규칙 표현식이 포함됩니다. 복합 경보는 규칙의 모든 조건이 충족되는 경우에만 ALARM 상태로 전환됩니다. 복합 경보의 규칙 표현식에 지정된 경보에는 지표 경보 및 기타 복합 경보가 포함될 수 있습니다.

    복합 경보를 사용하면 경보 노이즈를 줄일 수 있습니다. 여러 지표 경보를 생성할 수 있으며, 복합 경보를 생성하고 복합 경보에 대해서만 경보를 설정할 수도 있습니다. 예를 들어 모든 기본 지표 경보가 ALARM 상태인 경우에만 복합 경보가 ALARM 상태로 전환되도록 할 수 있습니다.

    복합 경보는 상태를 변경할 때 Amazon SNS 알림을 보낼 수 있으며, 시스템 관리자가 ALARM 상태가 되지만 EC2 작업 또는 OpsItems 작업을 수행할 수 없을 때 Auto Scaling를 생성할 수 있습니다.

경보를 CloudWatch 대시보드에 추가하여 시각적으로 모니터링할 수 있습니다. 대시보드에서 경보가 발행되면 빨간색으로 ALARM 상태라고 표시가 되기 때문에 사전에 손쉽게 상태를 모니터링할 수 있습니다.

경보는 경보가 상태를 변경하는 경우에만 작업을 호출합니다. Auto Scaling 작업이 있는 경보는 예외입니다. Auto Scaling 작업의 경우 경보가 1분에 한 번씩 작업을 계속 호출하여 경보가 새 상태로 유지됩니다.

참고

CloudWatch에서는 지정한 작업을 테스트 또는 검증하지 않으며 없는 작업을 호출하려는 시도로 인한 Amazon EC2 Auto Scaling 또는 Amazon SNS 오류를 감지하지도 않습니다. 경보 작업이 존재하는지 확인하십시오.

지표 경보 상태

지표 경보에는 다음과 같은 상태가 있을 수 있습니다.

  • OK – 지표 또는 표현식이 정의된 임계값 내에 있습니다.

  • ALARM – 지표 또는 표현식이 정의된 임계값을 벗어났습니다.

  • INSUFFICIENT_DATA – 경보가 방금 시작되었거나, 지표를 사용할 수 없거나, 지표를 통해 경보 상태를 결정하는 데 사용할 충분한 데이터가 없습니다.

경보 평가

경보를 생성할 때, CloudWatch가 경보 상태를 변경할 때를 평가할 수 있도록 3가지 설정을 지정할 수 있습니다.

  • 기간은 경보에 대해 개별 데이터 포인트를 생성하기 위해 지표 또는 표현식을 평가하는 기간입니다. 초로 표시됩니다. 기간으로 1분을 선택하면 경보가 분당 한 번씩 지표를 평가합니다.

  • Evaluation Periods(평가 기간)는 경보 상태를 결정할 때 평가할 가장 최근 기간 또는 데이터 포인트의 수입니다.

  • Datapoints to Alarm(경보에 대한 데이터 포인트)은 경보가 ALARM 상태로 전환되도록 위반되어야 하는 평가 기간 내 데이터 포인트 수입니다. 위반 데이터 포인트가 연속적일 필요는 없습니다. Evaluation Period(평가 기간)와 동일한 마지막 데이터 포인트의 수 이내이면 됩니다.

다음 그림에서 지표 경보에 대한 경보 임계값은 3개 단위로 설정됩니다. Evaluation Period(평가 기간)Datapoints to Alarm(경보에 대한 데이터포인트)은 모두 3입니다. 가장 최근의 연속된 3번의 기간에서 모든 기존 데이터 포인트가 임계값을 초과하면 경보가 ALARM 상태가 됩니다. 그림에서는 기간 3에서 6 사이에 이러한 일이 발생합니다. 기간 6에서는 값이 임계값 아래로 떨어지므로 평가되는 기간 중 하나가 위반 상태가 아니며 경보 상태가 다시 OK로 변경됩니다. 9번째 기간에 다시 한 번 임계값이 위반되지만, 오직 하나의 기간 동안에만 그렇습니다. 결과적으로 경보 상태는 OK로 남아 있습니다.


        경보 임계값이 경보 트리거

Evaluation Periods(평가 기간)Datapoints to Alarm(경보에 대한 데이터 포인트) 값을 다르게 구성하면 "N 중 M" 경보를 설정합니다. Datapoints to Alarm(경보에 대한 데이터 포인트)은 ("M")이고 Evaluation Periods(평가 기간)는 ("N")입니다. 평가 간격은 데이터 포인트의 수에 기간을 곱한 값입니다. 예를 들어, 1분 기간으로 5개의 데이터 포인트 중 4개를 구성하는 경우 평가 간격은 5분입니다. 10분의 기간으로 3개의 데이터 포인트 중 3개를 구성하는 경우 평가 간격은 30분입니다.

참고

경보를 생성한 직후에 데이터 포인트가 누락되었으며 경보를 생성하기 전에 CloudWatch에 지표가 보고된 경우, CloudWatch는 경보가 생성되기 전 가장 최근의 데이터 포인트를 검색해 경보를 평가합니다.

CloudWatch 경보가 누락 데이터를 처리하는 방법 구성

때로 지표에 대해 예상되는 모든 데이터 포인트가 CloudWatch에 보고되지 않는 경우가 있습니다. 연결이 끊기거나 서버가 정지할 때, 설계에 따라 지표 보고 데이터가 간헐적으로만 전송될 때 이런 일이 일어날 수 있습니다.

CloudWatch의 경우 경보를 평가할 때 누락된 데이터 포인트를 처리하는 방법을 지정할 수 있습니다. 이렇게 하면 모니터링 중인 데이터 유형에 적합한 경우에만 경보가 ALARM 상태로 전환되도록 구성할 수 있습니다. 누락된 데이터에 문제가 없는 경우의 거짓 긍정을 피할 수 있습니다.

각 경보가 항상 세 가지 상태 중 하나인 것과 마찬가지로, CloudWatch에 보고된 각각의 특정 데이터 포인트는 세 가지 범주 중 하나에 속합니다.

  • 위반하지 않음(임계값에서)

  • 위반(임계값 위반)

  • 누락

각 경보에 대해 다음 중 하나로 누락된 데이터 포인트가 처리되도록 CloudWatch를 지정할 수 있습니다.

  • notBreaching – 누락 데이터 요소를 “양호”하고 임계값 내에 있는 것으로 처리합니다.

  • breaching – 누락 데이터 요소를 “불량”하고 임계값을 위반한 것으로 처리합니다.

  • ignore – 현재 경보 상태를 유지합니다.

  • missing – 경보 평가 범위의 모든 데이터 포인트가 누락된 경우 경보가 INSUFFICIENT_DATA로 전환됩니다.

최고의 옵션은 지표 유형에 따라 다릅니다. 인스턴스의 CPUUtilization과 같은 데이터를 지속적으로 보고하는 지표의 경우 어떤 문제가 발생했음을 나타내기 위해 누락된 데이터 포인트를 breaching으로 처리해야 할 수 있습니다. 그러나 ThrottledRequests의 Amazon DynamoDB과 같이 오류가 발생할 때만 데이터 포인트를 생성하는 지표의 경우 누락된 데이터를 notBreaching로 처리할 수 있습니다. 기본 동작은 missing입니다.

경보에 대한 최상의 옵션을 선택하면 불필요하고 오해의 소지가 있는 경보 조건 변경을 막을 수 있으며, 시스템 상태를 보다 정확하게 나타낼 수 있습니다.

데이터가 누락되었을 때 경보 상태 평가 방법

경보가 상태를 변경할지 여부를 평가할 때마다 CloudWatch는 Evaluation Periods(평가 기간)로 지정된 수보다 더 많은 수의 데이터 요소를 검색하려고 시도합니다. 검색을 시도하는 데이터 포인트의 정확한 수는 경보 기간의 길이, 표준 해상도 또는 고해상도 지표에 토대를 두고 있는지 여부에 따라 달라집니다. 검색을 시도하는 데이터 포인트의 기간이 평가 범위입니다.

CloudWatch가 이런 데이터 포인트를 검색한 후에는 다음이 진행됩니다.

  • 평가 범위 동안 누락된 데이터 포인트가 없는 경우 CloudWatch는 가장 최근 수집한 데이터 포인트에 따라 경보를 평가합니다. 평가된 데이터 포인트의 수는 경보의 Evaluation Periods(평가 기간)와 동일합니다. 평가 범위 내에서 더 멀리 뒤로 돌아가는 추가 데이터 포인트는 필요하지 않으며 무시됩니다.

  • 평가 범위 동안 일부 데이터 포인트가 누락되었지만 평가 범위에서 성공적으로 검색된 기존 데이터 포인트의 총 수가 경보의 Evaluation Periods(평가 기간)보다 크거나 같으면 CloudWatch는 평가 범위에서 더 멀리 되돌려 있는 필요한 추가 데이터 포인트를 포함하여 성공적으로 검색된 가장 최근의 실제 데이터 포인트를 기반으로 경보 상태를 평가합니다. 이 경우 누락 데이터 처리 방법에 대한 값이 필요 없으며, 이를 무시합니다.

  • 평가 범위 동안 일부 데이터 포인트가 누락되고 검색된 실제 데이터 포인트 수가 경보 Evaluation Periods(평가 기간) 수보다 작은 경우 CloudWatch는 누락 데이터 포인트를 누락된 데이터 처리 방법에 대해 지정한 결과로 채운 다음 경보를 평가합니다. 그러나 평가 범위 내의 모든 실제 데이터 포인트는 평가에 포함됩니다. CloudWatch는 누락 데이터 포인트를 가능한 몇 회만 사용합니다.

참고

이 동작은 특별한 경우 지표 흐름이 멈춘 후에도 CloudWatch 경보 기능이 일정 시간 동안 최종 데이터 포인트 세트를 계속해서 다시 평가할 수 있습니다. 이 재평가를 통해 지표 스트림 중지 직전에 상태가 변한 경우 경보가 상태를 변경하고 작업을 다시 실행할 수 있습니다. 이 동작을 완화하려면 더 짧은 기간을 사용하십시오.

다음은 경보 평가 동작에 대한 예를 설명한 테이블입니다. 첫 번째 표에서 Datapoints to Alarm(경보에 대한 데이터 포인트)Evaluation Periods(평가 기간)는 모두 3입니다. CloudWatch는 가장 최근의 3개 데이터 포인트 중 일부가 누락된 경우 경보를 평가할 때 가장 최근의 데이터 포인트 5개를 검색합니다. 5는 경보의 평가 범위입니다.

1열은 평가 범위가 5이기 때문에 가장 최근의 데이터 포인트 5개를 보여줍니다. 이러한 데이터 포인트는 오른쪽에 가장 최근의 데이터 포인트와 함께 표시됩니다. 0은 위반되지 않는 데이터 포인트, X는 위반 데이터 포인트, -는 누락 데이터 포인트입니다.

2열은 필요한 데이터 요소 3개 중 누락된 개수를 표시합니다. 가장 최신 데이터 요소 5개가 평가되었더라도 경보 상태 평가를 위해 3개(Evaluation Periods(평가 기간)에 대한 설정)만 필요합니다. 2열의 데이터 요소 개수는 누락된 데이터 요소 처리 방법에 대한 설정을 사용하여 반드시 "채워야" 하는 데이터 요소의 수입니다.

3-6열에서 열 헤더는 누락 데이터를 처리하는 방법에 사용 가능한 값입니다. 이러한 열의 행은 이러한 각 누락 데이터 처리 방법에 대해 설정되는 경보 상태를 보여줍니다.

데이터 포인트 채워야 하는 데이터 포인트의 수 누락 IGNORE 위반 위반하지 않음

0 - X - X

0

OK

OK

OK

OK

0 - - - -

2

OK

OK

OK

OK

- - - - -

3

INSUFFICIENT_DATA

현재 상태 유지

ALARM

OK

0 X X - X

0

ALARM

ALARM

ALARM

ALARM

- - X - -

2

ALARM

Retain current state

ALARM

OK

앞 테이블의 2행에서는 누락 데이터를 위반으로 처리하는 경우에도 경보 상태는 OK로 유지됩니다. 기존 데이터 포인트 중 하나가 위반 상태가 아니며, 위반으로 처리되는 2개의 누락 데이터 포인트와 함께 이를 평가하기 때문입니다. 다음에 이 경보를 평가할 때 이 데이터가 여전히 누락된 경우에는 위반하지 않는 데이터 포인트가 더 이상 평가 범위에 속하지 않기 때문에 ALARM로 이동합니다.

가장 최근 데이터 포인트 5개가 모두 누락된 세 번째 행은 누락 데이터를 처리하는 방법에 대한 다양한 설정이 경보 상태에 어떻게 영향을 미치는지 보여줍니다. 누락 데이터 포인트가 위반으로 간주되는 경우 경보가 ALARM 상태로 전환되고 위반하지 않은 것으로 간주되는 경우 경보가 OK 상태로 전환됩니다. 누락 데이터 포인트가 무시되는 경우 경보는 누락 데이터 포인트 이전의 현재 상태를 유지합니다. 그리고 누락 데이터 포인트가 누락된 것으로 간주되는 경우 경보에 최근 실제 데이터가 충분하지 않아서 평가할 수 없으며 INSUFFICIENT_DATA로 이동합니다.

네 번째 행에서는 세 개의 가장 최근 데이터 포인트가 위반되고 경보의 ALARMEvaluation Periods(평가 기간)Datapoints to Alarm(경보에 대한 데이터 포인트)이 모두 3으로 설정되어 있으므로 경보가 모두 상태로 전환됩니다. 이 경우, 누락 데이터 포인트가 무시되고 평가할 실제 데이터 포인트가 3개이므로 누락 데이터를 평가하는 방법에 대한 설정이 필요하지 않습니다.

행 5는 기본 경보 상태라는 경보 평가의 특수한 사례를 나타냅니다. 자세한 내용은 불필요한 경보 상태 전환 방지 항목을 참조하십시오.

다음 테이블의 경우 기간은 다시 5분이며, Datapoints to Alarm(경보에 대한 데이터 포인트)는 2, Evaluation Periods(평가 기간)는 3입니다. 'N 중 M' 경보는 '3 중 2'입니다.

평가 범위는 5입니다. 이것은 검색되는 최근 데이터 포인트의 최대 수이며 일부 데이터 포인트가 누락된 경우 사용할 수 있습니다.

데이터 포인트 누락 데이터 포인트 가운데 수(#) 누락 IGNORE 위반 위반하지 않음

0 - X - X

0

ALARM

ALARM

ALARM

ALARM

0 0 X 0 X

0

ALARM

ALARM

ALARM

ALARM

0 - X - -

1

OK

OK

ALARM

OK

- - - - 0

2

OK

OK

ALARM

OK

- - - - X

2

ALARM

현재 상태 유지

ALARM

OK

1행과 2행에서는 가장 최근 데이터 포인트 3개 중 2개가 위반되므로 경보가 항상 ALARM 상태로 전환됩니다. 2행에서는 가장 최근 데이터 포인트 3개 중 아무것도 누락되지 않기 때문에 평가 범위에서 가장 오래된 데이터 포인트 2개가 필요하지 않으므로 이 두 개의 오래된 데이터 포인트는 무시됩니다.

행 3 및 4에서는 누락 데이터가 위반으로 처리되는 경우에만 경보가 ALARM 상태로 전환되며, 이러한 경우 가장 최근의 누락 데이터 포인트 2개가 모두 위반으로 처리됩니다. 행 4에서 위반으로 처리되는 이러한 두 개의 누락 데이터 포인트는 ALARM 상태를 트리거하는 데 필요한 두 개의 위반 데이터 포인트를 제공합니다.

행 5는 기본 경보 상태라고 하는 경보 평가의 특별한 사례를 나타냅니다. 자세한 정보는 다음 단원을 참조하십시오.

불필요한 경보 상태 전환 방지

경보 평가에는 데이터가 간헐적일 때 경보가 조기에 ALARM 상태로 전환되는 거짓 경보를 방지하는 로직이 포함됩니다.CloudWatch 이전 단원의 표에서 5행에 표시된 예제는 이 로직을 보여줍니다. 이러한 행과 다음 예에서 Evaluation Periods(평가 기간)는 3이고 평가 범위는 5개의 데이터 포인트입니다. Datapoints to Alarm(경보에 대한 데이터 포인트)은 N 중 M 예제를 제외하고 3입니다. 여기서 Datapoints to Alarm(경보에 대한 데이터 포인트)은 2입니다.

경보의 최신 데이터가 누락 데이터 포인트 4개, 위반 데이터 포인트 1개가 있는 - - - - X인 경우 다음 데이터 포인트가 위반하지 않을 수 있으므로 데이터가 - - - - X 또는 - - - X -이고 Datapoints to Alarm(경보에 대한 데이터 포인트)이 3일 때는 경보가 즉시 ALARM 상태로 전환되지 않습니다. 이렇게 하면 다음 데이터 포인트가 위반하지 않고 데이터를 - - - X O 또는 - - X - O로 만들 때 오탐지를 피할 수 있습니다.

그러나 마지막 데이터 포인트 몇 개가 - - X - -인 경우 누락 데이터 포인트가 누락된 것으로 처리되더라도 경보가 ALARM 상태로 전환됩니다. 이는 평가 기간 동안 사용 가능한 가장 오래된 데이터 포인트 수가 적어도 Datapoints to Alarm(경보에 대한 데이터 포인트)의 값만큼 오래되고 다른 모든 최신 데이터 포인트가 위반되거나 누락되는 경우 경보가 항상 ALARM 상태가 되도록 하기 때문입니다. 이 경우 사용 가능한 총 데이터 포인트 수가 M(Datapoints to Alarm(경보에 대한 데이터 포인트))보다 낮더라도 경보가 ALARM 상태로 전환됩니다.

이 경보 로직은 N개 중 M개 경보에도 적용됩니다. Evaluation Periods(평가 기간) 동안 가장 오래된 위반 데이터 포인트 수가 Evaluation Periods(평가 기간)의 값보다 오래되고, 모든 최신 데이터 포인트가 위반 또는 누락된 경우 경보는 M(Datapoints to Alarm(경보에 대한 데이터 포인트))의 값에 관계없이 ALARM 상태로 전환됩니다.

고분해능 경보

고분해능 지표에 대해 경보를 설정할 경우 고분해능 경보를 10초 또는 30초 기간으로 지정하거나 60초의 배수 기간으로 정기 경보를 설정할 수 있습니다. 고분해능 경보는 요금이 더 비쌉니다. 고분해능 지표에 대한 자세한 내용은 사용자 지정 메트릭 게시 단원을 참조하십시오.

수학 표현식에 대한 경보

하나 이상의 CloudWatch 지표를 기반으로 하는 수학 표현식의 결과에 대한 알림을 설정할 수 있습니다. 경보에 사용되는 수학 표현식에는 지표를 10개까지 포함할 수 있습니다. 각 지표의 기간은 동일해야 합니다.

수학 표현식을 기반으로 하는 경보의 경우 경보를 평가할 때 CloudWatch에서 기본 지표에 대해 누락된 데이터 포인트를 처리하는 방법을 지정할 수 있습니다.

수학 표현식을 기반으로 하는 경보는 Amazon EC2 작업을 수행할 수 없습니다.

지표 수학 표현식 및 구문에 대한 자세한 내용은 지표 수식 사용 단원을 참조하십시오.

백분위수 기반 CloudWatch 경보 및 데이터 샘플 부족

경보를 위한 통계로 백분위수를 설정하면 정확한 통계 평가를 위한 데이터가 충분하지 않을 때 어떻게 할 것인지 지정할 수 있습니다. 경보가 통계를 어떻게든 평가하도록 하고 가능하면 경보 상태를 변경하도록 선택할 수 있습니다. 또는 샘플 크기가 작을 때 경보가 지표를 무시하고 통계적으로 의미가 있을 정도로 충분한 데이터가 모일 때까지 기다렸다가 평가할 수 있습니다.

0.5(포함) ~ 1.00(제외) 범위 백분위수의 경우, 평가 기간 동안 10/(1-백분위수) 보다 적은 데이터 포인트가 있을 때 이 설정이 사용됩니다. 예를 들어 p99 백분위수에서 경보 샘플이 1,000개보다 적을 경우 이 설정이 사용됩니다. 0 ~ 0.5(제외) 범위 백분위수의 경우, 10/백분위수 보다 적은 백분위수가 있을 때 이 설정이 사용됩니다.

CloudWatch 경보의 일반적인 기능

아래 기능은 모든 CloudWatch 경보에 적용됩니다.

  • AWS 계정마다 리전당 최대 5,000개까지 경보를 만들 수 있습니다. 경보를 생성하거나 업데이트하려면 CloudWatch 콘솔, PutMetricAlarm API 작업 또는 put-metric-alarmAWS CLI 명령을 사용합니다.

  • 경보 이름은 ASCII 문자만 포함해야 합니다.

  • 콘솔, CloudWatchDescribeAlarms API 작업 또는 describe-alarms 명령을 사용하여 현재 구성된 경보를 나열하고 특정 상태의 경보를 나열할 수 있습니다.AWS CLI

  • 콘솔, CloudWatchDisableAlarmActions 및 API 작업 또는 EnableAlarmActions의 disable-alarm-actionsenable-alarm-actions 명령을 사용하여 경보를 비활성화하고 활성화할 수 있습니다.AWS CLI

  • SetAlarmState API 작업 또는 set-alarm-state 명령을 사용하여 경보를 임의의 상태로 설정하여 테스트할 수 있습니다.AWS CLI 이러한 일시적인 상태 변경은 다음 경보 비교 시까지만 지속됩니다.

  • 사용자 지정 지표를 생성하기 전에 사용자 지정 지표에 대한 경보를 생성할 수 있습니다. 경보가 유효하려면 사용자 지정 지표에 대한 모든 차원을 비롯해 지표 네임스페이스 및 지표 이름을 경보 정의에 포함시켜야 합니다. 이렇게 하려면 PutMetricAlarm API 작업 또는 put-metric-alarm 명령을 사용하면 됩니다.AWS CLI

  • 콘솔, CloudWatchDescribeAlarmHistory API 작업 또는 describe-alarm-history 명령을 사용하여 경보의 기록을 볼 수 있습니다. AWS CLI은 경보 기록을 2주 동안 보존합니다.CloudWatch 각 상태 전환은 고유한 타임스탬프로 표시됩니다. 드문 경우지만 기록에 상태 변경에 대한 알림이 두 개 이상 있을 수 있습니다. 이 경우 타임스탬프를 사용하여 고유한 상태 변경을 확인할 수 있습니다.

  • 경보에 대한 평가 기간의 수에 각 평가 기간의 길이를 곱한 값이 1일을 초과할 수 없습니다.

참고

일부 AWS 리소스에서는 특정한 상황에서 지표 데이터를 CloudWatch에 전송하지 않습니다.

예를 들어 Amazon EC2 인스턴스에 연결되지 않은 사용 가능한 볼륨에 대해 모니터링할 지표 활동이 없으므로 Amazon EBS에서는 이러한 볼륨에 대한 지표 데이터를 전송할 수 없습니다. 이러한 지표에 대한 경보 세트가 있으면 상태가 INSUFFICIENT_DATA로 변경됩니다. 이는 리소스가 비활성 상태임을 나타내지만 그렇다고 반드시 문제가 있음을 의미하지는 않습니다. 각 경보가 누락된 데이터를 처리하는 방법을 지정할 수 있습니다. 자세한 내용은 CloudWatch 경보가 누락 데이터를 처리하는 방법 구성 항목을 참조하십시오.