템플릿 변수 평가

모니터 알림 메시지에서 eval 구문을 사용하여 템플릿 변수의 출력을 수정할 수 있으며, 이 구문을 사용하면 숫자 값이 있는 템플릿 변수에 여러 가지 수학 연산 및 함수를 사용할 수 있습니다.

연산자

평가 연산자를 사용하면 숫자 템플릿 변수에 대해 기본적인 산술 연산을 수행할 수 있습니다. 구문은 다음 형식을 사용합니다. 참고: 표현식은 따옴표(")로 묶어야 합니다.

{{eval "TEMPLATE_VARIABLE_NAME+1-2*3/4"}}

지원되는 연산자는 다음과 같습니다:

연산자설명
+더하기
-빼기
*곱하기
/나누기
^거듭제곱
%잉여

예시

{{last_triggered_at_epoch}} 템플릿 변수는 모니터가 마지막으로 트리거된 UTC 시간을 밀리초 에포크 형식으로 반환합니다. 평가 연산자를 사용하여 15분 (15 * 60 * 1000밀리초)에서 다음을 뺄 수 있습니다:

{{eval "last_triggered_at_epoch-15*60*1000"}}

이 기능은 모니터 알림 메시지에서 Datadog 또는 다른 워크플로우 도구의 다른 페이지로 연결되는 시간 범위 링크를 만드는 데 유용합니다. 예를 들어, {{last_triggered_at_epoch}}에 있는 평가 연산자를 사용하여 Datadog Log Explorer에 대한 시간 범위 링크를 만들 수 있습니다:

https://app.datadoghq.com/logs?from_ts={{eval "last_triggered_at_epoch-15*60*1000"}}&to_ts={{last_triggered_at_epoch}}&live=false

함수

숫자 템플릿 변수의 값을 평가 함수의 입력으로 사용하여 템플릿 변수의 서식을 변경하거나 값에 수학적 연산을 수행할 수 있습니다. 구문은 다음 형식을 사용합니다. 참고: 표현식은 따옴표(")로 묶어야 합니다.

{{eval "function(TEMPLATE_VARIABLE_NAME)"}}

다음 함수는 숫자 템플릿 변수의 값 서식을 변경합니다:

함수설명
humanize_bytes(var)사람이 읽을 수 있는 var 바이트 형식을 반환합니다.
humanize_bits(var)사람이 읽을 수 있는 var 비트 형식을 반환합니다.
abs(var)var의 절대값을 반환합니다.
int(var)var를 소수점 왼쪽에 있는 숫자, 즉 정수로 반환합니다. 예: var = 12.345이면 int(var)는 12를 반환합니다.
float(var)var를 부동 소수점으로 반환합니다.
trunc(var)int 함수의 별칭인 정수로 var를 반환합니다.
dec(var)소수점 오른쪽에 있는 숫자를 반환합니다. 예: var = 12.345이면 dec(var)는 0.345를 반환합니다.

다음 함수는 숫자 템플릿 변수의 값을 수학 함수에 대한 입력으로 사용합니다:

함수설명
round(var)가장 가까운 정수로 반올림된 var를 반환합니다.
round(var, n)지정된 자릿수(n)로 반올림한 var를 반환합니다.
예: round(12.376, 2) = 12.38
ceil(var)var의 상한을 반환합니다 (var보다 크거나 같은 가장 작은 정수).
floor(var)var의 하한을 반환합니다 (var보다 작거나 같은 가장 큰 정수).
sgn(var)var에서 평가된 부호 함수의 값을 반환합니다:
var > 0인 경우 sgn(var) = 1
var = 0인 경우 sgn(var) = 0
var < 0인 경우 sgn(var) = -1
to_bool(var)var = 1 인 경우 true를 반환합니다.
var = 0 인 경우 false를 반환합니다.
exp(var)var로 거듭제곱한 e (자연 로그의 밑수)를 반환합니다.
log10(var)var의 10을 밑수로 두는 로그를 반환합니다.
sin(var)var 라디안의 사인을 반환합니다.
sinh(var)var의 쌍곡 사인을 반환합니다.
asin(var)var의 역사인을 라디안으로 반환합니다.
asinh(var)var의 역쌍곡 사인을 반환합니다.
cos(var)var 라디안의 코사인을 반환합니다.
cosh(var)var의 쌍곡 코사인을 반환합니다.
acos(var)var의 역코사인을 라디안으로 반환합니다.
acosh(var)var의 역쌍곡 코사인을 반환합니다.
tan(var)var 라디안의 탄젠트를 반환합니다.
tanh(var)var의 쌍곡 탄젠트를 반환합니다.
atan(var)var의 역탄젠트를 라디안으로 반환합니다.
atan2(var1, var2)atan(var1 / var2)를 라디안으로 반환합니다.
atanh(var)var의 역쌍곡 탄젠트를 반환합니다.

예시

{{value}} 템플릿 변수의 소수점 이하 자릿수가 필요하지 않은 경우에는 int 함수를 사용해 {{value}}를 정수로 평가하여 소수점을 삭제하고 가독성을 높입니다.

{{eval "int(value)"}}

{{value}}를 많은 수의 바이트 또는 비트로 평가하는 경우 humanize_bytes 또는 humanize_bits 함수를 사용하여 숫자를 GB 또는 MB와 같은 다른 상위 메모리 단위로 변환하면 가독성을 높일 수 있습니다:

{{eval "humanize_bytes(value)"}}

{{eval "humanize_bits(value)"}}