CloudWatch 경보가 누락 데이터를 처리하는 방법 구성
때로 지표에 대해 예상되는 데이터 요소의 일부가 CloudWatch에 보고되지 않는 경우도 있습니다. 연결이 끊기거나 서버가 정지할 때, 설계에 따라 지표 보고 데이터가 간헐적으로만 전송될 때 이런 일이 일어날 수 있습니다.
CloudWatch를 사용하면 경보를 평가할 때 누락된 데이터 요소를 처리하는 방법을 지정할 수 있습니다. 이렇게 하면 모니터링 중인 데이터 유형에 적합한 경우에만 ALARM 상태가 되도록 경보를 구성할 수 있습니다. 누락된 데이터에 문제가 없는 경우의 거짓 긍정을 피할 수 있습니다.
각 경보가 항상 세 가지 상태 중 하나인 것과 마찬가지로 CloudWatch에 보고된 각각의 특정 데이터 요소는 다음과 같은 세 범주 중 하나에 속합니다.
-
위반하지 않음(임곗값에서)
-
위반(임곗값 위반)
-
누락됨
각 경보에 대해 CloudWatch가 누락된 데이터 요소를 다음 중 하나로 처리하도록 지정할 수 있습니다.
-
notBreaching– 누락 데이터 요소를 ‘양호’하고 임곗값 내에 있는 것으로 처리합니다. -
breaching- 누락 데이터 요소를 ‘불량’하고 임곗값을 위반한 것으로 처리합니다 -
ignore- 현재 경보 상태를 유지합니다. -
missing- 경보 평가 범위의 모든 데이터 요소가 누락된 경우 경보를 INSUFFICIENT_DATA 상태로 전환합니다.
가장 좋은 선택은 지표 유형과 경보 용도에 따라 다릅니다. 예를 들어 데이터를 지속적으로 보고하는 지표를 사용하여 애플리케이션 롤백 경보를 생성하는 경우 누락된 데이터 포인트는 문제를 나타낼 수 있으므로 위반으로 처리하는 것이 좋습니다. 그러나 Amazon DynamoDB의 ThrottledRequests와 같이 오류가 발생할 때만 데이터 요소를 생성하는 지표의 경우 누락 데이터를 notBreaching으로 처리할 수 있습니다. 기본값은 missing입니다.
중요
Amazon EC2 지표에 구성된 경보는 누락된 지표 데이터 포인트가 있는 경우 일시적으로 INSUFICITENT_DATA 상태로 전환될 수 있습니다. 드물기는 하지만, Amazon EC2 인스턴스가 정상인 경우에도 지표 보고가 중단되면 이 문제가 발생할 수 있습니다. 중지, 종료, 재부팅 또는 복구 작업을 수행하도록 구성된 Amazon EC2 지표에 대한 경보의 경우 누락된 데이터를 missing으로 처리하고 경보 상태일 때만 해당 경보를 트리거하도록 경보를 구성하는 것이 좋습니다.
경보에 대한 최상의 옵션을 선택하면 불필요하고 오해의 소지가 있는 경보 조건 변경을 막을 수 있으며, 시스템 상태를 보다 정확하게 나타낼 수 있습니다.
중요
AWS/DynamoDB 네임스페이스의 지표를 평가하는 경보는 기본적으로 누락 데이터를 무시합니다. 경보가 누락 데이터를 처리하는 방법에 대해 다른 옵션을 선택하는 경우 이 옵션을 재정의할 수 있습니다. AWS/DynamoDB 메트릭에 누락된 데이터가 있는 경우 해당 지표를 평가하는 경보는 현재 상태를 유지합니다.
데이터가 누락되었을 때 경보 상태 평가 방법
경보가 상태 변경 여부를 평가할 때마다 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는 경보의 평가 범위입니다.
평가 범위가 5이므로 1열에는 가장 최근 데이터 요소 5개가 표시됩니다. 이러한 데이터 요소는 가장 최근 데이터 요소가 오른쪽에 표시됩니다. 0는 비위반 데이터 요소, X는 위반 데이터 요소, -는 누락 데이터 요소입니다.
2열은 필요한 데이터 요소 3개 중 누락된 개수를 표시합니다. 가장 최신 데이터 요소 5개가 평가되었더라도 경보 상태 평가를 위해 3개(Evaluation Periods(평가 기간)에 대한 설정)만 필요합니다. 2열의 데이터 요소 개수는 누락된 데이터 요소 처리 방법에 대한 설정을 사용하여 반드시 "채워야" 하는 데이터 요소의 수입니다.
3~6열의 열 머리글은 누락 데이터를 처리하는 방법으로 가능한 값입니다. 이러한 열의 행에는 누락 데이터를 처리할 수 있는 이러한 각 방법에 대해 설정된 경보 상태가 표시됩니다.
| 데이터 포인트 | 채워야 하는 데이터 요소 수 | MISSING | IGNORE | 위반 | 위반하지 않음 |
|---|---|---|---|---|---|
|
0 - X - X |
0 |
|
|
|
|
|
- - - - 0 |
2 |
|
|
|
|
|
- - - - - |
3 |
|
현재 상태 유지 |
|
|
|
0 X X - X |
0 |
|
|
|
|
|
- - X - - |
2 |
|
현재 상태 유지 |
|
|
앞 테이블의 2행에서는 누락 데이터를 위반으로 처리하는 경우에도 경보 상태는 OK로 유지됩니다. 기존 데이터 포인트 중 하나가 위반 상태가 아니며, 위반으로 처리되는 2개의 누락 데이터 포인트와 함께 이를 평가하기 때문입니다. 다음번에 이 경보를 평가할 때도 데이터가 여전히 누락된 경우 해당 비위반 데이터 요소가 더 이상 평가 범위에 있지 않기 때문에 경보는 ALARM 상태가 됩니다.
가장 최근의 데이터 요소 5개가 모두 누락된 세 번째 행은 누락 데이터 처리 방법에 대한 다양한 설정이 경보 상태에 어떻게 영향을 주는지를 보여 줍니다. 누락된 데이터 요소를 위반으로 간주하는 경우 경보는 ALARM 상태가 되지만, 비위반으로 간주하는 경우 경보는 OK 상태가 됩니다. 누락된 데이터 요소를 무시하면 경보는 누락 데이터 요소 이전의 현재 상태를 유지합니다. 그리고 누락된 데이터 요소를 단지 누락으로 간주한다면 경보에 평가를 수행하기에 충분한 최근 실제 데이터가 없으며 경보는 INSUFFICIENT_DATA 상태가 됩니다.
네 번째 행에서는 가장 최근의 데이터 요소 세 개가 위반이며 경보의 [평가 기간(Evaluation Periods)]과 [경보에 대한 데이터 요소(Datapoints to Alarm)]가 둘 다 3으로 설정되어 있으므로 경보가 모든 경우에 ALARM 상태가 됩니다. 이 경우 누락된 데이터 요소는 무시되며 누락 데이터 평가 방법에 대한 설정은 필요하지 않습니다. 평가할 실제 데이터 요소가 3개 있기 때문입니다.
5행은 ‘조기 경보 상태’라고 하는 특별한 경우의 경보 평가를 나타냅니다. 자세한 내용은 경보 상태 조기 전환 방지 단원을 참조하세요.
다음 테이블의 경우 기간은 다시 5분이며, Datapoints to Alarm(경보에 대한 데이터 포인트)는 2, Evaluation Periods(평가 기간)는 3입니다. 'N 중 M' 경보는 '3 중 2'입니다.
평가 범위는 5입니다. 이것은 검색되는 최근 데이터 포인트의 최대 수이며 일부 데이터 포인트가 누락된 경우 사용할 수 있습니다.
| 데이터 포인트 | 누락 데이터 포인트 가운데 수(#) | 누락 | IGNORE | 위반 | 위반하지 않음 |
|---|---|---|---|---|---|
|
0 - X - X |
0 |
|
|
|
|
|
0 0 X 0 X |
0 |
|
|
|
|
|
0 - X - - |
1 |
|
|
|
|
|
- - - - 0 |
2 |
|
|
|
|
|
- - - - X |
2 |
|
현재 상태 유지 |
|
|
1행과 2행에서는 가장 최근의 데이터 요소 3개 중 2개가 위반이므로 경보는 항상 ALARM 상태가 됩니다. 2행에서는 가장 최근 데이터 요소 3개가 누락되지 않았기 때문에 평가 범위에서 가장 오래된 두 데이터 요소가 필요하지 않으므로 오래된 이 두 데이터 요소는 무시됩니다.
3행과 4행에서는 누락된 데이터를 위반으로 처리하는 경우에만 경보가 ALARM 상태가 됩니다(여기서는 가장 최근의 누락 데이터 요소 두 개가 모두 위반으로 처리됨). 4행에서 위반으로 처리되는 이 두 누락 데이터 요소는 ALARM 상태를 트리거하는 데 필요한 위반 데이터 요소 두 개를 제공합니다.
5행은 ‘조기 경보 상태’라고 하는 특별한 경우의 경보 평가를 나타냅니다. 자세한 내용은 다음 섹션을 참조하세요.
경보 상태 조기 전환 방지
CloudWatch 경보 평가에는 데이터가 간헐적일 때 조기에 경보가 ALARM 상태가 되는 거짓 경보를 방지하기 위한 로직이 포함됩니다. 이전 단원에 있는 표의 5행에 표시된 예가 이 로직을 보여 줍니다. 해당 행과 다음 예에서 [평가 기간(Evaluation Periods)]은 3이고 평가 범위는 데이터 요소 5개입니다. [경보에 대한 데이터 요소(Datapoints to Alarm)]는 3입니다. 단, [경보에 대한 데이터 요소(Datapoints to Alarm)]가 2인 ‘M out of N(N 중 M)’ 예는 예외입니다.
경보의 가장 최근 데이터가 - - - - X이며 누락 데이터 요소 4개가 있고 가장 최근 데이터 요소로 위반 데이터 요소가 있다고 가정합니다. 다음 데이터 요소는 비위반일 수 있으므로 데이터가 - - - - X 또는 - - - X -이고 [경보에 대한 데이터 요소(Datapoints to Alarm)]가 3일 경우 경보는 즉시 ALARM 상태가 되지 않습니다. 이렇게 하면 다음 데이터 요소가 비위반이고 데이터가 - - - X O 또는 - - X - O가 되도록 하는 경우 거짓 긍정이 방지됩니다.
그러나 마지막 몇 개의 데이터 요소가 - - X - -인 경우 누락된 데이터 요소를 누락으로 처리하더라도 경보는 ALARM 상태가 됩니다. 이는 [평가 기간(Evaluation Periods)] 동안 사용 가능한 가장 오래된 위반 데이터 요소 수가 최소한 [경보에 대한 데이터 요소(Datapoints to Alarm)]의 값만큼 오래되고 더 최근의 다른 모든 데이터 요소가 위반 또는 누락인 경우 경보가 항상 ALARM 상태가 되도록 설계되었기 때문입니다. 이 경우 사용 가능한 데이터 요소의 총수가 M([경보에 대한 데이터 요소(Datapoints to Alarm)])보다 적더라도 경보는 ALARM 상태가 됩니다.
이 경보 로직은 ‘M out of N(N 중 M)’ 경보에도 적용됩니다. 평가 범위 동안 가장 오래된 위반 데이터 요소가 최소한 [경보에 대한 데이터 요소(Datapoints to Alarm)]의 값만큼 오래되고 더 최근의 모든 데이터 요소가 위반 또는 누락인 경우 경보는 M([경보에 대한 데이터 요소(Datapoints to Alarm)]) 값에 상관없이 ALARM 상태가 됩니다.
CloudWatch Metrics Insights 경보에서 누락 데이터
단일 시계열로 집계되는 Metrics Insights 쿼리를 기반으로 하는 경보
누락 데이터 시나리오와 경보 평가에 미치는 영향은 구성된 누락 데이터 처리 측면에서 표준 지표 경보와 동일합니다. CloudWatch 경보가 누락 데이터를 처리하는 방법 구성 섹션을 참조하세요.
여러 시계열을 생성하는 Metrics Insights 쿼리를 기반으로 하는 경보
Metrics Insights 경보에 대한 누락 데이터 시나리오는 다음과 같은 경우에 나타납니다.
-
시계열 내 개별 데이터 포인트는 존재하지 않습니다.
-
여러 시계열을 평가할 때 하나 이상의 시계열이 사라집니다.
-
쿼리에서 시계열이 검색되지 않습니다.
누락 데이터 시나리오는 다음과 같은 방식으로 경보 평가에 영향을 미칩니다.
-
시계열 평가를 위해 누락 데이터 처리 처리가 시계열 내 개별 데이터 포인트에 적용됩니다. 예를 들어 시계열에 대해 3개의 데이터 포인트를 쿼리했지만 1개만 수신된 경우 2개의 데이터 포인트는 구성된 누락 데이터 구성을 따릅니다.
-
쿼리에서 시계열을 더 이상 검색하지 않으면 누락 데이터 처리에 상관없이
OK로 전환됩니다. 기고자 수준에서OK전환과 관련된 경보 작업이 실행되고StateReason은 '이 기고자에 대한 데이터가 반환되지 않음" 메시지와 함께 앞서 언급한 기고자를 찾을 수 없음을 지정합니다. 경보의 상태는 쿼리에서 검색한 다른 기고자의 상태에 따라 달라집니다. -
경보 수준에서 쿼리가 빈 결과(시계열 없음)를 반환하면 경보는 설정된 누락 데이터 처리에 관계없이
INSUFFICIENT_DATA로 전환됩니다.