トリガーは、アイテムによって収集されたデータを「評価」し、現在のシステム状態を表す論理式です。
アイテムはシステムデータを収集するために使用されますが、これらのデータを常に監視し、警告や注意が必要な条件を待つのは非常に非効率的です。データの「評価」の役割は、トリガー式に任せることができます。
トリガー式を使用すると、データの状態が「許容範囲内」であるかどうかの閾値を定義できます。したがって、受信データが許容範囲を超えた場合、トリガーが「発火」し、ステータスがPROBLEMに変わります。
トリガーには、次のステータスがあります。
| ステータス | 説明 |
|---|---|
| OK | これは通常のトリガーステータスです。 |
| Problem | 何かが発生しました。たとえば、プロセッサの負荷が高すぎます。 |
| Unknown | トリガー値を計算できません。Unknown statusを参照してください。 |
単純なトリガーでは、たとえばCPU負荷などのデータの5分間平均の閾値を設定したい場合があります。これは、次のようなトリガー式を定義することで実現できます。
avg(/host/key,5m)>2
このトリガーは、5分間の平均値が2を超えた場合に「発火」(PROBLEMになる)します。
より複雑なトリガーでは、式に複数の関数や複数の閾値の組み合わせを含めることができます。詳細はトリガー式も参照してください。
バイナリ値を持つアイテムにはトリガーを作成できません。
トリガーを有効にした後(設定ステータスを無効から有効に変更)、トリガー式は、その中のアイテムが値を受け取るか、date and timeやnodata()関数を処理する時間が来るとすぐに評価されます。
ほとんどのトリガー関数はアイテムの値のヒストリデータに基づいて評価されますが、一部のトリガー関数は長期的な分析に使用されます。 trendavg()、trendcount() などはトレンド データを使用します。
トリガーは、Zabbixサーバーが式の一部である新しい値を受信するたびに再計算されます。新しい値が受信されると、式に含まれる各関数が再計算されます(新しい値を受信した関数だけでなく)。
さらに、トリガーは新しい値が受信されるたびに、および式に日付と時刻やnodata()関数が使用されている場合は30秒ごとに再計算されます。
日付と時刻やnodata()関数は、Zabbixのhistory syncerプロセスによって30秒ごとに再計算されます。
トレンド関数のみを参照するトリガーは、式内の最小の時間間隔ごとに1回評価されます。トレンド関数も参照してください。
評価期間は、アイテムの履歴を参照する関数で使用されます。 関心のある間隔を指定することができます。 時間期間(30s、10m、1h)または値の範囲(#5 - 最新の5つの値)として指定できます。
評価期間は「現在」まで測定されます。「現在」とは、トリガーの最新の再計算時刻(上記の計算時刻を参照)であり、サーバーの「現在」時刻ではありません。
評価期間は、次のいずれかを指定します。
注意点:
トリガー式に不明なオペランドが表示される場合があります。
この場合、トリガーは一般的に「不明」と評価されます(いくつかの例外があります)。詳細については、不明なオペランドを含む式を参照してください。
不明なトリガーについて通知を受け取ることができます。