超级指标函数和运算符

VMware Aria Operations
包括可以在超级指标公式中使用的函数和运算符。这些函数可能是循环函数,也可能是单一函数。

循环函数

循环函数可对多个值进行计算。
循环函数
功能
描述
avg
所收集值的平均值。
combine
将所含对象的所有衡量指标值组合到单一衡量指标时间轴中。
count
所收集值的数目。
max
所收集值的最大值。
min
所收集值的最小值。
sum
所收集值的总和。
vRealize Operations Manager
5.x 包括两个求和函数:
sum (expr)
sumN (expr, depth)
vRealize Operations Manager
6.x 包括一个求和函数:
sum (expr)
。默认情况下,depth 设置为 depth=1。有关设置 depth 的更多信息,请参阅创建超级指标

循环函数参数

循环函数返回对象或对象类型的属性或衡量指标值。属性是元数据,描述要从对象中收集的适配器的衡量指标。衡量指标是属性的实例。参数语法定义所需的结果。
例如,CPU 利用率是虚拟机对象的一个属性。如果虚拟机具有多个 CPU,每个 CPU 的 CPU 利用率都是一个衡量指标实例。如果虚拟机具有一个 CPU,则属性或衡量指标的函数返回相同的结果。
循环函数格式
参数语法示例
描述
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=
val1
id2=
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
的衡量指标。此超级指标获取子项(深度 > 0)或父项(深度 < 0)中的值,其中的
深度
描述关系链中的对象位置。
例如,典型的关系链包括数据中心、集群、主机和虚拟机。数据中心位于顶部,而虚拟机位于底部。如果已为集群分配此超级指标,并且函数定义包括深度 = 2,则超级指标会获取虚拟机中的值。如果函数定义包括深度 = -1,则超级指标会从数据中心获取值。
funct
(${adaptertype=
adaptkind
, objecttype=
reskind
, depth=
dep
}, attribute=
a|b:optional_instance|c
})
返回一组数据点。此函数迭代参数中指定的
reskind
的属性。此超级指标获取子项(深度 > 0)或父项(深度 < 0)对象中的值。
例如,
avg(${adaptertype=VMWARE, objecttype=VirtualMachine, attribute=cpu|usage_average, depth=1})
会通过 vCenter 适配器找到的类型为
VirtualMachine
的所有对象的 cpu|usage_average 属性计算所有衡量指标实例的平均值。
VMware Aria Operations
可搜索您分配了超级指标的对象类型下一级的对象。

单一函数

单一函数仅对一个值或一对值进行计算。
单一函数
功能
格式
描述
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)
x 的常用对数(底为 10)。
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 的双曲正切。

运算符

运算符是要在函数之间包含或插入的数学符号和文本。
数字运算符
运算符
描述
+
-
*
/
%
取模
==
等于
! =
不等于
<
小于
<=
小于或等于
>
大于
>=
大于或等于
||
&&
!
? :
三元运算符。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])
字符串运算符
字符串运算符
描述
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"}