CloudWatch 지표에 수학 표현식 사용 - Amazon CloudWatch

CloudWatch 지표에 수학 표현식 사용

지표 수학을 사용하면 여러 CloudWatch 지표를 쿼리하고 수학 표현식을 활용함으로써 이러한 지표를 기반으로 새로운 시계열을 만들 수 있습니다. CloudWatch 콘솔에서 결과 시계열을 시각화하고 대시보드에 추가할 수 있습니다. 예를 들어 AWS Lambda 지표를 사용하여 Errors 지표를 Invocations 지표로 나누어 오류 발생률을 얻을 수 있습니다. 그런 다음, 결과 시계열을 CloudWatch 대시보드의 그래프에 추가합니다.

GetMetricData API 작업을 사용하여 지표 계산을 프로그래밍방식으로 실행할 수도 있습니다. 자세한 내용은 GetMetricData 단원을 참조하세요.

CloudWatch 그래프에 수학 표현식 추가

CloudWatch 대시보드의 그래프에 수학 표현식을 추가할 수 있습니다. 각 그래프의 지표와 표현식은 최대 500개까지 사용할 수 있도록 제한되므로 그래프의 지표가 499개 이하일 경우에만 수학 표현식을 추가할 수 있습니다. 이것은 그래프에 모든 지표가 표시되지 않는 경우에도 적용됩니다.

그래프에 수학 표현식을 추가하려면
  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 그래프를 생성하거나 편집합니다. 그래프에 지표가 하나 이상 있어야 합니다.

  3. 그래프로 표시된 지표(Graphed metrics)를 선택합니다.

  4. 수학 표현식, 빈 표현식으로 시작을 선택합니다. 표현식의 새 줄이 나타납니다.

  5. 새 행의 세부 정보 열에 수학 표현식을 입력합니다. 지표 수식 구문 및 함수 섹션의 테이블에는 표현식에 사용할 수 있는 함수가 나열됩니다.

    이 표현식을 위한 공식의 일부로 지표 또는 다른 표현식 결과를 사용하려면 Id 열에 표시된 값을 사용합니다(예: m1+m2 또는 e1-MIN(e1)).

    Id 값은 변경할 수 없습니다. 숫자, 문자, 밑줄이 포함될 수 있으며, 소문자로 시작해야 합니다. Id의 값을 좀 더 의미 있는 이름으로 변경하면 그래프를 더 쉽게 이해할 수 있습니다(예: m1m2에서 errorsrequests로 변경하는 경우).

    작은 정보

    수식 표현식 옆의 아래쪽 화살표를 선택하여 표현식을 만들 때 사용할 수 있는 지원되는 함수 목록을 확인합니다.

  6. 표현식의 레이블 열에는 표현식으로 계산되는 사항을 설명하는 이름을 입력합니다.

    표현식의 결과가 시계열 배열인 경우, 그 각각의 시계열이 그래프에 각각의 행과 서로 다른 색상으로 표시됩니다. 그래프 바로 아래에 그래프 내 각 행의 범례가 표시됩니다. 하나의 표현식이 여러 개의 시계열을 생성하는 경우, 해당 시계열의 범례 캡션은 Expression-Label Metric-Label(표현식-레이블 지표-레이블) 형식으로 표시됩니다. 예를 들어 그래프에 [오류(Errors)] 레이블이 있는 지표와 [0으로 채워짐:(Filled With 0:)] 레이블이 있는 [FILL(METRICS(), 0)] 표현식이 포함되어 있는 경우 범례의 한 줄은 [0으로 채워짐: 오류(Filled With 0: Errors)]가 됩니다. 범례에 원래의 지표 레이블만 표시하려면 Expression-Label(표현식-레이블)을 비워둡니다.

    한 표현식이 그래프에 시계열 배열을 생성하면 해당 시계열 각각에 사용된 색상을 변경할 수 없습니다.

  7. 원하는 표현식을 추가한 후에는 원래 지표 일부를 숨겨 그래프를 간소화할 수 있습니다. 지표 또는 표현식을 숨기려면 Id 필드 좌측의 확인란 선택을 지웁니다.

지표 수학 구문 및 함수

아래 단원에서는 지표 수식에서 사용되는 함수를 설명합니다. 모든 함수는 대문자로 작성해야 하며(예: AVG), 모든 지표와 수학 표현식의 Id 필드는 소문자로 시작해야 합니다.

수학 표현식의 최종 결과는 단일 시계열이거나 시계열 배열이어야 합니다. 일부 함수는 스칼라 수를 생성합니다. 최종적으로 하나의 시계열을 생성하는 더 큰 함수 안에서 이러한 함수를 사용할 수 있습니다. 예를 들어, 단일 시계열에서 AVG를 빼면 스칼라 수가 생성되므로 최종 표현식 결과가 될 수 없습니다. 그러나 m1-AVG(m1) 함수에서 이를 사용하면 각 개별 데이터 요소와 시계열의 평균값 간 차이에 대한 시계열을 표시할 수 있습니다.

