This is a translation of the original English documentation page. Help us make it better.

4 ヒストリ関数

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

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

  • 関数パラメータはコンマで区切られます。
  • オプションの関数パラメーター (またはパラメーター部分) は < > で示されます
  • 機能固有のパラメーターは、各機能で説明されています
  • /host/key(sec|#num)<:time shift> はパラメータを引用符で囲んではいけません
共通パラメータ
  • /host/key はホストアイテムの履歴を参照する関数の一般的なパラメーターの一つ目です。必須です。
  • (sec|#num)<:time shift> は、ホストのアイテム履歴を参照する関数の一般的なパラメーターの二つ目です。
    • sec - 秒単位の最大評価期間 (タイムサフィックス を使用できます) または
    • #num - 最新の収集値の最大評価範囲 (先頭にハッシュ マークがある場合)
    • time shift (オプション) 評価ポイントを時間内に戻すことができます。 時間シフトの指定については詳細を参照してください。

ヒストリ関数

関数
説明 関数固有のパラメーター コメント
change (/host/key)
前の値と最新値の差量 サポートされている値の型: float,int,str,text,log

文字列の戻り値:
0 - 値が等しい
1 - 値が異なる

例:
= > change(/host/key)>10

これらの入力例の値で見られるように、数値の差が計算されます ('前'と'最新'の値 = 差):
'1'および'5'=+4
'3'および'1' = -2
'0' および '-2.5' = -2.5

比較のためにabsも参照してください。
changecount (/host/key,(sec|#num)<:time shift>,<mode>)
評価期間内の隣接する値間の変更数 共通パラメータを参照してください。

mode (省略可能。二重引用符で囲む必要があります)

サポートされているmodes:
all - すべての変更をカウントします (デフォルト)
dec - 減少回数をカウントします
inc - 増加回数をカウントします
サポートされている値の型: float,int,str,text,log

非数値型の場合 mode パラメータは無視されます。

例:
=> **changecount* *(/host/key, 1w) → 先週からまでの値の変更数
=> changecount(/host/key,# 10,"inc") → 最後の 10 個の値の中で (隣接する値と比較して) 値が増加する数
=> changecount(/host/key,24h,"dec") → 24時間前からまで(隣接する値に相対的)値が減少する回数
count (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
定義された評価期間内の値の数 共通パラメータ を参照してください。

operator (オプション。二重引用符で囲む必要があります)

サポートされているoperator:
eq - 等しい (デフォルト)
ne - 等しくない
gt - 大きい
ge - 以上
lt - 小さい
le - 以下
like - パターンが含まれている場合に一致 (大文字と小文字を区別)
bitand - ビットごとの AND
regexp - patternで指定された正規表現の大文字と小文字を区別する一致
iregexp - patternで指定された正規表現の大文字と小文字を区別しない一致

pattern (オプション) - 必要なパターン (文字列引数は二重引用符で囲む必要があります)
サポートされている値の型: float,integer,string,text,log

float 項目は 2.22e-16 の精度に一致します。データベースが アップグレードされていない 場合、精度は 0.000001 です。

3 番目のパラメータとして bitand を使用すると、 4 番目の pattern パラメータは'/'で区切られた 2 つの数字として指定できます: number_to_compare_with/mask。 count() は値と マスク から"ビットごとの AND"を計算し、結果を number_to_compare_with と比較します。 "ビット単位の AND"の結果が number_to_compare_with と等しい場合、値がカウントされます。
number_to_compare_withmask が等しい場合、mask を指定する必要があります ('/' なし)。 global_regular_expressions) ('@'で始まる) 正規表現。グローバル正規表現の場合、大文字と小文字の区別はグローバル正規表現設定から継承されます。 regexp マッチングの目的で、float 値は常に'.'の後に 4 桁の 10 進数で表されます。また10 進数 (データベースに保存) と 2 進数 (Zabbix サーバーで使用) の表現の違いが大きい場合、10 進数の 4 桁目に影響する可能性があることに注意してください。

例:
=> count(/ host/key,10m) → [今]までの過去 10 分間の値の数(/manual/config/triggers#evaluation_period)
=> count(/host/key,* 10m,"like","error") → 現在 までの過去 10 分間に「エラー」を含む値の数
=>
count
(/host/key,10m,,12) → 現在 までの過去 10 分間の値のうち、'12' に等しい値の数
=>
*count(/host/key,10m,"gt",12) → 現在 までの過去 10 分間の '12 を超える値の数'
=>
count(/host/key,#10,"gt",12) → が '12' を超えている
=>
count(/host/key,10m:now-1d,"gt" ,12) → 現在 から 24 時間前と 10 分前の値のうち、'12' を超えた値の数
=>
count(/host /key,10m,"bitand","6/7") → 現在 が「110」になるまでの過去 10 分間の値の数 (バイナリ)
=>
count(/host/key,10m:now-1d**) → 今から 24 時間前と 10 分前の値の数
countunique (/host/key,(sec|#num)<:time shift>,<operator>,<pattern>)
評価期間内の一意の値の数 共通パラメータ を参照してください。

operator (オプション。二重引用符で囲む必要があります)

サポートされているoperator:
eq - 等しい (デフォルト)
ne - 等しくない
gt - 大きい
ge - 以上
lt - 小さい
le - 以下
like - パターンが含まれている場合に一致 (大文字と小文字を区別)
bitand - ビットごとの AND
regexp - patternで指定された正規表現の大文字と小文字を区別する一致
iregexp - patternで指定された正規表現の大文字と小文字を区別しない一致

pattern (オプション) - 必要なパターン (文字列引数は二重引用符で囲む必要があります)
サポートされている値の型: float,integer,string,text,log

float 項目は 2.22e-16 の精度に一致します。データベースが アップグレードされていない 場合、精度は 0.000001 です。

3 番目のパラメータとして bitand を使用すると、 4 番目の pattern パラメータは'/' で区切られた 2 つの数字として指定できます: number_to_compare_with/mask count() は値と マスク から"ビットごとの AND"を計算し、結果を number_to_compare_with と比較します。"ビット単位の AND"の結果が number_to_compare_with と等しい場合、値がカウントされます。
number_to_compare_withmask が等しい場合、mask を指定する必要があります ('/' なし)。 global_regular_expressions) ('@'で始まる) 正規表現。グローバル正規表現の場合、大文字と小文字の区別はグローバル正規表現設定から継承されます。 regexp マッチングの目的で、float 値は常に「.」の後に 4 桁の 10 進数で表されます。また、大きな数値の場合、10 進数 (データベースに保存) と 2 進数 (Zabbix サーバーで使用) の表現の違いが、10 進数の 4 桁目に影響する可能性があることに注意してください。

例:
=> countunique(/ host/key,10m) → までの過去 10 分間の一意の値の数
=> countunique(/host/key, 10m,"like","error") → 現在 までの過去 10 分間に「エラー」を含む一意の値の数
=> ** countunique(/host/key,10m,"gt",12) → 現在 までの過去 10 分間で '12 を超える一意の値の数'
=>
countunique(/host/key,#10,"gt",12) → 現在 までの最後の 10 個の値内の一意の値の数/triggers#evaluation_period) that are over '12'
=>
countunique(/host/key,10m:now-1d,"gt",12) → 24 の間の一意の値の数[今] から 24 時間前 10 分 (/man ual/config/triggers#evaluation_period) that were over '12'
=>
countunique(/host/key,10m,"bitand","6/7") → ユニーク数現在 までの最後の 10 分間の値は、最下位 3 ビットが (バイナリで) '110' になります。
=>
countunique(/host/key ,10m:now-1d**) → から24時間前と 10 分と 24 時間前の一意の値の数
find (/host/key,<(sec|#num)<:time shift>>,<operator>,<pattern>)
一致する値を見つける 共通パラメータ を参照してください。

sec または #num (オプション) - 指定しない場合、デフォルトで最新の値になります

operator (オプション。二重引用符で囲む必要があります)

サポートされている「演算子」:
eq - 等しい (デフォルト)
ne - 等しくない
gt - 大きい
ge - 以上
lt - 少ない
le - 以下
like - 値には pattern で指定された文字列が含まれます (大文字と小文字が区別されます)
bitand - ビットごとの AND
regexp - pattern で指定された正規表現の大文字と小文字を区別する一致
iregexp - pattern で指定された正規表現の大文字と小文字を区別しない一致

pattern - 必要なパターン (文字列引数は二重引用符で囲む必要があります)。Perl 互換正規表現 (PCRE) operatorregexp, iregexp の場合の正規表現。
サポートされている値の型: float,int,str,text,log

戻り値:
1 - 見つかりました
0 - それ以外

複数の値が処理された場合、一致する値が少なくとも 1 つあれば'1'が返されます。

3 番目のパラメータとして regexp または iregexp を使用すると、4 番目の pattern パラメータは通常の正規表現または グローバル ('@' で始まる) 正規表現にすることができます。グローバル正規表現の場合、大文字と小文字の区別はグローバル正規表現設定から継承されます。

例:
=> find(/host/key,10m,"like","error") → now
first (/host/key,sec<:time shift>)
評価期間内の最初の (最も古い) 値 共通パラメータ 参照 サポートされている値の型: float,int,str,text,log

例:
=> first(/host/key,1h) → 1 時間から までで最も古い値を取得します。

last() も参照してください。
fuzzytime (/host/key,sec)
パッシブエージェントの時間と Zabbix サーバー/プロキシの時間との差を確認します 共通パラメータ参照 サポートされている値の型: float,int

戻り値:
1 - パッシブアイテムの値 (タイムスタンプとして) と Zabbix サーバー/プロキシのタイムスタンプ (値収集のクロック) の差は T 秒以下です
0 - それ以外

通常では'system.localtime'アイテムと一緒に使用して、現地時間が Zabbix サーバーの現地時間と同期していることを確認します。 'system.localtime'は パッシブ チェック として設定する必要があります。
vfs.file.time[/path/file,modify] キーと一緒に使用して、ファイルが長時間更新されていないことを確認することもできます。

例:
=> fuzzytime(/host/key,60s)=0 → 時差が 60 秒以上あれば問題を検出

この関数を複雑なトリガー式 (複数の項目が関係する) で使用することはお勧めしません。例:fuzzytime(/Host/system.localtime,60s)=0 or last(/Host/trap)<>0
last (/host/key,<#num<:time shift>>)
最新の値 共通パラメータ参照

#num (オプション) - N 番目に新しい値
サポートされている値の型: float,int,str,text,log

ハッシュタグ付きの期間 (#N) は、ここでは他の多くの機能とは異なる働きをすることに注意してください。
例:
last() は常に last(#1)
last(#3) - 3 番目に新しい値 (*最新の 3 つの値ではありません)

履歴の 1 秒間に 2 つ以上の値が存在する場合、Zabbix は値の正確な順序を保証しません。

例:
=> last(/host/key) → 最後の値を取得
=> last(/host/key,#2) → 前の値を取得
=> last(/host/key,#1) <> last(/host/key,#2) → 最後と前の 値が異なる

first()も参照
logeventid (/host/key,<#num<:time shift>>,<pattern>)
最後のログ エントリのイベント ID が正規表現と一致するか 共通パラメータ を参照してください。

#num (オプション) - N 番目に新しい値

pattern (オプション) - 必要なパターンを記述する正規表現、Perl 互換正規表現 (PCRE) スタイル (文字列引数) 二重引用符で囲む必要があります)
サポートされている値の種類: log

戻り値:
0 - 一致しません
1 - マッチ
logseverity (/host/key,<#num<:time shift>>)
最後のログエントリの重大度
0 - デフォルトの重大度
N - 重大度 (整数、Windowsイベントログに役立ちます: 1 - 情報, 2 - 警告, 4 - エラー, 7 - 監査失敗, 8 - 監査成功, 9 - クリティカル, 10 - 詳細)
Zabbix は、Windows イベント ログの Information フィールドからログの重大度を取得します。
logsource (/host/key,<#num<:time shift>>,<pattern>)
最後のログ エントリのログ ソースが正規表現と一致するか 共通パラメータ を参照してください。

#num (オプション) - N 番目に新しい値

pattern (オプション) - 必要なパターンを記述する正規表現、Perl 互換正規表現 (PCRE) スタイル (文字列引数) 二重引用符で囲む必要があります)
サポートされている値の種類: log

戻り値:
0 - 一致しない
1 - 一致する

通常、Windows イベント ログに使用されます。 例:logsource("VMware Server")
monodec (/host/key,(sec|#num)<:time shift>,<mode>)
値が単調減少しているか 共通パラメータ 参照

mode (二重引用符で囲む必要があります) - weak (すべての値が前の値より小さいか同じ。デフォルト) または strict (すべての値が減少)
サポートされている値の型: int

期間内のすべての要素が継続的に減少する場合は 1 を返し、それ以外の場合は 0 を返します。

例:
=> monodec(/Host1/system. swap.size[all,free],60s) + monodec(/Host2/system.swap.size[all,free],60s) + monodec (/Host3/system.swap.size[all,free],60s) - 空きスワップ サイズが減少したホストの数を計算します
monoinc (/host/key,(sec|#num)<:time shift>,<mode>)
値が単調増加しているか 共通パラメータ参照

mode (二重引用符で囲む必要があります) - weak (すべての値が前のものよりも大きいか同じ。デフォルト) または strict (すべての値が増加)
サポートされている値の型: int

期間内のすべての要素が継続的に増加する場合は 1 を返し、それ以外の場合は 0 を返します。

例:
=>monoinc(/Host1/system.localtime,#3,"strict")=0 - システムのローカル時間が一貫して増加しているかどうかを確認
nodata (/host/key,sec,<mode>)
データが受信されていないか 共通パラメータ 参照

間隔は 30 秒未満にしないでください。これは、履歴同期プロセスがこの関数を 30 秒ごとに計算するためです。

nodata(/host/key,0) は許可されていません。

mode - strict (二重引用符) に設定すると、この関数はプロキシの可用性に影響されなくなります (詳細についてはコメントを参照してください)
すべての値の型がサポートされています。

戻り値:
1 - 定義された期間中にデータが受信されなかった場合
0 - それ以外

Zabbix 5.0以降、プロキシによって監視される'nodata'トリガーは、デフォルトで、プロキシの可用性に敏感です。プロキシが利用できなくなった場合、'nodata'トリガーは、接続が復元された直後に起動せず、スキップされます遅延期間のデータ。パッシブ プロキシの場合、接続が 15 秒以上、少なくとも 2 & ProxyUpdateFrequency 秒後に復元されると、抑制がアクティブになることに注意してください。アクティブなプロキシの場合、接続が 15 秒以上後に復元されると、抑制が有効になります。

プロキシの可用性に対する機密性をオフにするには、3 番目のパラメーターを使用します。例: nodata(/host/key,5m,"strict");この場合、関数は 5.0.0 以前と同じように機能し、データのない評価期間 (5 分間) が過ぎるとすぐに起動します。

この関数は、第 1 パラメータの期間内に次の場合にエラーを表示することに注意してください:
- データがなく、Zabbix サーバーが再起動された
- データがなく、メンテナンスが完了した
- データがなく、項目が追加または再有効化された
エラーは、トリガー構成Info 列に表示されます。

Zabbixサーバー、プロキシ、エージェントの時差がある場合、本機能が正常に動作しない場合があります。参照: 時刻同期の要件
percentile (/host/key,(sec|#num)<:time shift>,percentage)
期間の P パーセンタイル。ここでP (パーセンテージ) は 3 番目のパラメーターで指定されます 共通パラメータ参照

percentage - 小数点以下 4 桁までの 0 から 100 までの浮動小数点数
サポートされている値の型: float,int
rate (/host/key,sec<:time shift>)
期間内で単調増加するカウンターの 1 秒あたりの平均増加率 共通パラメータ参照 サポートされる値の型: float,int

機能的には PromQL の'rate'に対応します。
< br>例:
=> rate(/host/key,30s) → 30 秒間の単調増加が 20 の場合、この関数は 0.67 を返します。