2 トリガーの設定
このページでは、ZabbixのWebインターフェースでトリガーを設定する方法について説明します。
公式のZabbixテンプレートには、あらかじめ定義されたトリガーが含まれていることに注意してください。
Linuxの監視にテンプレートを適用する方法については、ガイドを参照してください。
また、設定済みのトリガーを一括更新することも可能です。
その他のリソース:
- トリガーによる問題検出(一般的な紹介)
- トリガーの例(ユースケース別)
- トリガー式(構文の詳細)
- ベストプラクティス
設定
トリガーを設定するには、次の手順を実行します。
- データ収集 > ホスト に移動します
- ホストの行で トリガー をクリックします
- 右側の トリガーの作成 をクリックします(または既存のトリガーを編集するにはトリガー名をクリックします)
- フォームにトリガーのパラメータを入力します
トリガー タブには、トリガーの主要な属性がすべて含まれています。

必須の入力フィールドには、すべて赤いアスタリスクが付いています。
| パラメータ | 説明 |
|---|---|
| 名前 | トリガー名。 サポートされるマクロは次のとおりです: {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {ITEM.LOG.*}, および {$MACRO} ユーザーマクロ。 $1, $2...$9 マクロは、式内の1番目、2番目...9番目の定数を参照するために使用できます。 注: $1-$9 マクロは、比較的単純で明快な式の定数を参照している場合に正しく展開されます。例えば、名前が "Processor load above $1 on {HOST.NAME}" の場合、式が last(/New host/system.cpu.load[percpu,avg1])>5 であれば、自動的に "Processor load above 5 on New host" に変わります。 |
| イベント名 | 定義されている場合、この名前が障害イベント名の作成に使用されます。デフォルトでは、イベント名はトリガー名と同じです。 イベント名は、障害データを含む意味のあるアラートを作成するために使用できます(例を参照)。 トリガー名と同じマクロセットに加えて、{TIME}、{TIMESTAMP}、および {?EXPRESSION} 式マクロがサポートされます。 |
| 運用データ | 運用データでは、マクロとともに任意の文字列を定義できます。マクロは 監視 > 障害 でリアルタイムデータに動的に展開されます。トリガー名内のマクロ(上記参照)は障害発生時点の値に展開され、静的な障害名の基礎となりますが、運用データ内のマクロは最新情報を動的に表示する機能を維持します。トリガーレベルで運用データが設定されていない場合、式に含まれるすべてのアイテムの最新値が表示されます。 トリガー名と同じマクロセットがサポートされます。 |
| 深刻度 | ボタンをクリックして、必要なトリガーの深刻度を設定します。 |
| 条件式 | 障害の条件を定義するために使用される論理式。 時間サフィックスおよびメモリサイズサフィックスがサポートされます。 式に含まれるすべての条件が満たされると、つまり式が TRUE と評価されると障害が作成されます。リカバリ条件式 で追加の復旧条件が指定されていない限り、式が FALSE と評価されるとすぐに障害は解決されます。 |
| OKイベントの生成 | OKイベント生成オプション: 条件式 - OKイベントは障害イベントと同じ式に基づいて生成されます。 リカバリ条件式 - 障害条件式が FALSE と評価され、かつリカバリ条件式が TRUE と評価された場合に OKイベントが生成されます。 なし - この場合、トリガーが自動的に OK 状態に戻ることはありません。 |
| リカバリ条件式 | 元の障害条件式がすでに FALSE と評価された後で、障害が解決される前に満たす必要がある追加条件を定義する論理式(任意)。 リカバリ条件式は、トリガーのヒステリシスに役立ちます。障害条件式がまだ TRUE の場合、リカバリ条件式だけで障害を解決することはできません。 このフィールドは、OKイベントの生成 で「リカバリ条件式」が選択されている場合にのみ使用できます。 |
| 障害イベント生成モード | 障害イベントを生成するモード: 単一 - トリガーが初めて「障害」状態になったときに単一のイベントが生成されます。 複数 - トリガーが「障害」と評価されるたびにイベントが生成されます。 |
| OKイベントでクローズ | OKイベントでクローズする対象を選択します: すべての障害 - このトリガーのすべての障害。 タグ値が一致する場合はすべての障害 - イベントタグ値が一致するトリガー障害のみ。 |
| 照合用タグ | イベント相関に使用するイベントタグ名を入力します。 このフィールドは、OKイベントでクローズ プロパティで「タグ値が一致する場合はすべての障害」が選択されている場合に表示され、この場合は必須です。 |
| 手動クローズを許可 | このトリガーによって生成された障害イベントの手動クローズを許可するにはチェックします。手動クローズは、障害イベントを確認応答する際に可能です。 |
| メニューエントリ名 | 空でない場合、ここで入力した名前(最大64文字)が、メニューエントリURL パラメータで指定したトリガーURLのラベルとして、複数のWebインターフェース上の場所で使用されます。空の場合、デフォルト名 トリガーURL が使用されます。 トリガー名と同じマクロセットに加えて、{EVENT.ID}、{HOST.ID}、および {TRIGGER.ID} がサポートされます。 |
| メニューエントリURL | 空でない場合、ここで入力したURL(最大2048文字)は、複数のWebインターフェース上の場所にあるイベントメニューでリンクとして利用できます。例えば、監視 > 障害 または 障害 ダッシュボードウィジェットで障害名をクリックしたときです。 トリガー名と同じマクロセットに加えて、{EVENT.ID}、{HOST.ID}、および {TRIGGER.ID} がサポートされます。注: シークレット値を持つユーザーマクロは URL 内では展開されません。 |
| 説明 | このトリガーに関する追加情報を提供するためのテキストフィールドです。特定の障害を修正するための手順、担当スタッフの連絡先詳細などを含めることができます。 トリガー名と同じマクロセットがサポートされます。 |
| 有効 | 必要に応じて、このチェックボックスをオフにするとトリガーが無効になります。 無効化されたトリガーの障害はWebインターフェースに表示されなくなりますが、削除はされません。 |
タグ タブでは、トリガーレベルのタグを定義できます。
このトリガーのすべての障害には、ここで入力した値のタグが付けられます。

さらに、継承タグとトリガータグ オプションを使用すると、トリガーがそのテンプレートに由来する場合に、テンプレートレベルで定義されたタグを表示できます。 同じタグを持つテンプレートが複数ある場合、これらのタグは1回だけ表示され、テンプレート名はカンマで区切られます。 トリガーはホストレベルのタグを「継承」して表示することはありません。
| パラメータ | 説明 |
|---|---|
| 名前/値 | トリガーイベントを識別するためのカスタムタグを設定します。 タグは、タグ名と値のペアです。名前のみを使用することも、値と組み合わせることもできます。トリガーは同じ名前で異なる値を持つ複数のタグを持つことができます。 イベントタグでは、ユーザーマクロ、コンテキスト付きユーザーマクロ、ローレベルディスカバリマクロ、および {{ITEM.VALUE}}、{{ITEM.LASTVALUE}} を使用したマクロ関数がサポートされます。ローレベルディスカバリマクロはマクロコンテキスト内で使用できます。{TRIGGER.ID} マクロはトリガータグ値でサポートされます。これは、トリガープロトタイプから作成されたトリガーを識別したり、例えばメンテナンス中にこれらのトリガーからの障害を抑制したりするのに役立つ場合があります。 展開後の値の合計長が255を超える場合、255文字に切り詰められます。 イベントタグでサポートされるすべてのマクロを参照してください。 イベントタグは、イベント相関、アクション条件で使用でき、監視 > 障害 または 障害 ウィジェットでも表示されます。 |
依存関係 タブには、このトリガーのすべての依存関係が含まれています。
新しい依存関係を追加するには、追加 をクリックします。
既存のトリガーを開き、複製 ボタンを押してから別の名前で保存することでも、トリガーを設定できます。
トリガー式のテスト
受信した値によって式の結果がどうなるかをテストすることができます。
公式テンプレートから次の式を例として取り上げます。
avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
or
last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}
式をテストするには、式フィールドの下にある式コンストラクタをクリックします。

式コンストラクタには、すべての個々の式が一覧表示されます。 テストウィンドウを開くには、式リストの下にあるテストをクリックします。

テストウィンドウでは、サンプル値(この例では '80', '70', '0', '1')を入力し、テストボタンをクリックして式の結果を確認できます。

個々の式の結果と全体の式の結果が表示されます。
"TRUE"は、指定した式が正しいことを意味します。 この特定のケースAでは、"80"が指定した{$TEMP_WARN}の値(この例では"70")より大きいことを意味します。 予想通り、"TRUE"の結果が表示されます。
"FALSE"は、指定した式が正しくないことを意味します。 この特定のケースBでは、{$TEMP_WARN_STATUS}の"1"が指定した値(この例では"0")と等しい必要があります。 予想通り、"FALSE"の結果が表示されます。
選択した式タイプは"OR"です。 指定した条件(この場合はAまたはB)の少なくとも1つがTRUEの場合、全体の結果もTRUEになります。 つまり、現在の値が警告値を超えており、問題が発生していることを意味します。