데이터 유형 약어

일부 함수는 특정 형식의 데이터에만 유효합니다. 다음 목록에 나와 있는 약어는 각 함수에 지원되는 데이터 형식을 나타내는 함수 표에서 사용됩니다.

  • S는 2, -5 또는 50.25와 같은 스칼라 수를 나타냅니다.

  • TS는 지난 3일 동안 i-1234567890abcdef0 인스턴스의 CPUUtilization 지표와 같은 시계열(시간 경과에 따른 일련의 단일 CloudWatch 지표 값)입니다.

  • TS[]는 시계열 배열입니다(예: 여러 지표에 대한 시계열).

  • String[]은 문자열 배열입니다.

METRICS() 함수

METRICS() 함수는 요청에 모든 지표를 반환합니다. 수학 표현식은 포함되지 않습니다.

단일 시계열이나 시계열 배열을 생성하는 더 큰 표현식 안에 METRICS() 를 사용할 수 있습니다. 예를 들어, 표현식 SUM(METRICS())은 모든 그래프 지표 값의 합인 시계열(TS)을 반환합니다. METRICS()/100 은 시계열 배열을 반환하며 그 각각은 지표 중 하나의 각 데이터 요소를 100으로 나눈 값을 표시하는 시계열입니다.

METRICS() 함수를 문자열과 함께 사용하여 그 Id 필드에 해당 문자열이 있는 그래프 지표만 반환할 수 있습니다. 예를 들어, 표현식 SUM(METRICS("errors"))은 그 Id 필드에 '오류'가 있는 모든 그래프 지표 값의 합인 시계열을 반환합니다. SUM([METRICS(“4xx”), METRICS(“5xx”)])을 사용하여 여러 문자열을 일치시킬 수도 있습니다.

기본 산술 함수

다음 표에는 지원되는 기본 산술 함수가 나와 있습니다. 시계열의 누락 값은 0으로 처리됩니다. 데이터 요소의 값 때문에 함수에서 0으로 나누려고 시도할 경우 해당 데이터 요소가 누락됩니다.

Operation 인수 예시

산술 연산자: + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG(METRICS())

METRICS()*100

빼기 기호 -

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

비교 및 논리 연산자

비교 및 논리 연산자를 시계열 쌍이나 단일 스칼라 값 쌍과 함께 사용할 수 있습니다. 비교 연산자를 시계열 쌍과 함께 사용하면 연산자는 각 데이터 요소가 0(false) 또는 1(true)인 시계열을 반환합니다. 스칼라 값 쌍에 비교 연산자를 사용하면 0 또는 1 중 하나의 스칼라 값이 반환됩니다.

비교 연산자가 두 시계열 사이에 사용되고 시계열 중 하나에만 특정 타임스탬프에 대한 값이 있는 경우, 이 함수는 다른 시계열의 누락 값을 0으로 처리합니다.

논리 연산자를 비교 연산자와 함께 사용하여 보다 복잡한 함수를 만들 수 있습니다.

다음 표에는 지원되는 연산자가 나와 있습니다.

연산자 유형 지원되는 연산자

비교 연산자

==

!=

<=

>=

<

>

논리 연산자

AND 및 &&

OR 또는 ||

이러한 연산자가 어떻게 사용되는지 알아보기 위해 2개의 시계열이 있다고 가정해 보겠습니다. metric1의 값은 [30, 20, 0, 0]이고 metric2의 값은 [20, -, 20, -]입니다. 여기서 - 기호는 해당 타임스탬프에 대한 값이 없음을 나타냅니다.

표현식 출력

(metric1 < metric2)

0, 0, 1, 0

(metric1 >= 30)

1, 0, 0, 0

(metric1 > 15 AND metric2 > 15)

1, 0, 0, 0

지표 수학에 지원되는 함수

다음 표에서는 수학 표현식에서 사용할 수 있는 함수를 설명합니다. 모든 함수를 대문자로 입력합니다.

수학 표현식의 최종 결과는 단일 시계열이거나 시계열 배열이어야 합니다. 아래 단원에 나오는 표의 일부 함수는 스칼라 수를 생성합니다. 최종적으로 하나의 시계열을 생성하는 더 큰 함수 안에서 이러한 함수를 사용할 수 있습니다. 예를 들어, 단일 시계열에서 AVG를 빼면 스칼라 수가 생성되므로 최종 표현식 결과가 될 수 없습니다. 그렇지만 이것을 함수 m1-AVG(m1)에서 사용하여 각 개별 데이터 요소와 해당 데이터 요소의 평균값 차이인 시계열을 표시할 수 있습니다.

