Amazon CloudWatch
사용 설명서

지표 수식 사용

지표 수식을 사용하면 여러 CloudWatch 지표를 조회하고, 수학 표현식을 사용하여 이러한 지표에 기반한 새로운 시계열을 만들 수 있습니다. CloudWatch 콘솔에서 결과 시계열을 시각화하고 이를 대시보드에 추가할 수 있습니다. 예를 들어, AWS Lambda 지표를 사용하여 Errors 지표를 Invocations 지표로 나눠 오차율을 구하고, 결과 시계열을 CloudWatch 대시보드의 그래프에 추가할 수 있습니다.

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

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

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

그래프에 수학 표현식을 추가하려면

  1. https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 그래프 또는 줄 위젯을 만들거나 편집합니다.

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

  4. Add a math expression(수학 표현식 추가)을 선택합니다. 표현식의 새 줄이 나타납니다.

  5. 세부 정보 열에 수학 표현식을 입력합니다. 다음 단원에 나와 있는 표에는 표현식에 사용할 수 있는 함수가 나열되어 있습니다.

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

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

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

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

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

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

지표 수학 구문 및 함수

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

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

데이터 형식 약어

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

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

  • TS는 시계열(시간 경과에 따른 일련의 단일 CloudWatch 지표 값)입니다. 예를 들어, 지난 3일 동안 i-1234567890abcdef0 인스턴스에 대한 CPUUtilization 지표입니다.

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

METRICS() 함수

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

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

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

기본 산술 함수

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

연산 인수 예제

산술 연산자: + - * / ^

S, S

S, TS

TS, TS

S, TS[]

TS, TS[]

PERIOD(m1)/60

5 * m1

m1 - m2

SUM(100/[m1, m2])

AVG([m1,m2]/m3)

METRICS()*100

빼기 기호 -

S

TS

TS[]

-5*m1

-m1

SUM(-[m1, m2])

지표 수식에 지원되는 함수

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

수학 표현식의 최종 결과는 단일 시계열이거나 시계열 배열이어야 합니다. 아래 단원에 나오는 표의 일부 함수는 스칼라 수를 생성합니다. 최종적으로 하나의 시계열을 생성하는 더 큰 함수 안에서 이러한 함수를 사용할 수 있습니다. 예를 들어, 단일 시계열에서 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로 처리됩니다.

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

AVG(METRICS())

CEIL

TS

TS[]

TS

TS[]

각 지표의 천장값(각 값보다 크거나 같은 최소 정수)을 반환합니다.

CEIL(m1)

CEIL(METRICS())

SUM(CEIL(METRICS()))

FILL

TS, TS/S

TS[], TS/S

TS

TS[]

지표 값이 부족할 때 지정된 필터 값으로 지표의 누락 값을 채웁니다.

FILL(m1,10)

FILL(METRICS(), 0)

FILL(m1, MIN(m1))

FLOOR

TS

TS[]

TS

TS[]

각 지표의 바닥값(각 값보다 크거나 같은 최소 정수)을 반환합니다.

FLOOR(m1)

FLOOR(METRICS())

MAX

TS

TS[]

S

TS

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

MAX(m1)/m1

MAX(METRICS())

METRIC_COUNT

TS[]

S

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

m1/METRIC_COUNT(METRICS())

METRICS()

null

string

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 은 단일 시계열을 반환합니다.

m1-MIN(m1)

MIN(METRICS())

PERIOD

TS

S

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

m1/PERIOD(m1)

속도

TS

TS[]

TS

TS[]

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

RATE(m1)

RATE(METRICS())

SEARCH

검색 표현식

하나 이상의 TS

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

STDDEV

TS

TS[]

S

TS

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

m1/STDDEV(m1)

STDDEV(METRICS())

SUM

TS

TS[]

S

TS

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

SUM(METRICS())/SUM(m1)

SUM([m1,m2])

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

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

GetMetricData API 작업과 함께 지표 수식 사용

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