以下列出的所有函数均支持:
关于函数参数的一般说明:
<
>
表示/host/key
和(sec|#num)<:time shift>
参数绝不能加引号/host/key
是引用主机监控项历史数据的函数中常见的必需第一个参数(sec|#num)<:time shift>
是引用主机监控项历史数据的函数中常见的第二个参数,其中:
功能 | ||
---|---|---|
Description | 功能特定参数 | 备注 |
forecast (/host/key,(sec\ | #num)<:时间偏移>,时间,<拟合>,<模式>) | |
Future value, max, min, delta or avg of the item. | 参见通用参数. time - 预测时间范围(单位:秒,可使用时间后缀);支持负值 fit (可选;必须使用双引号) - 用于拟合历史数据的函数 支持的 fits :linear - 线性函数 polynomialN - N次多项式 (1 <= N <= 6) exponential - 指数函数 logarithmic - 对数函数 power - 幂函数 注意: linear为默认值,polynomial1等同于linear mode (可选;必须使用双引号) - 所需输出类型 支持的 modes :value - 数值(默认) max - 最大值 min - 最小值 delta - max-min差值 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(/主机/key,#10,1h) → 基于最近10个值预测1小时后的监控项值 => forecast(/主机/key,1h,30m) → 基于最近1小时数据预测30分钟后的监控项值 => forecast(/主机/key,1h:now-1d,12h) → 基于1天前的1小时数据预测12小时后的监控项值 => forecast(/主机/key,1h,10m,"exponential") → 基于最近1小时数据和指数函数预测10分钟后的监控项值 => forecast(/主机/key,1h,2h,"polynomial3","max") → 基于最近1小时数据和三次多项式预测未来2小时内监控项可能达到的最大值 => forecast(/主机/key,#2,-20m) → 基于最近2个值估算20分钟前的监控项值(相比last()函数更精确,尤其当监控项更新频率较低时,例如每小时一次) 另见predictive trigger functions上的补充信息。 |
timeleft (/host/key,(sec\ | #num)<:时间偏移>,阈值,<拟合>) | |
Time in seconds needed for an item to reach a specified threshold. | 参见通用参数. threshold - 需达到的阈值(可使用unit suffixes) fit (可选;必须使用双引号) - 参见forecast() |
支持的值类型: float, int 若返回值大于1.7976931348623157E+308,则返回值截断为1.7976931348623157E+308. 当无法达到阈值时返回1.7976931348623157E+308. 仅在表达式中误用(错误的监控项类型、无效参数)时会变为不支持状态,其他错误情况下返回-1. 示例: => timeleft(/主机/key,#10,0) → 基于最近10个值,监控项值达到零所需时间 => timeleft(/主机/key,1h,100) → 基于最近一小时数据,监控项值达到100所需时间 => timeleft(/主机/key,1h:now-1d,100) → 基于一天前一小时数据,监控项值达到100所需时间 => timeleft(/主机/key,1h,200,"polynomial2") → 基于最近一小时数据且假设监控项呈二次多项式变化,监控项值达到200所需时间 另见predictive trigger functions的附加信息. |