아래의 표에서 예제 열의 모든 예제는 단일 시계열이나 시계열 배열을 생성하는 표현식입니다. 스칼라 수를 반환하는 함수를 단일 시계열을 생성하는 유효한 표현식의 일부로 사용하는 방법을 보여주는 예제입니다.

함수 인수 반환 유형* 설명 예시 교차 계정에 대해 지원됩니까?

ABS

TS

TS[]

TS

TS[]

각 데이터 요소의 절대값을 반환합니다.

ABS(m1-m2)

MIN(ABS([m1, m2]))

ABS(METRICS())

ANOMALY_DETECTION_BAND

TS

TS, S

TS[]

지정된 지표에 대한 이상 탐지 밴드를 반환합니다. 밴드는 두 시계열로 구성되어 있으며 하나는 지표의 "정상" 기댓값에 대한 상한 치수를 나타내며 다른 하나는 하한 치수를 나타냅니다. 함수는 두 개의 인수가 필요합니다. 첫 번째는 밴드를 생성할 지표의 ID입니다. 두 번째 인수는 밴드에 사용할 표준 편차의 수입니다. 이 인수를 지정하지 않으면, 두 개의 기본값이 사용됩니다. 자세한 내용은 CloudWatch 이상 탐지 사용 단원을 참조하십시오.

ANOMALY_DETECTION_BAND(m1)

ANOMALY_DETECTION_BAND(m1,4)

AVG

TS

TS[]

S

TS

단일 시계열의 AVG는 지표의 모든 데이터 요소 평균을 나타내는 스칼라를 반환합니다. 시계열 배열의 AVG는 단일 시계열을 반환합니다. 누락된 값은 0로 처리됩니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 예: AVG(m2). 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 요소를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

이 기능을 경보, 특히 Auto Scaling 동작이 있는 경보에 사용하려면 경보가 N개의 데이터 포인트 중 M개를 사용하도록 설정하는 것이 좋습니다(여기서 M < N).

SUM([m1,m2])/AVG(m2)

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

각 지표의 상한을 반환합니다. 상한은 각 값보다 크거나 같은 가장 작은 정수입니다.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

DATAPOINT_COUNT

TS

TS[]

S

TS

값을 보고한 데이터 포인트의 수를 반환합니다. 이는 희소 지표의 평균을 계산하는 데 유용합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 요소를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

SUM(m1) / DATAPOINT_COUNT(m1)

DATAPOINT_COUNT(METRICS())

DB_PERF_INSIGHTS

문자열, 문자열, 문자열

문자열, 문자열, 문자열[]

TS(단일 문자열이 주어진 경우)

TS[](문자열 배열이 주어진 경우)

Amazon 관계형 데이터베이스 서비스 및 Amazon DocumentDB(MongoDB 호환)와 같은 데이터베이스에 대한 성능 개선 도우미 카운터 지표를 반환합니다. 이 함수는 Performance Insights API를 직접 쿼리하여 얻을 수 있는 것과 동일한 양의 데이터를 반환합니다. CloudWatch에서 이러한 지표를 사용하여 그래프를 작성하고 경보를 생성할 수 있습니다.

중요

이 함수를 사용할 때는 데이터베이스의 고유 데이터베이스 리소스 ID를 지정해야 합니다. 이는 데이터베이스 식별자와는 다릅니다. Amazon RDS 콘솔에서 데이터베이스 리소스 ID를 찾으려면 DB 인스턴스를 선택하여 세부 정보를 확인합니다. 그런 다음 구성 탭을 선택합니다. 그러면 리소스 ID구성 섹션에 표시됩니다.

또한 DB_PERF_INSIGHTS는 1분 미만의 간격으로 DBLoad 지표를 가져옵니다.

이 함수로 검색된 성능 개선 도우미 지표는 CloudWatch에 저장되지 않습니다. 따라서 계정 간 통합 가시성, 이상 탐색, 지표 스트림, 지표 탐색기, Metric Insights와 같은 일부 CloudWatch 기능은 DB_PERF_INSIGHTS로 검색하는 성능 개선 도우미 지표에서는 작동하지 않습니다.

DB_PERF_INSIGHTS 함수를 사용하는 단일 요청으로 다음과 같은 개수의 데이터 포인트를 검색할 수 있습니다.

  • 고해상도 기간(1초, 10초, 30초) 동안 1080개의 데이터 포인트

  • 표준 해상도 기간(1분, 5분, 1시간, 1일) 동안 1440개의 데이터 포인트

