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-time period」から「now」までのすべての値を対象とする(または、 time shift を使用する場合は、「now-time shift-time period」から 「now-time_shift」まで)
- 過去から「now」までの値のうち、num 件を超えない範囲で対象とする
- 指定した時間期間または num 件数に対して利用可能な値が 0 件の場合、 この関数を使用するトリガーまたは計算アイテムは未サポートになります
注意:
- トリガーで単一の関数(データ履歴を参照するもの)のみが使用されている場合、 「now」は常に最後に受信した値になります。たとえば、最後の値を1時間前に 受信していた場合、評価期間は1時間前のその最新値までとして扱われます。
- 新しいトリガーは、最初の値を受信するとすぐに計算されます(履歴関数)。 date and time および nodata() 関数については、30秒以内に計算されます。したがって、 設定された評価期間(たとえば1時間)がトリガー作成後まだ経過していなくても、 トリガーは計算されます。また、評価範囲がたとえば最新10件の値に設定されて いる場合でも、最初の値の受信後にトリガーは計算されます。
不明なステータス
次の場合、トリガー式に不明なオペランドが現れることがあります。
- サポートされていないアイテムが使用されている
- サポートされているアイテムに対する関数評価の結果がエラーになる
この場合、トリガーは通常「不明」と評価されます(ただし、いくつかの例外があります)。詳細は、不明なオペランドを含む式を参照してください。
不明なトリガーについて通知を受け取ることも可能です。