トリガーは、アイテムによって収集されたデータを "評価" し、現在のシステム状態を表す論理式です。
アイテムはシステム データを収集するために使用されますが、これらのデータを常に追跡し、警戒すべき状態や注意が必要な状態を待つのは非常に現実的ではありません。 データを「評価」する処理は、トリガーの条件式に任せることができます。
トリガーの条件式は、どのような状態のデータが "許容範囲" であるかの閾値を定義することができます。したがって、取得したデータが許容範囲を超えると、トリガーは "起動" され、ステータスが障害に変更されます。
トリガーは、次のようなステータスを持つことができます:
状態 | 説明 |
---|---|
正常 | これは正常なトリガーの状態です。 |
障害 | 何かが起こった状態です例えば、プロセッサの負荷が高すぎる。 |
不明 | トリガーの値が計算できない。不明な状態参照 |
単純なトリガーでは、CPU負荷などの一部のデータの5分間の平均値にしきい値を設定したいかもしれません。これは、トリガーの条件式を以下のように定義することによって実現できます。
· avg(host/key,5m)>2
このトリガーは、5分間の平均が2を超えたら、"発火" します。(障害の状態になる)
より複雑なトリガーでは、条件式は複数の関数と複数の閾値の組み合わせを含むことができます。 トリガー条件式Trigger expressionを参照してください。
トリガーを有効にした (構成ステータスを 無効 から 有効 に変更)後、トリガー条件式は、その項目が値を受け取るか、時間ベースの関数を処理する時間が来るとすぐに評価されます。
ほとんどのトリガー関数はアイテムの値のヒストリデータに基づいて評価されますが、一部のトリガー関数は長期的な分析に使用されます。 trendavg()、trendcount() などはトレンド データを使用します。
Zabbixサーバーが式の一部である新しい値を受け取るたびに、トリガーが再計算されます。 新しい値を受け取ると、式に含まれる各関数が再計算されます (新しい値を受け取った関数だけではありません)。
さらに、式で時間ベースの関数が使用されている場合は、新しい値が受信されるたび、および30 秒ごとにトリガーが再計算されます。
時間ベースの関数は、nodata()、date()、dayofmonth()、dayofweek()、time()、now() です。 ; これらは、Zabbix 履歴同期プロセスによって 30 秒ごとに再計算されます。
トレンド関数 のみ を参照するトリガーは、式の最小期間ごとに 1 回評価されます。 トレンド関数も参照してください。
評価期間とは、アイテムのヒストリを参照する関数で使用されるもので、対象とする期間を指定します。評価期間は、期間(30秒、10分、1時間)、値域(#5 - 最新値5個)のいずれでも指定可能です。
評価期間は "now "まで計測され、ここで "now "は trigger の最新の再計算時間です(上記の計算時間を参照)。 "now "はサーバーの "now"時間ではありません。
評価期間では、どちらかを指定します:
以下に注意:
次の場合は、トリガー式に不明なオペランドが現れる可能性があります。
この場合トリガーは一般的に"不明"と評価されます (例外もあります)。詳細についてはオペランドが不明な式を参照してください。
未知のトリガーについて 通知を受けることも可能です。