DB_PERF_INSIGHTS 함수는 다음 기간 길이만 지원합니다.

  • 1초

  • 10초

  • 30초

  • 1분

  • 5분

  • 1시간

  • 1일

Amazon RDS Performance Insights 카운터 지표에 대한 자세한 내용은 성능 개선 도우미 카운터 섹션을 참조하세요.

Amazon DocumentDB 성능 개선 도우미 카운터 지표에 대한 자세한 내용은 성능 개선 도우미 카운터 섹션을 참조하세요.

참고

DB_PERF_INSIGHTS가 검색하는 분 단위 이하의 고분해능 지표는 DBLoad 지표 또는 운영 체제 지표(고분해능에서 Enhanced Monitoring을 사용하도록 설정한 경우)에만 적용됩니다. Amazon RDS 확장 모니터링에 대한 자세한 내용은 Enhanced Monitoring을 사용하여 OS 지표 모니터링을 참조하세요.

DB_PERF_INSIGHTS 함수를 사용하여 최대 3시간 범위의 고분해능 경보를 생성할 수 있습니다. CloudWatch 콘솔을 사용하여 DB_PERF_INSIGHTS 함수로 검색된 지표를 원하는 시간 범위에 대해 그래프로 표시할 수 있습니다.

DB_PERF_INSIGHTS(‘RDS’, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, ‘os.cpuUtilization.user.avg’)

DB_PERF_INSIGHTS(‘DOCDB, ‘db-ABCDEFGHIJKLMNOPQRSTUVWXY1’, [‘os.cpuUtilization.idle.avg’, ‘os.cpuUtilization.user.max’])

DIFF

TS

TS[]

TS

TS[]

시계열의 각 값과 해당 시계열의 이전 값 간 차이를 반환합니다.

DIFF(m1)

DIFF_TIME

TS

TS[]

TS

TS[]

시계열에 있는 각 값의 타임스탬프와 해당 시계열에 있는 이전 값의 타임스탬프 간 차이(초)를 반환합니다.

DIFF_TIME(METRICS())

FILL

TS, [S | REPEAT | LINEAR]

TS[], [TS | S | REPEAT | LINEAR]

TS

TS[]

시계열의 누락된 값을 채웁니다. 누락된 값의 필러로 사용할 값과 관련하여 다음과 같은 몇 가지 옵션이 있습니다.

  • 필러 값으로 사용할 값을 지정할 수 있습니다.

  • 필러 값으로 사용할 지표를 지정할 수 있습니다.

  • REPEAT 키워드를 사용하여 누락된 값 이전 지표의 가장 최근 실제 값으로 누락된 값을 채울 수 있습니다.

  • LINEAR 키워드를 사용하여 결측의 시작 값과 끝 값 사이에 선형 보간을 생성하는 값으로 누락된 값을 채울 수 있습니다.

참고

경보에 이 함수를 사용할 때 지표를 약간 지체하여 게시하고 가장 최근 분에 데이터가 없는 경우 문제가 발생할 수 있습니다. 이 경우 FILL은 누락된 데이터 요소를 요청된 값으로 바꿉니다. 그러면 지표의 최신 데이터 요소가 항상 FILL 값이 되어 경보가 OK 상태 또는 ALARM 상태에서 멈추게 될 수 있습니다. ‘M out of N’ 경보를 사용하여 이 문제를 해결할 수 있습니다. 자세한 내용은 경보 평가 단원을 참조하십시오.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(METRICS(), m1)

FILL(m1, MIN(m1))

FILL(m1, REPEAT)

FILL(METRICS(), LINEAR)

FIRST

LAST

TS[]

TS

시계열 배열에서 첫 번째 시계열 또는 마지막 시계열을 반환합니다. SORT 함수와 함께 사용할 때 유용합니다. 또한 ANOMALY_DETECTION_BAND 함수에서 높은 임계값과 낮은 임계값을 가져오는 데도 사용할 수 있습니다.

IF(FIRST(SORT(METRICS(), AVG, DESC))>100, 1, 0) 배열에서 AVG별로 정렬된 상위 지표를 확인합니다. 그런 다음, 해당 데이터 포인트 값이 100 이상인지 여부에 따라 각 데이터 포인트에 대해 1 또는 0을 반환합니다.

LAST(ANOMALY_DETECTION_BAND(m1))은 이상 예측 대역의 상한값을 반환합니다.

FLOOR

TS

TS[]

TS

TS[]

각 지표의 하한을 반환합니다. 하한은 각 값보다 작거나 같은 가장 큰 정수입니다.

FLOOR(m1)

FLOOR(METRICS())

IF

IF 표현식

TS

