[comment]: # translation:outdated

[comment]: # ({6d19b71a-4b66eb43})
# 5 トレンド関数

トレンド関数は、[履歴関数](/manual/appendix/functions/history) とは対照的に、[トレンド](/manual/config/items/history_and_trends#Keeping-trends)データを計算に使用します。

トレンドは時間ごとの集計値を保存します。 トレンド関数はこれらの時間平均を使用するため、長期的な分析に役立ちます。

トレンド関数の結果はキャッシュされるため、同じパラメーターを使用して同じ関数を複数回呼び出しても、データベースから情報が取得されるのは 1 回だけです。 トレンド機能のキャッシュは[TrendFunctionCacheSize](/manual/appendix/config/zabbix_server) サーバー パラメータによって制御されます。

トレンド関数 **のみ** を参照するトリガーは、式の最小期間ごとに 1 回評価されます。 たとえば次のようなトリガー
は
    trendavg(/host/key,1d:now/d) > 1 or trendavg(/host/key2,1w:now/w) > 2

1日1回評価されます。 トリガーにトレンドと履歴 (または時間ベース) の両方の関数が含まれている場合は[通常の原則](/manual/config/triggers#calculation-time) に従って計算されます。

ここにリストされているすべての機能は、次でサポートされています。

-   [トリガー式](/manual/config/triggers/expression)
-   [計算項目](/manual/config/items/itemtypes/calculated)

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

-   関数パラメータはコンマで区切られます
-   オプションの関数パラメーター (またはパラメーター部分) は `<` `>` で示されます
-   機能固有のパラメーターは、各機能で説明されています
-   `/host/key` および `time period:time shift` パラメータは引用符で囲んではいけません

[comment]: # ({/6d19b71a-4b66eb43})

[comment]: # ({2a63633f-f32fad35})
##### 共通パラメータ

-   `/host/key` は一般的な必須の最初のパラメータです
-   `time period:time shift` は一般的な 2 番目のパラメーターです。
       - **time period** - 期間 (最小 '1h')、\<N>\<時間単位> として定義、'N' - 時間単位の数、'時間単位' - h (時間) d (日)、w (週)、M (月)、または y (年)。
       - **time shift** - 期間のオフセット (関数の例を参照)

[comment]: # ({/2a63633f-f32fad35})

[comment]: # ({dc039e52-7b557310})
#### トレンド関数

|関数|<|<|
|--|--|--|
|**説明**|**関数固有のパラメータ**|**コメント**|
|**baselinedev** (/host/key,data period:time shift,season_unit,num_seasons)|<|<|
|最後のデータ期間と前のシーズンの同じデータ期間との間の偏差の数を (stddevpop アルゴリズムによって) 返します |**data period** - \<N>\<時間単位> として定義される、シーズン内のデータ収集期間<br>`N` - 時間単位数<br>`time unit` - h (時), d (日), w (週), M (月) y (年), シーズン以下である必要があります <br><br>[Time shift](/manual/config/triggers/expression#function-specific_parameters) - 期間オフセット(例を参照)<br><br> **season_unit** - 1シーズンの期間 (h, d, w, M, y)。 データ期間より小さくすることはできません<br><br>**num_seasons** - 評価するシーズン数| 例:<br>=> **baselinedev**(/host/key,1d:now/d,"M",6) →  前日と過去 6 か月間の同じ日の標準偏差 (母集団) の数を計算します。 日付が前の月に存在しない場合は、その月の最終日が使用されます (7 月 31 日は、1 月 31 日、2 月 28 日、... 6 月 30 日に対して分析されます)。<br> => **baselinedev**(/host/key,1h:now/h,"d",10)  → 昨日から 10 日前までの 1 時間前と同じ時間との間の標準偏差 (母集団) の数を計算します。|
|**baselinewma** (/host/key,data period:time shift,season_unit,num_seasons)|<|<|
|加重移動平均アルゴリズムを使用して、複数の等しい期間 ('シーズン') の同じ時間枠からのデータを平均することにより、ベースラインを計算します。|**data period** - \<N>\<時間単位> として定義される、シーズン内のデータ収集期間<br>`N` - 時間単位数<br>`time unit` - h (時), d (日), w (週), M (月), y (年), シーズン以下である必要があります<br><br>[Time shift](/manual/config/triggers/expression#function-specific_parameters) - 期間オフセットは、シーズンのデータ収集時間枠の終了を定義します (例を参照)<br><br> **season_unit** - 1シーズンの期間 (h, d, w, M, y), データ期間より小さくすることはできません。<br><br>**num_seasons** - 評価するシーズン数| 例:<br>=> **baselinewma**(/host/key,1h:now/h,"d",3) →  昨日までの 3 日間の最後の 1 時間に基づいてベースラインを計算します。"今"が月曜日の 13:30 の場合、金、土、日の 12:00 から 12:59 までのデータが分析対象になります。 <br>=> **baselinemwa**(/host/key,2h:now/h,"d",3) →  昨日までの 3 日間の過去 2 時間に基づいてベースラインを計算します。"今"が月曜日の 13:30 の場合、金、土、日の 10:00 から 11:59 までのデータが分析対象になります。  <br>=> **baselinewma**(/host/key,1d:now/d,"M",4) → 最後の丸 1 か月間の'昨日'と過去4か月の同じ日に基づいてベースラインを計算します。必要な日付が存在しない場合は、月の最終日が取得されます。今日が 9 月 1 日の場合、7 月 31 日、6 月 30 日、5 月 31 日、4 月 30 日のデータが分析されます。|
|**trendavg** (/host/key,time period:time shift)|<|<|
|定義された期間内のトレンド値の平均|[共通パラメータ](#common-parameters)参照|例:<br>=> **trendavg**(/host/key,**1h:now/h**) → 1 時間前の平均 (例:12:00-13:00)<br>=> **trendavg**(/host/key,**1h:now/h-1h**) → 2 時間前の平均 (11:00-12:00)<br>=> **trendavg**(/host/key,**1h:now/h-2h**) → 3時間前の平均 (10:00-11:00)<br>=> **trendavg**(/host/key,**1M:now/M-1y**) → 1年前の前月の平均|
|**trendcount** (/host/key,time period:time shift)|<|<|
|定義された期間内に正常に取得されたトレンド値の数|[共通パラメータ](#common-parameters)参照|例:<br>=> **trendcount**(/host/key,**1h:now/h**) → 1時間前のカウント (例: 12:00-13:00)<br>=> **trendcount**(/host/key,**1h:now/h-1h**) → 2時間前のカウント(11:00-12:00)<br>=> **trendcount**(/host/key,**1h:now/h-2h**) → 3時間前のカウント(10:00-11:00)<br>=> **trendcount**(/host/key,**1M:now/M-1y**) → 1 年前の前月のカウント|
|**trendmax** (/host/key,time period:time shift)|<|<|
|定義された期間内のトレンド値の最大値|[共通パラメータ](#common-parameters)参照|例:<br>=> **trendmax**(/host/key,**1h:now/h**) → 1時間前の最大値(例: 12:00-13:00)<br>=> **trendmax**(/host/key,**1h:now/h**) - **trendmin**(/host/key,**1h:now/h**) → 前の 1 時間 (12:00 ～ 13:00) の最大値と最小値の差 (トレンド デルタ) を計算します。<br>=> **trendmax**(/host/key,**1h:now/h-1h**) → 2 時間前の最大値(11:00-12:00)<br>=> **trendmax**(/host/key,**1h:now/h-2h**) → 3時間前の最大値 (10:00-11:00)<br>=> **trendmax**(/host/key,**1M:now/M-1y**) → 1年前の前月の最大値|
|**trendmin** (/host/key,time period:time shift)|<|<|
|定義された期間内のトレンド値の最小値|[共通パラメータ](#common-parameters)参照|例:<br>=> **trendmin**(/host/key,**1h:now/h**) → 1 時間前の最小値(例: 12:00-13:00)<br>=> **trendmin**(/host/key,**1h:now/h**) - **trendmin**(/host/key,**1h:now/h**) → 前の 1 時間の最大値と最小値の差 (トレンド デルタ) を計算する。 (12:00-13:00)<br>=> **trendmin**(/host/key,**1h:now/h-1h**) → 2時間前の最小値(11:00-12:00)<br>=> **trendmin**(/host/key,**1h:now/h-2h**) → 3時間前の最小値(10:00-11:00)<br>=> **trendmin**(/host/key,**1M:now/M-1y**) → 1 年前の前月の最小値|
|**trendstl** (/host/key,eval period:time shift,detection period,season,\<deviations\>,\<devalg\>,\<s_window\>)|<|<|
|検出期間中の異常の割合を返します - 0から1までの10進数値つまり`((異常値の数)/(値の総数))`|**eval period** - \<N>\<time unit> として定義された、分解する必要がある期間 (最小 '1h')<br>`N` - 時間単位数<br>`time unit` - h (時), d (日), w (週), M (月) or y (年).<br><br>[Time shift](/manual/config/triggers/expression#function-specific-parameters) - 期間オフセット(例を参照)<br><br>**detection period** - 異常が計算される評価期間の終了前の期間 (最小 '1h'、評価期間より長くすることはできません)。\<N>\<time unit> として定義されます。<br>`N` - 時間単位数<br>`time unit` - h (時), d (日), w (週).<br><br>**season** - 繰り返しパターン ("シーズン") が予想される最短期間 (最小'2h'、評価期間よりも長くすることはできません。評価期間のエントリ数は、結果の頻度 (シーズン/時間) の 2 倍よりも大きくする必要があります ))、\<N>\<時間単位> として定義<br>`N` - 時間単位数<br>`time unit` - h (時), d (日), w (週).<br><br>**deviations** - 異常としてカウントする偏差の数 (devalg で計算) (10 進数の場合もあります) (1 以上である必要があり、デフォルトは 3 です)<br><br>**devalg** (二重引用符で囲む必要があります) - 偏差アルゴリズム。*stddevpop*、*stddevsamp*、*mad* (デフォルト) のいずれか。<br><br>**s_window** - 季節抽出の黄土ウィンドウのスパン (ラグ) (デフォルトは 10 * 評価期間のエントリ数 + 1)|例:<br>=> **trendstl**(/host/key,**100h:now/h**,10h,2h) →  過去 100 時間の傾向データを分析し、<br>その期間の最後の 10 時間の異常率を見つけます。<br>周期が 2 時間であると予想します。<br>評価期間の残りの系列値は、次の場合に異常と見なされます。 それらは、残りの系列の MAD の 3 偏差の値に達します。<br>=> **trendstl**(/host/key,**100h:now/h-10h**,100h,2h,2.1,"mad") →  10 時間前までの 100 時間の傾向データの期間を分析し、<br>その期間全体の異常率を見つけます<br>周期性が 2 時間であると予想し、<br>評価期間の残りの系列値が考慮されます その残りの系列の MAD の 2,1 偏差の値に達した場合の異常<br>=> **trendstl**(/host/key,**100d:now/d-1d**,10d,1d,4,,10) → 1 日前までの 100 日間の傾向データを分析し、<br>その期間の最後の 10 日間の異常率を見つけます。<br>周期性が 1 日間であると予想します。<br>評価期間の残りの系列値 その残りの系列の MAD の 4 偏差の値に達した場合、異常と見なされます。<br>「10 * 評価期間のエントリ数 + 1」の季節抽出用の黄土ウィンドウのデフォルトのスパンを次のスパンでオーバーライドします。 10ラグ<br>=> **trendstl**(/host/key,**1M:now/M-1y**,1d,2h,,"stddevsamp") → 1 年前の前月を分析し、<br>その期間の最後の日の異常率を見つけます<br>周期性が 2 時間であると予想し、<br>評価期間の残りの系列値は、それらが その剰余系列のサンプル標準偏差の 3 偏差の値|
|**trendsum** (/host/key,time period:time shift)|<|<|
|定義された期間内のトレンド値の合計|[共通パラメータ](#common-parameters)参照|例:<br>=> **trendsum**(/host/key,**1h:now/h**) → 一時間前の合計 (例: 12:00-13:00)<br>=> **trendsum**(/host/key,**1h:now/h-1h**) → 二時間前の合計(11:00-12:00)<br>=> **trendsum**(/host/key,**1h:now/h-2h**) → 3時間前の合計(10:00-11:00)<br>=> **trendsum**(/host/key,**1M:now/M-1y**) → 1年前の前月の合計|

[comment]: # ({/dc039e52-7b557310})
