vRealize Operations 에는 수퍼 메트릭 공식에서 사용할 수 있는 함수와 연산자가 포함되어 있습니다. 함수는 루핑 함수 또는 단일 함수입니다.

루핑 함수

루핑 함수는 둘 이상의 값에서 작동합니다.
표 1. 루핑 함수
함수 설명
avg 수집된 값의 평균입니다.
combine 단일 메트릭 타임라인에 포함된 개체의 모든 메트릭 값을 결합합니다.
계수 수집된 값의 수입니다.
max 수집된 값의 최대값입니다.
min 수집된 값의 최소값입니다.
sum 수집된 값의 합계입니다.
참고: vRealize Operations Manager 5.x에는 두 개의 sum 함수, sum (expr)sumN (expr, depth)이 있습니다. vRealize Operations Manager 6.x에는 하나의 sum 함수 sum (expr)이 있습니다. 기본적으로 깊이는 depth=1로 설정됩니다. 깊이를 설정하는 방법에 대한 자세한 내용은 수퍼 메트릭 생성 항목을 참조하십시오.

루핑 함수 인수

루핑 함수는 개체 또는 개체 유형의 특성 또는 메트릭 값을 반환합니다. 특성은 어댑터가 개체에서 수집하는 메트릭을 설명하는 메타데이터입니다. 메트릭은 특성의 인스턴스입니다. 인수 구문은 원하는 결과를 정의합니다.

예를 들어 CPU 사용량은 가상 시스템 개체의 특성입니다. 가상 시스템에 여러 CPU가 있는 경우 각 CPU의 CPU 사용량이 메트릭 인스턴스입니다. 가상 시스템에 CPU가 한 개 있는 경우 특성 또는 메트릭에 대한 함수는 동일한 결과를 반환합니다.

표 2. 루핑 함수 형식
인수 구문 예 설명
funct(${this, metric =a|b:optional_instance|c}) 수퍼 메트릭이 할당된 개체에 대해 특정 메트릭의 단일 데이터 지점을 반환합니다. 이 수퍼 메트릭은 개체의 하위 또는 상위 항목 값을 사용하지 않습니다.
funct(${this, attribute=a|b:optional_instance|c}) 수퍼 메트릭이 할당된 개체의 특성에 대해 데이터 지점 집합을 반환합니다. 이 수퍼 메트릭은 개체의 하위 또는 상위 항목 값을 사용하지 않습니다.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1id2=val2,…}, metric=a|b:instance|c}) 인수에 지정된 resname에 대해 특정 메트릭의 단일 데이터 지점을 반환합니다. 이 수퍼 메트릭은 개체의 하위 또는 상위 항목 값을 사용하지 않습니다.
funct(${adaptertype=adaptkind, objecttype=reskind, resourcename=resname, identifiers={id1=val1, id2=val2,…}, attribute=a|b:optional_instance|c}) 데이터 지점 집합을 반환합니다. 이 함수는 인수에 지정된 resname의 특성을 반복합니다. 이 수퍼 메트릭은 개체의 하위 또는 상위 항목 값을 사용하지 않습니다.
funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, metric=a|b:optional_instance|c}) 데이터 지점 집합을 반환합니다. 이 함수는 인수에 지정된 reskind의 메트릭을 반복합니다. 이 수퍼 메트릭은 하위(depth > 0) 또는 상위(depth < 0) 개체의 값을 사용하며, 여기서 depth는 관계 체인의 개체 위치를 설명합니다.

예를 들어 일반 관계 체인에는 데이터 센터, 클러스터, 호스트 및 가상 시스템이 포함됩니다. 데이터 센터가 맨 위에 있고 가상 시스템이 맨 아래에 있습니다. 수퍼 메트릭이 클러스터에 할당되고 함수 정의에 depth = 2가 포함되어 있는 경우 수퍼 메트릭이 가상 시스템의 값을 사용합니다. 함수 정의에 depth = -1이 포함되어 있는 경우 수퍼 메트릭이 데이터 센터의 값을 사용합니다.