IF를 비교 연산자와 함께 사용하여 시계열에서 데이터 요소를 필터링하거나 수집된 여러 시계열로 구성된 혼합 시계열을 생성합니다. 자세한 내용은 IF 표현식 사용 단원을 참조하십시오.

예시는 IF 표현식 사용 섹션을 참조하세요.

INSIGHT_RULE_METRIC

INSIGHT_RULE_METRIC(ruleName, metricName)

TS

INSIGHT_RULE_METRIC을 사용하여 Contributor Insights의 규칙에서 통계를 추출합니다. 자세한 내용은 CloudWatch에서 규칙에 따라 생성된 지표 그래프 작성 단원을 참조하십시오.

LAMBDA

LAMBDA(LambdaFunctionName [, optional-arg]*)

TS

TS[]

Lambda 함수를 직접적으로 호출하여 CloudWatch가 아닌 데이터 소스에서 지표를 쿼리합니다. 자세한 내용은 Lambda 함수에 인수를 전달하는 방법 단원을 참조하십시오.

LOG

TS

TS[]

TS

TS[]

시계열의 LOG는 시계열에 있는 각 값의 자연 로그 값을 반환합니다.

LOG(METRICS())

LOG10

TS

TS[]

TS

TS[]

시계열의 LOG10은 시계열에 있는 각 값의 base-10 로그 값을 반환합니다.

LOG10(m1)

MAX

TS

TS[]

S

TS

단일 시계열의 MAX는 지표의 모든 데이터 요소의 최대값을 나타내는 스칼라를 반환합니다.

시계열 배열을 입력하면 MAX 함수는 입력으로 사용된 시계열 중에서 각 데이터 포인트의 가장 큰 값으로 구성된 시계열을 만들어 반환합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 예를 들어 MAX(m2)의 경우 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 포인트를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

시계열 어레이의 지표 수를 반환합니다.

m1/METRIC_COUNT(METRICS())

지표

null

문자열

TS[]

METRICS() 함수는 요청의 모든 CloudWatch 지표를 반환합니다. 수학 표현식은 포함되지 않습니다.

단일 시계열이나 시계열 배열을 생성하는 더 큰 표현식 안에 METRICS() 를 사용할 수 있습니다.

METRICS() 함수를 문자열과 함께 사용하여 그 Id 필드에 해당 문자열이 있는 그래프 지표만 반환할 수 있습니다. 예를 들어, 표현식 SUM(METRICS("errors"))은 그 Id 필드에 '오류'가 있는 모든 그래프 지표 값의 합인 시계열을 반환합니다. SUM([METRICS(“4xx”), METRICS(“5xx”)])을 사용하여 여러 문자열을 일치시킬 수도 있습니다.

AVG(METRICS())

SUM(METRICS("errors"))

MIN

TS

TS[]

S

TS

단일 시계열의 MIN은 지표의 모든 데이터 요소의 최소값을 나타내는 스칼라를 반환합니다.

시계열 배열을 입력하면 MIN 함수는 입력으로 사용된 시계열 중에서 각 데이터 포인트의 가장 작은 값으로 구성된 시계열을 만들어 반환합니다.

시계열 배열을 입력하면 MIN 함수는 입력으로 사용된 시계열 중에서 각 데이터 포인트의 가장 작은 값으로 구성된 시계열을 만들어 반환합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 예를 들어 MIN(m2)의 경우 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 포인트를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

m1-MIN(m1)

MIN(METRICS())

시간

요일

날짜

EPOCH

TS

TS

이러한 함수는 시계열의 기간 및 범위를 사용하여 각 값이 해당 타임스탬프를 기반으로 하는 새로운 비희소 시계열을 반환합니다.

  • MINUTE은 원래 시계열에 있는 각 타임스탬프의 UTC 분을 나타내는 정수(0~59)의 비희소 시계열을 반환합니다.

  • HOUR는 원래 시계열에 있는 각 타임스탬프의 UTC 시를 나타내는 정수(0~23)의 비희소 시계열을 반환합니다.

  • DAY는 원래 시계열에 있는 각 타임스탬프의 UTC 요일을 나타내는 정수(1~7)의 비희소 시계열을 반환합니다. 1은 월요일을 나타내고 7은 일요일을 나타냅니다.

  • DATE는 원래 시계열에 있는 각 타임스탬프의 UTC 날짜를 나타내는 정수(1~31)의 비희소 시계열을 반환합니다.

  • MONTH는 원래 시계열에 있는 각 타임스탬프의 UTC 월을 나타내는 정수(1~12)의 비희소 시계열을 반환합니다. 1은 1월을 나타내고 12는 12월을 나타냅니다.

  • YEAR는 원래 시계열에 있는 각 타임스탬프의 UTC 연을 나타내는 정수의 비희소 시계열을 반환합니다.

  • EPOCH는 원래 시계열에 있는 각 타임스탬프의 Epoch 이후 UTC 시간(초)을 나타내는 정수의 비희소 시계열을 반환합니다. Epoch는 1970년 1월 1일입니다.

