此处列出的所有函数都支持:
关于函数参数的一些整体说明:
<
>
表示/host/key
和 (sec|#num)<:time shift>
参数绝不能被引用/host/key
是引用主机监控项历史记录函数的常用强制性首选参数
(sec|#num)<:time shift>
是引用主机监控项历史记录函数的常用强制性次选参数 ,其中:
#num - 最新收集值最大 评估范围(如果前面有#符号)
time shift (可选) 允许将评估点及时移回。参阅有关指定时间偏移 更多详细内容
函数 | |||
---|---|---|---|
描述 | 函数专用参数 | 注释 | |
forecast (/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>) | |||
监控项的未来值、最大值、最小值、增量或平均值 | 参见常用参数. time - 以秒为单位的预测范围(可以使用时间后缀);支持负值 fit (可选;必须双引号) - 用于拟合历史数据的函数 支持 fits :linear - 线性函数 polynomialN -N 次多项式 (1 <= N <= 6) exponential - 指数函数 logarithmic - 对数函数 power - 幂函数 注意: linear 是默认值,polynomial1 等价于linear mode (可选;必须双引号) - 要求的输出 支持 modes :value - 值(默认值) max - 最大值 min - 最小值 delta - 最大值-最小值 avg - 平均值 注意: value 估计当前监控值 now + time max, min, delta 和avg 调查监控项值评估的时间间隔 now 和 now + time |
支持的值类型:float, int 如果要返回的值大于1.7976931348623157E+308 或小于-1.7976931348623157E+308,则返回值相应裁剪为1.7976931348623157E+308 或-1.7976931348623157E+308。 仅当在表达式中误用(错误的监控项类型,无效参数)时才变得不受支持,否则在错误的情况下返回-1。 示例: => forecast(/host/key,#10,1h) → 根据最后10个值预测一小时内的监控项值 => forecast(/host/key,1h,30m) → 根据最后1小时的数据预测30分钟内的监控项值 => forecast(/host/key,1h:now-1d,12h) →根据前一天的一小时预测12小时内的监控项值 => forecast(/host/key,1h,10m,"exponential") → 根据最后1小时的数据和指数函数预测 10分钟内的监控项值 => forecast(/host/key,1h,2h,"polynomial3","max") → 根据最后1小时的数据和三次多项式预测未来2个小时监控项可以达到最大的值 => forecast(/host/key,#2,-20m) → 根据最后两个值估计20分钟前的监控项值(这可能比使用last()更精确,特别是如果监控项很少更新,比如每小时一次) 另见有关预测触发器函数的附加信息。 |
|
timeleft (/host/key,(sec|#num)<:time shift>,threshold,<fit>) | |||
监控项达到指定阈值所需的时间(以秒为单位) | 参见常用参数. threshold - 要达到的值(可以使用的单位后缀) fit (可选;必须双引号) - 见forecast() |
支持的值类型:float, int 如果要返回的值大于1.7976931348623157E+308,则返回值被裁剪为1.7976931348623157E+308。 如果无法达到阈值,则返回1.7976931348623157E+308。 仅当在表达式中误用(错误的监控项类型,无效参数)时才变得不受支持,否则在错误的情况下返回 -1。 Examples: => timeleft(/host/key,#10,0) → 根据最后10个值,预测直到监控项值达到零的时间 => timeleft(/host/key,1h,100) → 根据最后一小时的数据,预测直到监控项值达到100的时间 => timeleft(/host/key,1h:now-1d,100) → 根据一天前的一小时数据,预测直到监控项值达到100的时间 => timeleft(/host/key,1h,200,"polynomial2") →最后一小时的数据和假设该监控项的行为类似于二次多项式,预测直到监控项值达到200的时间 另见有关 预测触发器函数的附加信息。 |