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件の値)として指定できます。

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

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

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

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

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

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

不明なステータス

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

  • サポートされていないアイテムが使用されている
  • サポートされているアイテムに対する関数評価の結果がエラーになる

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

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