MINUTE(m1)

IF(DAY(m1)<6,m1)는 월요일부터 금요일까지 평일의 지표만 반환합니다.

IF(MONTH(m1) == 4,m1)는 4월에 게시된 지표만 반환합니다.

PERIOD

TS

S

지표의 기간(초)을 반환합니다. 유효한 입력은 지표이지 다른 표현식의 결과가 아닙니다.

m1/PERIOD(m1)

속도

TS

TS[]

TS

TS[]

지표의 초당 변경 비율을 반환합니다. 이것은 마지막 데이터 요소 값과 그 이전의 데이터 요소 값의 차이를 두 값의 시간차(초)로 나눈 값으로 계산됩니다.

중요

희소 데이터가 포함된 지표에 RATE 함수를 사용하는 표현식에 대한 경보를 설정하면 경보를 평가할 때 가져온 데이터 포인트의 범위가 데이터 포인트의 마지막 게시 시기에 따라 달라질 수 있기 때문에 예상치 못한 동작이 발생할 수 있습니다.

RATE(m1)

RATE(METRICS())

REMOVE_EMPTY

TS[]

TS[]

시계열 배열에서 데이터 포인트가 없는 시계열을 제거합니다. 결과는 각 시계열에 적어도 하나의 데이터 포인트가 포함된 시계열 배열입니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 요소를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

REMOVE_EMPTY(METRICS())

RUNNING_SUM

TS

TS[]

TS

TS[]

원래 시계열에 값의 누적 합계가 있는 시계열을 반환합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 요소를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

RUNNING_SUM([m1,m2])

SEARCH

검색 표현식

하나 이상의 TS

지정한 검색 기준과 일치하는 시계열을 하나 이상 반환합니다. SEARCH 함수를 사용하면 표현식 하나로 그래프에 관련된 시계열을 여러 개 추가할 수 있습니다. 나중에 추가되고 검색 기준과 일치하는 새 지표를 포함하도록 그래프가 동적으로 업데이트됩니다. 자세한 내용은 그래프에서 검색 표현식 사용 단원을 참조하십시오.

SEARCH 표현식을 기반으로 경보를 생성할 수 없습니다. 검색 표현식은 여러 시계열을 반환하고 수학 표현식 기반 경보는 하나의 시계열만 관찰할 수 있기 때문입니다.

CloudWatch 크로스 계정 관측성의 모니터링 계정에 로그인한 경우 SEARCH 함수는 소스 계정과 모니터링 계정에서 지표를 찾습니다.

SERVICE_QUOTA

사용량 지표인 TS

TS

지정된 사용량 지표에 대한 서비스 할당량을 반환합니다. 이 함수를 사용하여 현재 사용량을 할당량과 비교하는 방법을 시각화하고 할당량에 접근할 때 경고하는 경보를 설정할 수 있습니다. 자세한 내용은 AWS 사용량 지표 단원을 참조하십시오.

SLICE

(TS[], S, S) 또는 (TS[], S)

TS[]

TS

시계열 배열의 일부를 검색합니다. SORT와 결합할 때 특히 유용합니다. 예를 들어 시계열 배열에서 상위 결과를 제외할 수 있습니다.

2개의 스칼라 인수를 사용하여 반환하려는 시계열 집합을 정의할 수 있습니다. 2개의 스칼라는 반환할 배열의 시작(포함)과 끝(제외)을 정의합니다. 배열은 0을 기반으로 인덱싱되므로 배열의 첫 번째 시계열은 시계열 0입니다. 또는 값을 하나만 지정할 수 있습니다. 그러면 CloudWatch는 해당 값으로 시작하는 모든 시계열을 반환합니다.

SLICE(SORT(METRICS(), SUM, DESC), 0, 10)는 요청의 지표 배열에서 SUM 값이 가장 높은 10개의 지표를 반환합니다.

SLICE(SORT(METRICS(), AVG, ASC), 5)는 AVG 통계별로 지표 배열을 정렬한 다음 AVG가 가장 낮은 5를 제외한 모든 시계열을 반환합니다.

SORT

(TS[], FUNCTION, SORT_ORDER)

(TS[], FUNCTION, SORT_ORDER, S)

TS[]

