除非另有说明,此处列出的所有功能均受支持:
聚合函数可以使用:
min(/host/key,1h)
min(last_foreach(/*/key))
关于函数参数的一些一般说明:
<
>
/host/key
和 (sec|#num)<:time shift>
参数绝不能引用/host/key
是函数的常见强制性第一个参数 引用主机监控项历史(sec|#num)<:time shift>
是常见的第二个参数 引用主机监控项历史的函数,其中
函数 | ||
---|---|---|
描述 | 函数特定参数 | 注释 |
avg (/host/key,(sec|#num)<:time shift>) | ||
定义的评估期内监控项的平均值。 | 参见常用参数。 | 支持的值类型:float、int 示例: => **avg* *(/host/key,1h) → [现在]最后一小时的平均值(/manual/config/triggers#evaluation_period) => avg(/host/key, 1h:now-1d) → 现在 => avg(/ host/key,#5) → 五个最新值的平均值 => avg(/host/key,#5:now-1d) → 五个最新值的平均值,不包括最近 24 小时内收到的值 当需要将当前平均值与一段时间前的平均值进行比较时,时间偏移很有用。 |
bucket_percentile (item filter,time period,percentage) | ||
根据直方图的桶计算百分位数。 | 监控项过滤器 - 请参阅监控项过滤器 时间段 - 请参阅time period 百分比 - percentage (0-100) |
仅在计算监控项中支持。 此函数是 histogram_quantile(percentage/100, bucket_rate_foreach(item filter, time period, 1)) 的一个别名 |
count (func_foreach(item filter,<time period>)) | ||
foreach 函数返回的数组中值的计数。 | func_foreach - 应该计算返回值数量的 foreach 函数(使用支持的参数)。 有关详细信息,请参阅 foreach 函数。 | 支持的值类型:int 示例: => count(max_foreach(/ */net.if.in[*],1h)) → [现在]最后一小时内接收数据的 net.if.in 监控项数(/manual/config/triggers#evaluation_period)<br > 请注意,将 count() 与历史相关的 foreach 函数(max_foreach、avg_foreach 等)一起使用可能会影响性能,而使用 exists_foreach() ,仅适用于配置数据,不会产生这种效果。 |
直方图_分位数(分位数、bucket1、value1、bucket2、value2、...) | ||
根据直方图的桶计算 φ 分位数。 | 分位数 - 0 ≤ φ ≤ 1 bucketN, valueN - 手动输入参数对 (>=2) 或 bucket_rate_foreach |
仅在计算监控项中支持。 功能对应于'histogram_quantile'。 如果最后一个“无限”桶 ("+inf") 的值等于 0,则返回 -1。 示例: => 直方图_quantile(0.75,1.0,last(/host/rate_bucket[1.0]),"+Inf",last(/host/rate_bucket [Inf]) => 直方图_quantile(0.5,bucket_rate_foreach(//item_key,30s)) |
item_count(监控项过滤器) | ||
配置中与过滤条件匹配的现有监控项的计数。 | 监控项过滤器 - 监控项选择标准,允许按主机组、主机、监控项键和标签进行引用。 支持通配符。 有关更多详细信息,请参阅监控项过滤器。 | 仅在计算监控项中受支持。 支持的值类型:int 用作 count(exists_foreach(item_filter)) 函数的别名。 示例: => item_count(/*/agent.ping?[group ="主机组1"]) → "主机组1"中带有agent.ping项的主机数量 |
kurtosis (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值中概率分布的“尾部”。 另请参阅:峰度 |
请参阅常用参数 (#common-parameters)。 | 支持的值类型:float、int 示例: => kurtosis(/host/key,1h) → 最后一小时的峰态,直到现在 |
mad (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的中值绝对偏差。 另请参阅:中值绝对偏差 |
参见通用参数. | 支持的值类型:float, int Example: => mad(/host/key,1h) → 最后一小时的中位数绝对偏差,直到现在 |
max (/host/key,(sec|#num)<:time shift>) | ||
定义的评估期内监控项的最大值。 | 参见常用参数。 | 支持的值类型:float、int 示例: => **max* *(/host/key,1h) - min(/host/key,1h) → 计算直到 现在 最后一小时内的最大值和最小值之间的差异(值增量) |
min (/host/key,(sec|#num)<:time shift>) | ||
定义的评估期内项目的最小值。 | 参见常用参数。 | 支持的值类型:float、int 示例: => **max* *(/host/key,1h) - min(/host/key,1h) → 计算直到 现在 最后一小时内的最大值和最小值之间的差异(值增量) |
skewness (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的概率分布不对称。 另请参阅:偏度 |
请参阅常用参数(# 公共参数)。 | 支持的值类型:float、int 示例: => skewness(/host/key,1h) → 最后一小时的偏度,直到现在 |
stddevpop (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的总体标准差。 另请参阅:标准差 |
请参阅常用参数. | 支持的值类型:float, int 示例: => stddevpop(/host/key,1h) → 最后一小时的人口标准偏差,直到现在 |
stddevsamp (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的样本标准差。 另请参阅:标准差 |
请参阅常用参数. | 支持的值类型:float、int 此函数至少需要两个数据值才能工作。 示例: => stddevsamp( /host/key,1h) → 最后一小时的样本标准偏差,直到现在 |
sum (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的总和。 | 参见常用参数。 | 支持的值类型:float、int 示例: => sum (/host/key,1h) → 最后一小时的值总和,直到现在 |
sumofsquares (/host/key,(sec|#num)<:time shift>) | ||
定义的评估期内收集的值的平方和。 | 参见常用参数。 | 支持的值类型:float、int 示例: => ** sumofsquares(/host/key,1h**) → 最后一小时的平方和,直到现在 |
varpop (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的总体方差。 另请参阅:方差 |
请参阅常用参数. | 支持的值类型:float, int 示例: => varpop(/host/key,1h) → 最后一小时的人口方差,直到现在 |
varsamp (/host/key,(sec|#num)<:time shift>) | ||
在定义的评估期内收集的值的样本方差。 另请参阅:方差 |
请参阅常用参数. | 支持的值类型:float、int 此函数至少需要两个数据值才能工作。 示例: => varsamp(/host /key,1h) → 最后一小时的样本方差,直到现在 |