You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

8 予測関数

ここに記載されているすべての関数は、以下でサポートされています:

関数は追加情報なしでリストされています。関数をクリックすると詳細が表示されます。

関数 説明
forecast アイテムの将来の値、最大値、最小値、デルタまたは平均値。
timeleft アイテムが指定したしきい値に達するまでに必要な秒数。
共通パラメータ
  • /host/key は、ホストアイテムの履歴を参照する関数の共通必須の最初のパラメータです
  • (sec|#num)<:time shift> は、ホストアイテムの履歴を参照する関数の共通の2番目のパラメータです。ここで:
    • sec - 最大評価期間(秒単位。時間のサフィックスが使用可能)
    • #num - 最新の収集値の最大評価範囲(ハッシュ記号を前置)
    • time shift(オプション)は、評価ポイントを過去に移動するために使用します。タイムシフトの指定方法については詳細を参照してください。

関数の詳細

関数パラメータに関する一般的な注意事項:

  • 関数パラメータはカンマで区切られます
  • オプションの関数パラメータ(またはパラメータの一部)は < >で示されます
  • 関数固有のパラメータは各関数で説明されています
  • /host/key および (sec|#num)<:time shift> パラメータは 決して引用符で囲まないでください
forecast(/host/key,(sec|#num)<:time shift>,time,<fit>,<mode>)

アイテムの将来の値、最大値、最小値、差分または平均値。
サポートされている値の型: Float, Integer

パラメータ:

  • 共通パラメータを参照;
  • time - 予測する期間(秒単位、時間のサフィックスが使用可能)。負の値もサポート;
  • fit (オプション; ダブルクォート必須) - 過去データにフィットさせる関数。サポートされているフィット:
    linear - 線形関数(デフォルト)
    polynomialN - N次多項式(1 <= N <= 6)
    exponential - 指数関数
    logarithmic - 対数関数
    power - 累乗関数
    なお、polynomial1linearと同等;
  • mode (オプション; ダブルクォート必須) - 出力する値。サポートされているモード:
    value - 値(デフォルト)
    max - 最大値
    min - 最小値
    delta - max-min
    avg - 平均値
    なお、valuenow + time時点のアイテム値を推定する。maxmindeltaavgnowからnow + timeまでの区間でのアイテム値の推定値を調査する。

コメント:

  • 返却値が1.7976931348623158E+308より大きい、または-1.7976931348623158E+308より小さい場合、返却値はそれぞれ1.7976931348623158E+308または-1.7976931348623158E+308に切り詰められる;
  • 式の誤用(アイテムタイプの誤り、パラメータの不正)でのみ未サポートとなる。それ以外のエラー時は-1を返す;
  • 予測トリガー関数の追加情報も参照。

例:

forecast(/host/key,#10,1h) #直近10個の値から1時間後のアイテム値を予測
       forecast(/host/key,1h,30m) #直近1時間のデータから30分後のアイテム値を予測
       forecast(/host/key,1h:now-1d,12h) #1日前の1時間分のデータから12時間後のアイテム値を予測
       forecast(/host/key,1h,10m,"exponential") #直近1時間のデータと指数関数で10分後のアイテム値を予測
       forecast(/host/key,1h,2h,"polynomial3","max") #直近1時間のデータと3次多項式で今後2時間以内に到達しうる最大値を予測
       forecast(/host/key,#2,-20m) #直近2個の値から20分前のアイテム値を推定(特にアイテムの更新頻度が低い場合、last()よりも精度が高い場合がある)
timeleft(/host/key,(sec|#num)<:time shift>,threshold,<fit>)

アイテムが指定されたしきい値に達するまでに必要な秒数。
サポートされている値のタイプ: FloatInteger

パラメータ:

コメント:

  • 返す値が1.7976931348623158E+308より大きい場合、返り値は1.7976931348623158E+308に切り捨てられます;
  • しきい値に到達できない場合は1.7976931348623158E+308を返します;
  • 式で誤用された場合(アイテムタイプの誤り、パラメータの無効など)のみ未サポートとなり、それ以外のエラー時は-1を返します;
  • 予測トリガー関数に関する追加情報も参照してください。

例:

timeleft(/host/key,#10,0) #直近10個の値に基づき、アイテム値が0に達するまでの時間
       timeleft(/host/key,1h,100) #直近1時間のデータに基づき、アイテム値が100に達するまでの時間
       timeleft(/host/key,1h:now-1d,100) #1日前の1時間分のデータに基づき、アイテム値が100に達するまでの時間
       timeleft(/host/key,1h,200,"polynomial2") #直近1時間のデータと、アイテムが2次多項式のように振る舞うという仮定に基づき、アイテム値が200に達するまでの時間

サポートされているすべての関数を参照してください。