funct(${adaptertype=adaptkind, objecttype=reskind, depth=dep}, attribute=a|b:optional_instance|c}) 데이터 지점 집합을 반환합니다. 이 함수는 인수에 지정된 reskind의 특성을 반복합니다. 이 수퍼 메트릭은 하위(depth > 0) 또는 상위(depth < 0) 개체의 값을 사용합니다.

예를 들어 avg(${adaptertype=VMWARE, objecttype=VirtualMachine, attribute=cpu|usage_average, depth=1})은 vCenter 어댑터가 찾은 유형이 VirtualMachine인 모든 개체에 대해 cpu|usage_average 특성을 가진 모든 메트릭 인스턴스 값의 평균을 계산합니다. vRealize Operations 는 수퍼 메트릭을 할당한 개체 유형의 한 수준 아래에 있는 개체를 검색합니다.

단일 함수

단일 함수는 단일 값 또는 단일 값 쌍에서만 작동합니다.

표 3. 단일 함수
기능 포맷 설명
abs abs(x) x의 절대값입니다. x는 임의의 부동 소수점 숫자일 수 있습니다.
acos acos(x) x의 아크코사인입니다.
asin asin(x) x의 아크사인입니다.
atan atan(x) x의 아크탄젠트입니다.
ceil ceil(x) x 이상의 가장 작은 정수입니다.
cos cos(x) x의 코사인입니다.
cosh cosh(x) x의 쌍곡코사인입니다.
exp exp(x) e의 x 제곱입니다.
floor floor(x) x 이하의 가장 큰 정수입니다.
log log(x) 밑이 x인 x의 자연로그입니다.
log10 log10(x) 밑이 10인 x의 상용로그입니다.
pow pow(x,y) x의 y 제곱입니다.
rand rand() 0.0보다 크거나 같고 1.0보다 작은 의사 부동 난수를 생성합니다.
sin sin(x) x의 사인입니다.
sinh sinh(x) x의 쌍곡사인입니다.
sqrt sqrt(x) x의 제곱근입니다.
tan tan(x) x의 탄젠트입니다.
tanh tanh(x) x의 쌍곡탄젠트입니다.

연산자

연산자는 함수를 묶거나 함수 사이에 삽입하는 수학 기호 및 텍스트입니다.

표 4. 숫자 연산자
연산자 설명
+ 더하기
- 빼기
* 곱하기
/ 나누기
% 모듈로
== 같음
!= 같지 않음
< 보다 작음
<= 작거나 같음
> 보다 큼
>= 크거나 같음
|| 또는
&&
! 아님
? : 삼항 연산자. If/then/else

예: conditional_expression ? expression_if_condition_is_true : expression_if_condition_is_false

삼항 연산자에 대한 자세한 내용은 수퍼 메트릭 개선을 참조하십시오.

( ) 괄호
[ ] 수식 어레이에 사용
[x, y, z] x, y, z를 포함하는 어레이입니다. 예: min([x, y, z])
표 5. 문자열 연산자
문자열 연산자 설명
equals 메트릭/속성 문자열 값이 지정된 문자열과 동일한 경우 true를 반환합니다.
contains 메트릭/속성 문자열 값에 지정된 문자열이 포함된 경우 true를 반환합니다.
startsWith 메트릭/속성 문자열 값이 지정된 접두사로 시작하는 경우 true를 반환합니다.
endsWith 메트릭/속성 문자열 값이 지정된 접미사로 끝나는 경우 true를 반환합니다.
!equals 메트릭/속성 문자열 값이 지정된 문자열과 동일하지 않은 경우 true를 반환합니다.
!contains 메트릭/속성 문자열 값에 지정된 문자열이 포함되지 않은 경우 true를 반환합니다.
!startsWith 메트릭/속성 문자열 값이 지정된 접두사로 시작하지 않는 경우 true를 반환합니다.
!endsWith 메트릭/속성 문자열 값이 지정된 접미사로 끝나지 않는 경우 true를 반환합니다.
참고: 문자열 연산자는 'where' 조건에서만 유효합니다. 예: ${this, metric=summary|runtime|isIdle, where = "System Properties|resource_kind_type !contains GENERAL"}