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 秒ごとに再計算されます。

trend 関数のみを参照するトリガーは、式内で最も短い時間間隔ごとに 1 回だけ評価されます。詳細は trend functions を参照してください。

評価期間

評価期間は、アイテム履歴を参照する関数で使用されます。
これにより、対象とする間隔を指定できます。時間期間(30s、10m、1h)または値の範囲(#5 - 直近5個の値)として指定できます。

評価期間は "now" までを基準に測定されます。"now" とは、トリガーの最新の再計算時刻です(上記の 計算時刻 を参照)。"now" はサーバーの "now" 時刻ではありません。

評価期間では、次のいずれかを指定します。

  • "now - time period" と "now" の間のすべての値(また、time shift が適用されている場合は、"now - time shift - time period" と "now - time shift" の間)。
  • 過去から "now" までの、指定した数の値。

指定した評価期間にデータが存在しない場合、その関数を使用しているトリガーまたは計算アイテムはサポート対象外になります。

次の点に注意してください。

  • トリガーで履歴データを参照する単一の関数のみが使用されている場合、"now" は常に最新の受信値になります。たとえば、最後の値が1時間前に受信された場合、評価期間は1時間前の最新値までと見なされます。
  • 新しいトリガーは、最初の値が受信されるとすぐに計算されます(履歴関数)。日付と時刻 および nodata() 関数については、30秒以内に計算されます。したがって、たとえばトリガー作成から1時間など、設定した評価期間がまだ経過していなくても、トリガーは計算されます。また、評価範囲がたとえば直近10個の値に設定されていても、最初の値の受信後にトリガーは計算されます。

不明なステータス

次の場合、トリガー式に不明なオペランドが現れることがあります。

  • 未サポートのアイテムが使用されている
  • サポートされているアイテムの関数評価でエラーが発生する

この場合、通常トリガーは「不明」と評価されます(ただし、いくつかの例外があります)。詳細は、不明なオペランドを含む式を参照してください。

不明なトリガーについて通知を受け取ることも可能です。