지정한 함수에 따라 시계열 배열을 정렬합니다. 사용하는 함수는 AVG, MIN, MAX 또는 SUM일 수 있습니다. 정렬 순서는 가장 낮은 값을 먼저 정렬하는 오름차순의 ASC 또는 더 높은 값을 먼저 정렬하는 DESC일 수 있습니다. 선택적으로 정렬 순서 뒤에 제한 역할을 하는 숫자를 지정할 수 있습니다. 예를 들어 제한을 5로 지정하면 정렬에서 상위 5개의 시계열만 반환됩니다.

이 수학 함수가 그래프에 표시되면 그래프의 각 지표에 대한 레이블도 정렬되고 번호가 매겨집니다.

SORT(METRICS(), AVG, DESC, 10)은 각 시계열의 평균값을 계산하고, 정렬의 시작 부분에서 가장 높은 값을 가진 시계열을 정렬하고, 평균이 가장 높은 10개의 시계열만 반환합니다.

SORT(METRICS(), MAX, ASC)는 MAX 통계별로 지표 배열을 정렬한 다음 모두 오름차순으로 반환합니다.

STDDEV

TS

TS[]

S

TS

단일 시계열의 STDDEV는 지표의 모든 데이터 요소의 표준편차를 나타내는 스칼라를 반환합니다. 시계열 배열의 STDDEV 는 단일 시계열을 반환합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 예를 들어 STDDEV(m2)의 경우 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 포인트를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

단일 시계열의 SUM은 지표의 모든 데이터 요소 값의 합을 나타내는 스칼라를 반환합니다. 시계열 배열의 SUM 은 단일 시계열을 반환합니다.

참고

CloudWatch 경보에 이 함수를 사용하지 않는 것이 좋습니다. 예: SUM(m1). 경보가 상태 변경 여부를 평가할 때마다 CloudWatch는 평가 기간으로 지정된 수보다 더 높은 수의 데이터 요소를 검색하려고 합니다. 이 함수는 추가 데이터가 요청될 때 다르게 작동합니다.

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

SUM(METRICS("errors"))/SUM(METRICS("requests"))*100

TIME_SERIES

S

TS

모든 값이 스칼라 인수로 설정된 비희소 시계열을 반환합니다.

TIME_SERIES(MAX(m1))

TIME_SERIES(5*AVG(m1))

TIME_SERIES(10)

*스칼라 수만 반환하는 함수만 사용하는 것은 유효하지 않습니다. 표현식의 모든 최종 결과가 단일 시계열 또는 시계열 배열이어야 하기 때문입니다. 이러한 함수는 시계열을 반환하는 더 큰 표현식의 일부로 사용하세요.

IF 표현식 사용

IF를 비교 연산자와 함께 사용하여 시계열에서 데이터 요소를 필터링하거나 수집된 여러 시계열로 구성된 혼합 시계열을 생성합니다.

IF는 다음 인수를 사용합니다.

IF(condition, trueValue, falseValue)

조건은 조건 데이터 요소의 값이 0이면 FALSE로, 조건 값이 양수인지 음수인지 여부에 관계없이 다른 값이면 TRUE로 평가됩니다. 조건이 시계열이면 모든 타임스탬프에 대해 개별적으로 평가됩니다.

다음은 유효한 구문 목록입니다. 이러한 구문 각각에 대한 출력은 단일 시계열입니다.

  • IF(TS Comparison Operator S, S | TS, S | TS)

    참고

    TS comparison operator S가 TRUE이지만 해당하는 데이터 포인트가 metric2에 없는 경우 출력은 0이 됩니다.

  • IF(TS, TS, TS)

  • IF(TS, S, TS)

  • IF(TS, TS, S)

  • IF(TS, S, S)

  • IF(S, TS, TS)

다음 단원에서는 이러한 구문에 대한 자세한 내용과 예제를 제공합니다.

IF(TS Comparison Operator S, scalar2 | metric2, scalar3 | metric3)

해당 출력 시계열 값:

  • TS 비교 연산자 S가 TRUE인 경우 값은 scalar2 또는 metric2입니다.

  • TS 비교 연산자 S가 FALSE인 경우 값은 scalar3 또는 metric3입니다.

  • TS 비교 연산자가 TRUE이고 metric2의 해당 데이터 요소가 존재하지 않는 경우 값은 0입니다.

  • TS 비교 연산자가 FALSE이고 metric3의 해당 데이터 요소가 존재하지 않는 경우 값은 0입니다.

  • 해당 데이터 요소가 metric3에 없거나 scalar3 /metric3이 이 표현식에서 생략된 경우 빈 시계열입니다.

IF(metric1, metric2, metric3)

