3 トリガー
概要
トリガーは、アイテムによって収集されたデータを「評価」し、現在のシステム状態を表す論理式です。
アイテムはシステムデータの収集に使用されますが、警告が必要な状態や注意を要する状態になるまで、これらのデータを常に監視し続けるのは非常に現実的ではありません。データの「評価」は、トリガーの式に任せることができます。
トリガーの式を使用すると、データのどの状態を「許容可能」とするか、そのしきい値を定義できます。そのため、受信したデータが許容可能な状態を超えると、トリガーが「発火」し、ステータスが障害に変わります。
トリガーには、次のステータスがあります。
| ステータス | 説明 |
|---|---|
| OK | 通常のトリガーのステータスです。 |
| Problem | 何らかの問題が発生しています。例えば、プロセッサの負荷が高すぎる場合などです。 |
| Unknown | トリガーの値を計算できません。Unknownステータスを参照してください。 |
単純なトリガーでは、例えばCPU負荷など、あるデータの5分間の平均値に対してしきい値を設定します。これは、次の条件を含むトリガーの式を定義することで実現できます。
- アイテムキーで受信した値に
avg関数を適用する - 評価に5分間の期間を使用する
- しきい値として
2を設定する
avg(/host/key,5m)>2
このトリガーは、5分間の平均値が2を超えると「発火」し、障害になります。
より複雑なトリガーでは、複数の関数と複数のしきい値を組み合わせて式に含めることができます。詳細については、トリガーの式も参照してください。
バイナリのデータ型の値を返すアイテムに対して、トリガーを作成することはできません。
トリガーを有効化した後(設定ステータスを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つの値)として指定できます。
評価期間は「現在」までの期間として測定されます。ここでの「現在」とは、トリガーの最新の再計算時刻(上記の計算時刻を参照)を指し、サーバーの「現在時刻」ではありません。
評価期間には、次のいずれかを指定します。
- 「現在 - 期間」から「現在」までのすべての値(タイムシフトが適用される場合は、「現在 - タイムシフト - 期間」から「現在 - タイムシフト」まで)。
- 過去から「現在」までの、指定した数の値。
指定した評価期間にデータが存在しない場合、この関数を使用するトリガーまたは計算アイテムはサポートされていない状態になります。
次の点に注意してください。
- トリガーで単一の関数(データ履歴を参照する関数)のみが使用されている場合、「現在」は常に最後に受信した値になります。たとえば、最後の値を1時間前に受信した場合、評価期間は1時間前の最新の値までとして扱われます。
- 新しいトリガーは、最初の値を受信するとすぐに計算されます(履歴関数)。日付と時刻関数およびnodata()関数の場合は、30秒以内に計算されます。そのため、トリガーが作成されてから、設定した評価期間(たとえば1時間)がまだ経過していなくても、トリガーは計算されます。また、評価範囲をたとえば最新の10個の値に設定した場合でも、最初の値を受信した後にトリガーは計算されます。
不明なステータス
次の場合、トリガー式に不明なオペランドが現れることがあります。
- 未サポートのアイテムが使用されている
- サポートされているアイテムの関数評価でエラーが発生する
この場合、通常トリガーは「不明」と評価されます(ただし、いくつかの例外があります)。詳細は、不明なオペランドを含む式を参照してください。
不明なトリガーについて通知を受け取ることも可能です。