8 预测函数

此处列出的所有功能均受支持:

下面列出的函数没有附加信息。点击该函数查看完整的详细信息。

函数 说明
forecast 监控项的的未来值、最大值、最小值、增量或平均值。
timeleft 监控项达到指定阈值所需的时
常用参数
  • /host/key 是引用主机监控项历史记录函数的常用强制性首选参数

  • (sec|#num)<:time shift> 是引用主机监控项历史记录函数的常用强制性次选参数 ,其中:

    • sec - 以秒为单位的最大 评估周期 (可以使用时间 后缀 ),或者

    • #num - 最新收集值最大 评估范围(如果前面有#符号)

    • time shift (可选) 允许将评估点及时移回。参阅有关指定时间偏移 更多详细内容

函数详情

关于函数参数的一般性说明:

  • 函数参数用逗号分隔
  • 可选函数参数(或参数部分)由< >表示
  • 每个函数都描述了特定的函数参数
  • /host/key(sec|#num)<:time shift>参数绝对不能加引号
forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>)

监控项的的未来值、最大值、最小值、增量或平均值。
支持的值类型:浮点整数

参数:

  • 参见 常用参数
  • time - 以秒为单位的预测范围(可以使用时间后缀);支持负值;
  • fit (可选;必须用双引号括起来)- 用于拟合历史数据的函数。支持拟合:
    linear - 线性函数(默认)
    polynomialN -多项式的次数N(1< = N< = 6)
    exponential - 指数函数
    logarithmic - 对数函数
    power - 幂函数
    注意,多项式1等价于线性;
  • mode (可选;必须用双引号括起来) - 所需的输出。支持的模式:
    value - 值(默认值)
    max - 最大值
    min - 最小值
    delta - 最大值-最小值
    avg - 平均值
    注意, value 估算在 now + time时刻的监控项值; max, min, deltaavg预测在nownow + time之间的间隔上估算监控项值。

备注:

  • 如果返回值大于 1.7976931348623158E+308 或者小于 -1.7976931348623158E+308,则返回值相应地设置为 1.7976931348623158E+308 或者 -1.7976931348623158E+308 correspondingly;
  • 只有在表达式中误用时(错误的监控项类型,无效的参数)才不支持,否则在出错时返回-1;
  • 另请参阅相关其他信息 预测触发器函数

示例:

forecast(/host/key,#10,1h) #forecast the item value in one hour based on the last 10 values
       forecast(/host/key,1h,30m) #forecast the item value in 30 minutes based on the last hour data
       forecast(/host/key,1h:now-1d,12h) #forecast the item value in 12 hours based on one hour one day ago
       forecast(/host/key,1h,10m,"exponential") #forecast the item value in 10 minutes based on the last hour data and exponential function
       forecast(/host/key,1h,2h,"polynomial3","max") #forecast the maximum value the item can reach in the next two hours based on last hour data and cubic (third degree) polynomial
       forecast(/host/key,#2,-20m) #estimate the item value 20 minutes ago based on the last two values (this can be more precise than using last(), especially if the item is updated rarely, say, once an hour)
timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>)

监控项达到指定阈值所需的时间(以秒为单位)。
支持的值类型:浮点整数

参数:

备注:

  • 如果要返回值大于 1.7976931348623158E+308,那么都返回 1.7976931348623158E+308;
  • 如果无法达到阈值,则返回 1.7976931348623158E+308;
  • 只有在表达式中误用时(错误的监控项类型,无效的参数)才不支持,否则在出错时返回-1;
  • 另请参阅相关其他信息 预测触发器函数

示例:

timeleft(/host/key,#10,0) #the time until the item value reaches zero based on the last 10 values
       timeleft(/host/key,1h,100) #the time until the item value reaches 100 based on the last hour data
       timeleft(/host/key,1h:now-1d,100) #the time until the item value reaches 100 based on one hour one day ago
       timeleft(/host/key,1h,200,"polynomial2") #the time until the item value reaches 200 based on the last hour data and assumption that the item behaves like a quadratic (second degree) polynomial

参见 所有支持的函数