metric1의 각 데이터 요소의 경우, 해당 출력 시계열 값:

  • metric1의 해당 데이터 요소가 TRUE인 경우 값은 metric2입니다.

  • metric1의 해당 데이터 요소가 FALSE인 경우 값은 metric3입니다.

  • metric1의 해당 데이터 요소가 TRUE이고 해당 데이터 요소가 metric2에 없는 경우 값은 0입니다.

  • metric1의 해당 데이터 요소가 FALSE이고 해당 데이터 요소가 metric3에 없는 경우 삭제됩니다.

  • metric1의 해당 데이터 요소가 FALSE이고 metric3이 표현식에서 생략된 경우 삭제됩니다.

  • metric1의 해당 데이터 요소가 없는 경우 삭제됩니다.

다음 표에서는 이 구문의 예제를 보여줍니다.

지표 또는 함수

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

(metric3)

[0, 0, 20, -, 20]

IF(metric1, metric2, metric3)

[30, 0, 20, 0, -]

IF(metric1, scalar2, metric3)

metric1의 각 데이터 요소의 경우, 해당 출력 시계열 값:

  • metric1의 해당 데이터 요소가 TRUE인 경우 값은 scalar2입니다.

  • metric1의 해당 데이터 요소가 FALSE인 경우 값은 metric3입니다.

  • metric1의 해당 데이터 요소가 FALSE이고 해당 데이터 요소가 metric3에 없는 경우 또는 metric3이 표현력에서 생략된 경우 삭제됩니다.

지표 또는 함수

(metric1)

[1, 1, 0, 0, -]

scalar2

5

(metric3)

[0, 0, 20, -, 20]

IF(metric1, scalar2, metric3)

[5, 5, 20, -, -]

IF(metric1, metric2, scalar3)

metric1의 각 데이터 요소의 경우, 해당 출력 시계열 값:

  • metric1의 해당 데이터 요소가 TRUE인 경우 값은 metric2입니다.

  • metric1의 해당 데이터 요소가 FALSE인 경우 값은 scalar3입니다.

  • metric1의 해당 데이터 요소가 TRUE이고 해당 데이터 요소가 metric2에 없는 경우 값은 0입니다.

  • metric1의 해당 데이터 요소가 없으면 삭제됩니다.

지표 또는 함수

(metric1)

[1, 1, 0, 0, -]

(metric2)

[30, -, 0, 0, 30]

scalar3

5

IF(metric1, metric2, scalar3)

[30, 0, 5, 5, -]

IF(scalar1, metric2, metric3)

해당 출력 시계열 값:

  • scalar1이 TRUE인 경우 값은 metric2입니다.

  • scalar1이 FALSE인 경우 값은 metric3입니다.

  • metric3이 표현식에서 생략된 경우 빈 시계열입니다.

IF 표현식의 사용 사례 예

다음 예제에서는 IF 함수의 가능한 용도를 보여줍니다.

  • 지표의 하한값만 표시하려면:

    IF(metric1<400, metric1)

  • 지표의 각 데이터 요소를 두 값 중 하나로 변경하고 원래 지표의 상대적 상한값 및 하한값을 표시하려면:

    IF(metric1<400, 10, 2)

  • 지연 시간이 임계값을 초과하는 각 타임 스탬프에 대해 1을 표시하고 다른 모든 데이터 요소에 대해 0을 표시하려면:

    IF(latency>threshold, 1, 0)

GetMetricData API 작업에서 지표 수학 사용

GetMetricData를 사용하여 수학 표현식을 사용하는 계산을 수행할 수 있을 뿐만 아니라 하나의 API 호출에서 대규모 지표 데이터 배치를 검색할 수도 있습니다. 자세한 내용은 GetMetricData 단원을 참조하세요.

지표 수학에 대한 이상 탐지

지표 수학에 대한 이상 탐지는 단일 지표와 지표 수학 표현식의 출력에 대한 이상 탐지 경보를 만드는 데 사용할 수 있는 기능입니다. 이러한 표현식을 사용하여 이상 탐지 밴드를 시각화하는 그래프를 만들 수 있습니다. 이 기능은 기본 산술 함수, 비교 및 논리 연산자 및 대부분의 기타 함수를 지원합니다.

지표 수학에 대한 이상 탐지는 다음 함수를 지원하지 않습니다.

  • 같은 줄에 둘 이상의 ANOMALY_DETECTION_BAND를 포함하는 표현식.

  • 10개 이상의 지표 또는 수학 표현식을 포함하는 표현식.

  • METRICS 표현식을 포함하는 표현식.

  • SEARCH 함수를 포함하는 표현식.

  • DP_PERF_INSIGHTS 함수를 사용하는 식입니다.

  • 기간이 다른 지표를 사용하는 표현식.

  • 고분해능 지표를 입력하는 지표 수학 이상 탐지기.

이 기능에 대한 자세한 내용은 Amazon CloudWatch 사용 설명서CloudWatch 이상 탐지 사용을 참조하세요.