3 トリガー
概要
トリガーは、アイテムによって収集されたデータを「評価」する論理式であり、現在のシステム状態を表します。
アイテムはシステムデータの収集に使用されますが、警告が必要な状態や注意を要する条件を待ちながら、常にそれらのデータを追い続けるのは非常に非現実的です。データを「評価」する役割は、トリガー式に任せることができます。
トリガー式では、どのようなデータ状態を「許容可能」とするかのしきい値を定義できます。そのため、受信したデータが許容可能な状態を超えた場合、トリガーは「発火」し、ステータスがPROBLEMに変わります。
トリガーは次のステータスを持つ場合があります。
| Status | Description |
|---|---|
| OK | 通常のトリガーのステータスです。 |
| Problem | 何らかの問題が発生しています。たとえば、プロセッサー負荷が高すぎる場合です。 |
| Unknown | トリガー値を計算できません。Unknown statusを参照してください。 |
単純なトリガーでは、たとえばCPU負荷のようなデータの5分間平均に対してしきい値を設定したい場合があります。これは、次の条件を持つトリガー式を定義することで実現できます。
- 'avg' 関数がアイテムキーで受信した値に適用される
- 評価には5分間の期間が使用される
- しきい値として「2」が設定される
avg(/host/key,5m)>2
このトリガーは、5分間平均が2を超えた場合に「発火」し(PROBLEMになります)。
より複雑なトリガーでは、式に複数の関数と複数のしきい値の組み合わせを含めることができます。あわせて Trigger expression も参照してください。
バイナリのdata type値を返すアイテムに対しては、トリガーを作成できません。
トリガーを有効化した後(設定ステータスをDisabledからEnabledに変更した後)、トリガー式は、その中のアイテムが値を受信した時点、またはdate and timeおよび/またはnodata()関数を処理する時刻になると、直ちに評価されます。
ほとんどのトリガー関数はアイテムの値のヒストリデータに基づいて評価されますが、一部のトリガー関数は長期的な分析に使用されます。 trendavg()、trendcount() などはトレンド データを使用します。
計算時間
トリガーは、Zabbixサーバーが式の一部である新しい値を受信するたびに再計算されます。新しい値を受信すると、式に含まれる各関数が再計算されます(新しい値を受信した関数だけではありません)。
さらに、式でdate and timeおよび/またはnodata()関数が使用されている場合、トリガーは新しい値を受信するたびに再計算され、さらに30秒ごとにも再計算されます。
Date and timeおよび/またはnodata()関数は、Zabbix history syncerプロセスによって30秒ごとに再計算されます。
トレンド関数のみを参照するトリガーは、式内の最小の時間期間ごとに1回評価されます。あわせてtrend functionsも参照してください。
評価期間
評価期間は、アイテムの履歴を参照する関数で使用されます。 これにより、対象とする間隔を指定できます。指定方法は、 時間期間(30s、10m、1h)または値の範囲(#5 - 直近5個の値) です。
評価期間は「現在」までを基準に測定されます。ここでの「現在」は トリガーの最新の再計算時刻(上記の計算 時刻を参照)であり、サーバーの「現在」時刻ではありません。
評価期間では、次のいずれかを指定します。
- 「現在-時間期間」から「現在」までのすべての値を対象とする(または、 タイムシフトを使用する場合は、「現在-タイムシフト-時間期間」から 「現在-time_shift」まで)
- 過去から「現在」までの値のうち、最大で num 個までを対象とする
- 指定した時間期間または num 個の値に対して利用可能な値が 0 個の場合、 この関数を使用するトリガーまたは計算アイテムは未サポートになります
注意:
- トリガーで使用される関数が1つだけ(データ履歴を参照する関数)である場合、 「現在」は常に最後に受信した値となります。例えば、最後の値を1時間前に受信していた場合、 評価期間は1時間前の最新値までとして扱われます。
- 新しいトリガーは、最初の値を受信するとすぐに計算されます(履歴関数の場合)。日付と時刻 および nodata() 関数については、30秒以内に計算されます。したがって、設定された評価期間 (例えば1時間)がトリガー作成後まだ経過していなくても、トリガーは計算されます。評価範囲が 例えば直近10個の値に設定されている場合でも、最初の値の受信後にトリガーは計算されます。
不明なステータス
次の場合、トリガー式に不明なオペランドが現れることがあります。
- 未サポートのアイテムが使用されている
- サポートされているアイテムの関数評価でエラーが発生する
この場合、通常トリガーは「不明」と評価されます(ただし、いくつかの例外があります)。詳細は、不明なオペランドを含む式を参照してください。
不明なトリガーについて通知を受け取ることも可能です。