지표에 위반 데이터 포인트가 없는데 CloudWatch 경보가 트리거된 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 3월 23일

Amazon CloudWatch 경보가 ALARM 상태로 변경되었습니다. 경보 지표를 확인하면 위반 데이터 포인트를 발견할 수 없습니다. 그러나 경보의 이벤트 기록에는 위반 데이터 포인트가 표시됩니다. 지표에 위반 데이터 포인트가 없는데 CloudWatch 경보가 트리거된 이유는 무엇입니까?

간략한 설명

CloudWatch 경보는 특정 시점에 사용 가능한 데이터 포인트를 기준으로 지표를 평가합니다. 새 값이 계속해서 CloudWatch 지표로 유입되므로 각 후속 경보 평가는 서로 다른 집계된 데이터 포인트를 사용할 수 있습니다. 경보를 트리거한 위반 데이터 포인트가 표시되지 않는 것은 해당 데이터가 아직 지표로 유입되지 않았기 때문일 수 있습니다. 나중에 이벤트 기록을 검토하면 지표로 데이터가 모두 유입되어 완전한 데이터 포인트 세트를 볼 수 있습니다.

해결 방법

위반 데이터 포인트 찾기

CloudWatch 경보 지표의 그래프에서 위반 데이터 포인트를 찾으려면 [통계(Statistic)]를 [최대값/최소값(Maximum/Minimum)]으로 변경합니다.

예제 경보 구성:

  • 표준 해상도 경보(1분마다 지표 평가)
  • [지표(Metric)] = [CPUUtilization]
  • [임계값(Threshold)] = [65%]
  • [통계(Statistic)] = [평균(Average)]
  • [기간(Period)] = [60초]
  • [평가 기간(Evaluation Period)] = [1]
  • Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 대한 [세부 모니터링(Detailed Monitoring)] = [활성화됨(enabled)]

예제 경보 평가 기간(12:00:00 – 12:01:00 UTC)이 시작되면 다음 값이 지표에 수신됩니다.

Sample-1: 12:00:07 UTC, numeric value: 89.76470588235294
Sample-2: 12:00:11 UTC, numeric value: 27.926666666666664
Sample-3: 12:00:19 UTC, numeric value: 54.57142857142857
Sample-4: 12:00:35 UTC, numeric value: 95.473333333333336

이러한 값의 평균은 66.934로서, 임계값인 65%를 위반합니다. 이 위반으로 인해 ALARM 상태의 변경이 트리거됩니다. 경보의 이벤트 기록에는 집계된 값 중 임계값을 초과하는 값이 상태 변경의 이유로 나열됩니다.

경보를 나중에 다시 평가하면 추가 값이 12:00:00 – 12:01:00 UTC 분 기간에 유입된 것을 볼 수 있습니다. 예를 들어 다음과 같습니다.

Sample-1: 12:00:07 UTC, numeric value: 89.76470588235294
Sample-2: 12:00:11 UTC, numeric value: 27.926666666666664
Sample-3: 12:00:19 UTC, numeric value: 54.57142857142857
Sample-4: 12:00:35 UTC, numeric value: 95.473333333333336
Sample-5: 12:00:37 UTC, numeric value: 15.18181818181819
Sample-6: 12:00:41 UTC, numeric value: 10.26490

새 값을 포함한 평균은 48.864로, 임계값인 65%를 위반하지 않습니다. 이제 경보가 OK 상태로 변경됩니다. 경보의 이벤트 기록에는 임계값 미만의 집계된 값이 상태 변경의 이유로 나열됩니다.

경보가 트리거되어도 지금은 CloudWatch 지표의 그래프에 위반 데이터 포인트가 보이지 않을 수 있습니다. [CPUUtilization] 지표의 그래프를 보면 [평균(Average)]이 66.934가 아니라 48.864로 나열되어 있습니다. 평가에 필요한 모든 관련 샘플이 이제 지표로 유입됩니다.

CloudWatch 지표 그래프의 [통계(Statistic)]를 [최대값(Maximum)]으로 변경하면 12:00:00 UTC에 위반 데이터 포인트 95.473이 표시된 것을 볼 수 있습니다.

참고: 데이터가 임계값 아래로 떨어질 때 경보가 트리거되도록 구성한 경우 CloudWatch 지표 그래프의 [통계(Statistic)]를 [최소값(Minimum)]으로 변경하세요.

“N 중 M” 경보 구성

경보가 ALARM 상태로 변경되는 것을 방지하려면 [평가 기간(Evaluation Period)] 및 [경보 대상 데이터 포인트(Datapoints to Alarm)]가 서로 다른 값을 가지는 "N 중 M" 경보를 구성하면 는 데 도움이 됩니다. 이 구성을 사용하면 경보에서 집계된 데이터 포인트를 더 많이 평가하며 주어진 데이터 포인트 세트(N)에서 적어도 특정 수의 데이터 포인트(M)가 위반했을 경우에만 경보 상태가 변경됩니다. 자세한 내용은 정적 임계값을 기반으로 CloudWatch 경보 생성CloudWatch 경보가 누락 데이터를 처리하는 방법 구성을 참조하세요.

예제 경보 구성:

  • 표준 해상도 경보(1분마다 지표 평가)
  • [지표(Metric)] = [CPUUtilization]
  • [임계값(Threshold)] = [65%]
  • [통계(Statistic)] = [평균(Average)]
  • [기간(Period)] = [120초]
  • [평가 기간(Evaluation Period)] = [3 중 2(2 out of 3)]
  • 모니터링되는 Amazon EC2 인스턴스에 대한 [세부 모니터링(Detailed Monitoring)] = [활성화됨(enabled)]

이 예제 경보 구성은 이전 예와 비슷합니다. 그러나 평가 기간은 경보를 트리거하기 전에 사용 가능한 데이터 포인트 3개 중 2개를 확인합니다. 평가 기간이 증가했기 때문에 기간도 감소되었습니다.

경보 기간이 12:00:00 UTC에 시작되면 지표에 다음 값이 수신됩니다.

Sample-1: 12:00:07 UTC, numeric value: 89.76470588235294
Sample-2: 12:00:11 UTC, numeric value: 27.926666666666664
Sample-3: 12:00:19 UTC, numeric value: 54.57142857142857
Sample-4: 12:00:35 UTC, numeric value: 95.473333333333336

CloudWatch는 증가된 평가 기간 때문에 12:00:00 UTC보다 오래된 데이터 포인트를 찾습니다.

11:58:00 UTC, Average=41.874304539920
11:59:00 UTC, Average=5.230773650991253
12:00:00 UTC, Average=66.93403361344538

12:00:00 UTC에 집계된 데이터 포인트는 임계값을 위반합니다. 그러나 경보는 OK 상태로 유지되고 ALARM 상태로 변경하지 않습니다. 이러한 동작이 발생하는 이유는 데이터 포인트 3개 중 2개가 임계값을 위반해야 경보가 트리거되는데 3개 중 1개만 위반했기 때문입니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?