[comment]: # attributes: notoc

[comment]: # ({ea5e90a7-7da5ea1c})
# 4 履歴関数

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

-   [トリガー式](/manual/config/triggers/expression)
-   [計算アイテム](/manual/config/items/itemtypes/calculated)
-   [式マクロ](/manual/config/macros/expression_macros)

関数は追加情報なしで一覧表示されています。  
関数をクリックすると、詳細を確認できます。

|Function|Description|
|--|--------|
|[change](#change)|直前の値と最新の値の差分量。|
|[changecount](#changecount)|定義された評価期間内における隣接する値の間の変化回数。|
|[count](#count)|定義された評価期間内の値の数。|
|[countunique](#countunique)|定義された評価期間内の一意な値の数。|
|[find](#find)|定義された評価期間内で値の一致を検索。|
|[first](#first)|定義された評価期間内の最初の（最も古い）値。|
|[fuzzytime](#fuzzytime)|パッシブエージェントの時刻が Zabbix サーバー/プロキシ の時刻とどの程度異なるかを確認。|
|[last](#last)|最新の値。|
|[logeventid](#logeventid)|最後のログエントリのイベント ID が正規表現に一致するかを確認。|
|[logseverity](#logseverity)|最後のログエントリのログ重要度。|
|[logsource](#logsource)|最後のログエントリのログソースが正規表現に一致するかを確認。|
|[monodec](#monodec)|値が単調減少しているかを確認。|
|[monoinc](#monoinc)|値が単調増加しているかを確認。|
|[nodata](#nodata)|データが受信されていないことを確認。|
|[percentile](#percentile)|期間の P パーセンタイル値。P（パーセンテージ）は第3パラメータで指定します。|
|[rate](#rate)|定義された期間内において、単調増加するカウンターの増加量の1秒あたり平均レート。|

[comment]: # ({/ea5e90a7-7da5ea1c})

[comment]: # ({2310631d-4d343eb8})
##### 共通パラメータ

-   `/host/key` は、ホストのアイテム履歴を参照する関数に共通する必須の第1パラメータです
-   `(sec|#num)<:time shift>` は、ホストのアイテム履歴を参照する関数に共通する第2パラメータで、以下を意味します:
    -   **sec** - 秒単位の最大[評価期間](/manual/config/triggers#evaluation-period)（時間の[サフィックス](/manual/appendix/suffixes)を使用できます）、または
    -   **\#num** - 最新の収集値における最大[評価範囲](/manual/config/triggers#evaluation-period)（ハッシュ記号が前に付く場合）
    -   **time shift**（任意） - 評価時点を過去に移動できます。
    time shift の指定方法の詳細は、[こちら](/manual/config/triggers/expression#time-shift)を参照してください。

[comment]: # ({/2310631d-4d343eb8})

[comment]: # ({aa4e1bf6-8f3a0028})
### 関数の詳細

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

-   関数パラメータはカンマで区切ります
-   オプションの関数パラメータ（またはパラメータの一部）は `<` `>` で示されます
-   関数固有のパラメータは各関数ごとに説明されています
-   `/host/key` および `(sec|#num)<:time shift>` パラメータは、引用符で囲んではいけません

[comment]: # ({/aa4e1bf6-8f3a0028})

[comment]: # ({1f93c729-4afc9a02})
##### change(/host/key) {#change}

直前の値と最新の値の差分量です。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。<br>
文字列の場合の戻り値: 0 - 値が等しい; 1 - 値が異なる。

パラメータ: [共通パラメータ](#common-parameters)を参照してください。

コメント:

-   数値の差分は、以下の受信した値の例のように計算されます（「直前」の値と「最新」の値 = 差分）:<br>'1' と '5' = `+4`<br>'3' と '1' = `-2`<br>'0' と '-2.5' = `-2.5`。<br>
-   比較については、[abs](/manual/appendix/functions/math#abs)も参照してください。

例:

```default
change(/host/system.uptime)<0 #system uptime change has been negative since the last value (indicating a reboot)
change(/host/system.cpu.load[all,avg1])>2 #CPU load (for one minute) has jumped by more than 2 since the last value
change(/host/vfs.fs.size[/,free])<-1G #free disk space has dropped by more than 1 GB between checks
```

[comment]: # ({/1f93c729-4afc9a02})

[comment]: # ({56cecc56-57458a90})
##### changecount(/host/key,(sec|#num)<:time shift>,<mode>) {#changecount}

定義された評価期間内における、隣接する値同士の変化回数。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照<br>
-   **mode**（二重引用符で囲む必要があります） - 指定可能な値: *all* - すべての変化をカウント（デフォルト）; *dec* - 減少をカウント; *inc* - 増加をカウント

数値以外の値の型では、*mode* パラメータは無視されます。

例:

```default
changecount(/host/icmpping,10m)>5 #ping status has changed more than 5 times in 10 minutes
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 #operational state of eth0 has changed more than 5 times in an hour
changecount(/host/proc.num[httpd],15m)>10 #the number of httpd processes has changed more than 10 times in 15 minutes
changecount(/host/key,#10,"inc") #the number of value increases (relative to the adjacent value) among the last 10 values
changecount(/host/key,24h,"dec") #the number of value decreases (relative to the adjacent value) for the last 24 hours until now
```

[comment]: # ({/56cecc56-57458a90})

[comment]: # ({1f9dc9af-f9ce5dd9})
##### count(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#count}

定義された評価期間内の値の数です。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください<br>
-   **operator**（二重引用符で囲む必要があります）
サポートされる`operators`:<br>*eq* - 等しい（integer、float のデフォルト）<br>*ne* - 等しくない<br>*gt* - より大きい<br>*ge* - 以上<br>*lt* - より小さい<br>*le* - 以下<br>*like*（string、text、log のデフォルト） - パターンを含む場合に一致（大文字・小文字を区別）<br>*bitand* - ビット単位AND<br>*regexp* - `pattern` で指定された正規表現に大文字・小文字を区別して一致<br>*iregexp* - `pattern` で指定された正規表現に大文字・小文字を区別せず一致<br>
-   **pattern** - 必要なパターン（文字列引数は二重引用符で囲む必要があります）

コメント:

-   Floatアイテムは 2.22e-16 の精度で一致判定されます。
-   integer 値では、*like* は operator としてサポートされません。
-   float 値では、*like* および *bitand* は operator としてサポートされません。
-   string、text、log 値では、*eq*、*ne*、*like*、*regexp*、*iregexp* の各 operator のみがサポートされます。
-   operator に *bitand* を使用する場合、4 番目の `pattern` パラメータは **number_to_compare_with/mask** の形式で、'/' で区切られた 2 つの数値として指定できます。
count() は値と *mask* の「ビット単位AND」を計算し、その結果を *number_to_compare_with* と比較します。
「ビット単位AND」の結果が *number_to_compare_with* と等しい場合、その値はカウントされます。<br>*number_to_compare_with* と *mask* が等しい場合は、*mask* のみを指定できます（'/' は不要です）。
-   operator に *regexp* または *iregexp* を使用する場合、4 番目の `pattern` パラメータには通常の正規表現、または [グローバル](/manual/regular_expressions#global-regular-expressions)（'@' で始まる）正規表現を指定できます。
グローバル正規表現の場合、大文字・小文字の区別はグローバル正規表現の設定から継承されます。
regexp マッチングのために、float 値は常に '.' の後に 4 桁の小数を持つ形式で表現されます。
また、大きな数値では 10 進表現（データベースに保存）と 2 進表現（Zabbix server が使用）の違いにより、4 桁目の小数に影響する場合があることにも注意してください。

例:

```default
count(/host/icmpping,30m,,"0")>5 #ping has failed more than 5 times in 30 minutes
count(/host/key,10m,"like","error") #the number of values for the last 10 minutes until now that contain 'error'
count(/host/key,10m,,12) #the number of values for the last 10 minutes until now that equal '12'
count(/host/key,10m,"gt",12) #the number of values for the last 10 minutes until now that are over '12'
count(/host/key,#10,"gt",12) #the number of values within the last 10 values until now that are over '12'
count(/host/key,10m:now-1d,"gt",12) #the number of values between 24 hours and 10 minutes and 24 hours ago from now that were over '12'
count(/host/key,10m,"bitand","6/7") #the number of values for the last 10 minutes until now having '110' (in binary) in the 3 least significant bits
count(/host/key,10m:now-1d) #the number of values between 24 hours and 10 minutes and 24 hours ago from now
```

[comment]: # ({/1f9dc9af-f9ce5dd9})

[comment]: # ({ab6b4d74-bf8dc20c})
##### countunique(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#countunique}

定義された評価期間内の一意な値の数。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照<br>
-   **operator**（二重引用符で囲む必要があります）。
サポートされる`operator`:<br>*eq* - 等しい（integer、float のデフォルト）<br>*ne* - 等しくない<br>*gt* - より大きい<br>*ge* - 以上<br>*lt* - より小さい<br>*le* - 以下<br>*like*（string、text、log のデフォルト） - パターンを含む場合に一致（大文字・小文字を区別）<br>*bitand* - ビット単位AND<br>*regexp* - `pattern` で指定された正規表現に大文字・小文字を区別して一致<br>*iregexp* - `pattern` で指定された正規表現に大文字・小文字を区別せず一致<br>
-   **pattern** - 必要なパターン（文字列引数は二重引用符で囲む必要があります）

コメント:

-   Floatアイテムは 2.22e-16 の精度で一致します。
-   integer 値では、*like* は operator としてサポートされません。
-   float 値では、*like* と *bitand* は operator としてサポートされません。
-   string、text、log 値では、*eq*、*ne*、*like*、*regexp*、*iregexp* の operator のみがサポートされます。
-   operator に *bitand* を使用する場合、4番目の `pattern` パラメータは '/' で区切られた 2 つの数値、**number_to_compare_with/mask** として指定できます。countunique() は値と *mask* の「ビット単位AND」を計算し、その結果を *number_to_compare_with* と比較します。
「ビット単位AND」の結果が *number_to_compare_with* と等しい場合、その値はカウントされます。<br>*number_to_compare_with* と *mask* が等しい場合は、*mask* のみを指定できます（'/' は不要）。
-   operator に *regexp* または *iregexp* を使用する場合、4番目の `pattern` パラメータには通常の正規表現、または [グローバル](/manual/regular_expressions#global-regular-expressions)（'@' で始まる）正規表現を指定できます。
グローバル正規表現の場合、大文字・小文字の区別はグローバル正規表現の設定を継承します。
regexp 一致のために、float 値は常に '.' の後に小数点以下 4 桁で表現されます。
また、大きな数値では 10 進表現（データベースに保存）と 2 進表現（Zabbix server が使用）の違いにより、小数点以下 4 桁目に影響する場合があることにも注意してください。

例:

```default
countunique(/host/key,10m) #現在までの直近10分間の一意な値の数
countunique(/host/key,10m,"like","error") #現在までの直近10分間で 'error' を含む一意な値の数
countunique(/host/key,10m,,12) #現在までの直近10分間で '12' に等しい一意な値の数
countunique(/host/key,10m,"gt",12) #現在までの直近10分間で '12' を超える一意な値の数
countunique(/host/key,#10,"gt",12) #現在までの直近10個の値の範囲内で '12' を超える一意な値の数
countunique(/host/key,10m:now-1d,"gt",12) #現在から24時間前の時点における、その10分前から24時間前までの間で '12' を超えていた一意な値の数
countunique(/host/key,10m,"bitand","6/7") #現在までの直近10分間で、下位3ビットに '110'（2進数）を持つ一意な値の数
countunique(/host/key,10m:now-1d) #現在から24時間前の時点における、その10分前から24時間前までの間の一意な値の数
```

[comment]: # ({/ab6b4d74-bf8dc20c})

[comment]: # ({9bb9907e-148d7d16})
##### find(/host/key,(sec|#num)<:time shift>,<operator>,<pattern>) {#find}

定義された評価期間内で一致する値を検索します。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。<br>
戻り値: 1 - 見つかった場合; 0 - それ以外。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照<br>
-   **sec** または **#num** (任意) - 指定しない場合は最新の値がデフォルトになります
-   **operator** (二重引用符で囲む必要があります)
サポートされる`operator`:<br>*eq* - 等しい (integer, float のデフォルト)<br>*ne* - 等しくない<br>*gt* - より大きい<br>*ge* - 以上<br>*lt* - より小さい<br>*le* - 以下<br>*like* (string, text, log のデフォルト) - `pattern` で指定された文字列を含む場合に一致します (大文字・小文字を区別)<br>*bitand* - ビット単位AND<br>*regexp* - `pattern` で指定された正規表現に大文字・小文字を区別して一致<br>*iregexp* - `pattern` で指定された正規表現に大文字・小文字を区別せずに一致<br>
-   **pattern** - 必要なパターン (文字列引数は二重引用符で囲む必要があります); `operator` が *regexp*, *iregexp* の場合は [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) 正規表現

コメント:

-   複数の値が処理される場合、一致する値が少なくとも1つあれば '1' が返されます。
-   integer 値では *like* は operator としてサポートされません。
-   float 値では *like* および *bitand* は operator としてサポートされません。
-   string、text、log 値では *eq*、*ne*、*like*、*regexp*、*iregexp* の各 operator のみがサポートされます。
-   operator として *regexp* または *iregexp* を使用する場合、4番目の `pattern` パラメータには通常の正規表現または[グローバル](/manual/regular_expressions#global-regular-expressions) (先頭が '@') 正規表現を指定できます。
グローバル正規表現の場合、大文字・小文字の区別はグローバル正規表現の設定から継承されます。

例:

```default
find(/host/key,10m,"like","error") #現在までの直近10分間で 'error' を含む値を検索
find(/host/agent.version,,"like","beta")=1 #Zabbix エージェントがベータ版であり、アップグレードが必要
find(/host/log[/var/log/nginx/access.log],,"regexp"," 500 ")=1 #内部Webサーバーエラーが見つかった
```

[comment]: # ({/9bb9907e-148d7d16})

[comment]: # ({86057069-0ae5f587})
##### first(/host/key,sec<:time shift>) {#first}

定義された評価期間内の最初の（最も古い）値です。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください

[last()](#last)も参照してください。

例:

```default
first(/host/key,1h) #現在までの直近1時間内で最も古い値を取得
```

[comment]: # ({/86057069-0ae5f587})

[comment]: # ({96c1f032-1c3609f8})
##### fuzzytime(/host/key,sec) {#fuzzytime}

パッシブエージェントの時刻が、Zabbixサーバー/プロキシの時刻とどの程度異なるかを確認します。<br>
サポートされる値の型: *Float*, *Integer*。<br>
戻り値: 1 - パッシブアイテムの値（タイムスタンプとして）が Zabbixサーバー/プロキシのタイムスタンプ（値収集時の時刻）との差分が *sec* 秒以下である場合。0 - それ以外。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください。

コメント:

-   通常、ローカル時刻が Zabbixサーバー のローカル時刻と同期していることを確認するために、'system.localtime' アイテムとともに使用されます。
*注意*: Zabbixエージェントでは、'system.localtime' は [パッシブチェック](/manual/appendix/items/activepassive#passive-checks) として設定する必要があります。Zabbixエージェント 2 では、アクティブチェックとして設定することもできます。
-   `vfs.file.time[/path/file,modify]` キーとともに使用して、ファイルが長時間更新されていないことを確認することもできます。
-   この関数は、複雑なトリガー条件式（複数のアイテムが関係するもの）での使用は推奨されません。予期しない結果を引き起こす可能性があるためです（時刻差は最新のメトリクスで測定されます）。例えば、`fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0`。

例:

```default
fuzzytime(/host/system.localtime,5m)=0 #クライアントのローカル時刻が Zabbixサーバー/プロキシの時刻と 5 分を超えて異なる
fuzzytime(/host/system.localtime,5m)=0 and nodata(/host/system.localtime,10m)=0 #クライアントのローカル時刻が Zabbixサーバー/プロキシの時刻と 5 分を超えて異なる（アイテムがデータ送信を停止していないことも確認）
```

[comment]: # ({/96c1f032-1c3609f8})

[comment]: # ({fc04e088-8059d345})
##### last(/host/key,<#num<:time shift>>) {#last}

最新の値。<br>
サポートされる値の型: *Float*, *Integer*, *String*, *Text*, *Log*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください<br>
-   **#num** (オプション) - N番目に新しい値

コメント:

-   ハッシュタグ付きの期間 (#N) は、ここでは他の多くの関数とは異なる動作をすることに注意してください。
例えば、`last(/host/key)` は常に `last(/host/key,#1)` と等しくなります。`last(/host/key,#3)` は3番目に新しい値です（直近3つの値では*ありません*）。
-   履歴内で1秒以内に2つを超える値が存在する場合、Zabbixは値の正確な順序を保証しません。
-   [first()](#first)も参照してください。

例:

```default
last(/host/key) #最後の値を取得
last(/host/key,#2) #1つ前の値を取得
last(/host/key,#1) <> last(/host/key,#2) #最後の値と1つ前の値が異なる
```

[comment]: # ({/fc04e088-8059d345})

[comment]: # ({5cecd78d-ff5dcd5e})
##### logeventid(/host/key,<#num<:time shift>>,<pattern>) {#logeventid}

最後のログエントリのイベントIDが正規表現に一致するかを確認します。<br>
サポートされる値の型: *Log*。<br>
戻り値: 0 - 一致しない; 1 - 一致する。

パラメーター: 

-   [共通パラメーター](#common-parameters)を参照<br>
-   **#num** (任意) - 直近から N 番目の値<br>
-   **pattern** (任意) - 必要なパターンを表す正規表現。 [Perl Compatible Regular Expression](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) 形式（文字列引数は二重引用符で囲む必要があります）

例:

```default
logeventid(/host/eventlog[Security],,"^4625$")=1 #ID が "4625" に一致するログエントリ（認証失敗）が見つかった
logeventid(/host/eventlog[System],,"^(6008|41)$")=1 #ID が "6008" または "41" に一致するログエントリが見つかった
```

[comment]: # ({/5cecd78d-ff5dcd5e})

[comment]: # ({d3497d35-5053b990})
##### logseverity(/host/key,<#num<:time shift>>) {#logseverity}

直近のログエントリのログ重大度。<br>
サポートされる値の型: *Log*。<br>
戻り値: 0 - デフォルトの重大度、N - 重大度（整数。Windowsイベントログで有用: 1 - Information、2 - Warning、4 - Error、7 - Failure Audit、8 - Success Audit、9 - Critical、10 - Verbose）。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照<br>
-   **#num**（任意） - 新しいものから数えてN番目の値

Zabbixは、Windowsイベントログの**Information**フィールドからログ重大度を取得します。

例:

```default
logseverity(/host/log[/var/log/syslog],10m)>3 #a log entry with severity above "3" found
logseverity(/host/eventlog[System],10m)=4 #a log entry with severity equaling "Error" found
```

[comment]: # ({/d3497d35-5053b990})

[comment]: # ({b33d7f55-a9148f5c})
##### logsource(/host/key,<#num<:time shift>>,<pattern>) {#logsource}

最後のログエントリのログソースが正規表現に一致するかどうかを確認します。<br>
サポートされる値の型: *Log*。<br>
戻り値: 0 - 一致しない; 1 - 一致する。

パラメーター: 

-   [共通パラメーター](#common-parameters)を参照<br>
-   **#num** (任意) - N番目に新しい値<br>
-   **pattern** (任意) - 必要なパターンを表す正規表現。 [Perl互換正規表現](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions) (PCRE) 形式（文字列引数は二重引用符で囲む必要があります）

通常、Windows のイベントログで使用されます。

例:

```default
logsource(/host/eventlog[Application],,"MSSQLSERVER")=1 #ソースが "MSSQLSERVER" に一致するログエントリが見つかった
logsource(/host/eventlog[System],,"Service Control Manager")=1 #ソースが "Service Control Manager" に一致するログエントリが見つかった
logsource(/host/eventlog[System],,"Service Control Manager")=1 and logeventid(/host/eventlog[System],,"^7031$")=1 #ソースが "Service Control Manager" に一致し、イベント ID が "7031" に一致するログエントリが見つかった
```

[comment]: # ({/b33d7f55-a9148f5c})

[comment]: # ({2b7441d8-6a63b5c8})
##### monodec(/host/key,(sec|#num)<:time shift>,<mode>) {#monodec}

値が単調に減少しているかどうかを確認します。<br>
サポートされる値の型: *Integer*。<br>
戻り値: 1 - 期間内のすべての要素が連続して減少している場合; 0 - それ以外。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください<br>
-   **mode** (二重引用符で囲む必要があります) - *weak* (各値が直前の値以下である; デフォルト) または *strict* (各値が減少している)

例:

```default
monodec(/host/system.swap.size[all,free],60s) + monodec(/host2/system.swap.size[all,free],60s) + monodec(/host3/system.swap.size[all,free],60s) #空きスワップサイズの減少が発生したホスト数を計算
monodec(/host/proc.num[nginx],10m,"strict")=1 #nginxプロセス数が10分間にわたって単調に減少している
```

[comment]: # ({/2b7441d8-6a63b5c8})

[comment]: # ({09e06757-755c1821})
##### monoinc(/host/key,(sec|#num)<:time shift>,<mode>) {#monoinc}

値が単調増加しているかどうかを確認します。<br>
サポートされる値の型: *Integer*。<br>
戻り値: 1 - 期間内のすべての要素が継続的に増加している場合; 0 - それ以外。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください<br>
-   **mode**（二重引用符で囲む必要があります） - *weak*（各値が直前の値以上である; デフォルト）または *strict*（各値が増加している）

例:

```default
monoinc(/host/system.localtime,#3,"strict")=0 #the system local time has not been increasing consistently
monoinc(/host/vfs.dir.count[/mnt/data/logs],24h,"weak")=0 #trigger if the file count has stagnated over 24 hours (expected to grow)
```

[comment]: # ({/09e06757-755c1821})

[comment]: # ({ce0040c4-178e3950})
##### nodata(/host/key,sec,<mode>) {#nodata}

データが受信されていないことを確認します。<br>
サポートされる値の型: *Integer*, *Float*, *Character*, *Text*, *Log*。<br>
戻り値: 1 - 定義された期間中にデータが受信されなかった場合; 0 - それ以外。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照<br>
-   **sec** - history syncerプロセスはこの関数を30秒ごとにしか計算しないため、期間は30秒未満にできません。`nodata(/host/key,0)` は許可されていません
-   **mode** - *strict*（二重引用符付き）に設定すると、この関数はプロキシの可用性の影響を受けなくなります（詳細はコメントを参照）

コメント:

-   プロキシによって監視される 'nodata' トリガーは、デフォルトでプロキシの可用性の影響を受けます。プロキシが利用不可になった場合、接続が復旧した直後に 'nodata' トリガーは発火せず、遅延した期間のデータをスキップします。
パッシブプロキシでは、接続が2秒以上かつ15秒超後に復旧した場合に抑制が有効になります。
アクティブプロキシでは、接続が15秒超後に復旧した場合に抑制が有効になります。
プロキシの可用性の影響を無効にするには、3番目のパラメータを使用します。例: `nodata(/host/key,5m,"strict")`; この場合、データがない評価期間（5分）が経過するとすぐにこの関数は発火します。<br>
-   この関数は、1番目のパラメータで指定された期間内に以下のいずれかに該当する場合、エラーを表示します:<br>- データがなく、Zabbixサーバーが再起動された<br>- データがなく、メンテナンスが完了した<br>- データがなく、アイテムが追加または再度有効化された。<br>
-   エラーはトリガーの[設定](/manual/web_interface/frontend_sections/data_collection/hosts/triggers)の *Info* 列に表示されます。<br>
-   Zabbixサーバー、プロキシ、エージェントの間に時刻のずれがある場合、この関数は正しく動作しない可能性があります。
関連項目: [時刻同期の要件](/manual/installation/requirements#time-synchronization)。

例:

```default
nodata(/host/agent.ping,5m)=1 #Zabbixエージェントから5分間データを受信していない場合にトリガー
```

[comment]: # ({/ce0040c4-178e3950})

[comment]: # ({8fe0ae58-e8041c00})
##### percentile(/host/key,(sec|#num)<:time shift>,percentage) {#percentile}

期間のPパーセンタイル値です。P（percentage）は3番目のパラメータで指定します。<br>
サポートされる値の型: *Float*, *Integer*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください<br>
-   **percentage** - 0から100まで（両端を含む）の浮動小数点数。小数点以下は最大4桁まで指定できます

例:

```default
percentile(/host/net.if.in[eth0,bytes],1h,95)>1000000 #1時間におけるネットワーク受信量（bytes/sec）の95パーセンタイル値がしきい値（例: 1 MB/s）を超えている
percentile(/host/system.cpu.util,5m,95)>80 #CPU使用率のユーザー時間パーセンテージの95パーセンタイル値が80を超えている
percentile(/host/icmppingsec[192.168.0.2],15m,95)>0.15 #ほとんどのレイテンシ測定値は150ミリ秒未満だが、高い側の裾（上位5%）は定常的な遅延を示している
percentile(/host/net.if.in[eth0,bytes],1h,50) #1時間の受信ネットワークトラフィックの50パーセンタイル値（中央値）を計算する。percentileは外れ値を考慮しないため、avg()（平均値）とは異なる結果になる
(percentile(/host/net.if.in[eth0,bytes],1h,50)+percentile(/host/net.if.in[eth0,bytes],1h,51))/2 #1時間において値の数が偶数の場合の正確な中央値を計算する
```

[comment]: # ({/8fe0ae58-e8041c00})

[comment]: # ({0e6c5369-3b1de601})
##### rate(/host/key,sec<:time shift>) {#rate}

定義された期間内における、単調増加するカウンターの増加量の1秒あたりの平均レートです。<br>
サポートされる値の型: *Float*, *Integer*。

パラメータ: 

-   [共通パラメータ](#common-parameters)を参照してください

機能的には、PromQL の '[rate](https://prometheus.io/docs/prometheus/latest/querying/functions/#rate)' に対応します。

例:

```default
rate(/host/key,30s) #30秒間の単調増加量が20の場合、この関数は0.67を返します。
rate(/host/net.if.in[eth0,bytes],5m)>500000 #過去5分間における eth0 の受信インターフェーストラフィックのレートが 500 KB/s を超えています
rate(/host/app.requests.count,1m)>100 #直近1分間で、リクエスト数カウンターが1秒あたり100リクエストを超えて増加しています
```

[comment]: # ({/0e6c5369-3b1de601})

[comment]: # ({ba59dd3a-ce01d749})

[サポートされているすべての関数](/manual/appendix/functions)を参照してください。

[comment]: # ({/ba59dd3a-ce01d749})
