VMware Aria Operations 包括可以在超级指标公式中使用的函数和运算符。这些函数可能是循环函数,也可能是单一函数。
循环函数
循环函数可对多个值进行计算。
功能 | 描述 |
---|---|
avg | 所收集值的平均值。 |
combine | 将所含对象的所有衡量指标值组合到单一衡量指标时间轴中。 |
count | 所收集值的数目。 |
max | 所收集值的最大值。 |
min | 所收集值的最小值。 |
sum | 所收集值的总和。 |
注:
VMware Aria Operations 5.x 包括两个求和函数:
sum (expr) 和
sumN (expr, depth)。
VMware Aria Operations 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=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 的衡量指标。此超级指标获取子项(深度 > 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"}