Zabbixは、イベントに対応するために様々なオペレーションを実行します。Zabbixで生成される1つまたは複数のイベントに対してアクションを1つ定義できます。
アクションの属性を以下に示します。
| パラメータ | 説明 |
|---|---|
| 名前 | 一意なアクション名。 |
| イベントソース | イベントの発生元。 現在は以下の3つのソースがサポートされています。 トリガー - トリガーのステータスの変化によって生成されるイベント ディスカバリ - オートディスカバリモジュールによって生成されるイベント 自動登録 - 新規アクティブエージェントによって生成されるイベント |
| エスカレーションを有効 | エスカレーションを有効にします。有効にすると、オペレーションに対して定義されているオペレーションステップに従ってアクションがエスカレートされます。 |
| 期間(秒) | エスカレーションステップの増分の期間。 |
| イベントソース | イベントの発生元。 トリガー - トリガーによって生成されたイベントに対してアクションが実行されます。 ディスカバリ - ディスカバリイベントに対してアクションが実行されます。 |
| デフォルトの件名 | 通知のデフォルトの件名。マクロを使用できます。 |
| デフォルトのメッセージ | 通知のデフォルトのメッセージ。マクロを使用できます。 |
| リカバリメッセージ | 有効にすると、元の問題が解決された後でリカバリメッセージが送信されます。リカバリメッセージは、以前にこの問題に関する任意のメッセージを受け取ったユーザに送信されます。 |
| リカバリの件名 | リカバリメッセージの件名。マクロを使用できます。 |
| リカバリメッセージ | リカバリメッセージ。マクロを使用できます。 |
| ステータス | アクションのステータス。 有効 - アクションは有効です。 無効 - アクションは無効です。 |
アクションは、定義されているコンディションの組み合わせを満たす場合にのみ実行されます。
トリガーをソースとするイベントには、以下のコンディションを定義できます。
| コンディションタイプ | サポートされている演算子 | 説明 |
|---|---|---|
| アプリケーション | = 含まれる 含まれない | = - アプリケーションの一部であるトリガーで生成されたイベント 含まれる - アプリケーションの一部であり、特定の文字列を含むトリガーで生成されたイベント 含まれない - アプリケーションの一部であり、特定の文字列を含まないトリガーで生成されたイベント |
| ホストグループ | = <> | イベントを生成したトリガーが登録されているホストグループと比較します。 = - このホストグループで生成されたイベント <> - 別のホストグループで生成されたイベント |
| ホストテンプレート | = <> | トリガーが属するホストテンプレートと比較します。 = - このホストテンプレートから継承されたトリガーで生成されたイベント <> - 別のホストテンプレートから継承されたトリガーで生成されたイベント |
| ホスト | = <> | イベントを生成したトリガーが登録されているホストと比較します。 = - このホストで生成されたイベント <> - 別のホストで生成されたイベント |
| トリガー | = <> | イベントを生成したトリガーと比較します。 = - このトリガーで生成されたイベント <> - 別のトリガーで生成されたイベント |
| トリガーの名前(名前) | 含まれる 含まれない | イベントを生成したトリガー名と比較します。 含まれる - 文字列がトリガー名に含まれる(大文字と小文字は区別される) 含まれない - 文字列がトリガー名に含まれない(大文字と小文字は区別される) |
| トリガーの深刻度 | = <> >= <= | トリガーの深刻度と比較します。= - 指定されたトリガーの深刻度と等しい <> - 指定されたトリガーの深刻度と等しくない >= - 指定されたトリガーの深刻度以上 ⇐ - 指定されたトリガーの深刻度以下 |
| トリガーの値 | = | トリガーの値と比較します。 = - 指定されたトリガーの値([OK]または[障害])と等しい |
| 期間 | 期間中 | 特定の期間内に生成されたイベントです。 期間中 - イベント生成時刻が期間内期間は次の形式で指定します: dd-dd,hh:mm-hh:mm;dd-dd,hh:mm:hh:mm;… |
| メンテナンスのステータス | = <> | ホストがメンテナンス状態にあるかどうかを確認します。 = - ホストはメンテナンスモードです。 <> - ホストはメンテナンスモードではありません。 |
トリガーの値:
トリガーのステータスが正常から障害に変化した場合、トリガーの値は障害 トリガーのステータスが障害から正常に変化した場合、トリガーの値は正常
ステータスが正常→不明→障害と遷移した場合は正常→障害と同様に、障害→不明→正常と遷移した場合は障害→正常と同様に、それぞれ処理されます。
ディスカバリをソースとするイベントには、以下のコンディションを定義できます。
| コンディションタイプ | サポートされている演算子 | 説明 |
|---|---|---|
| ホストのIPアドレス | = <> | 検出されたホストのIPアドレスが指定されたIPアドレスの範囲に含まれているかどうかを比較します。 = - ホストのIPアドレスが範囲に含まれる <> - ホストのIPアドレスが範囲に含まれない |
| サービスのタイプ | = <> | 検出されたサービスをチェックします。 = - 検出されたサービスからのイベント <> - 別のサービスからのイベント |
| サービスのポート | = <> | 検出されたサービスのTCPポート番号が指定されたポート番号の範囲に含まれているかどうかを比較します。 = - サービスのポートが範囲に含まれる <> - サービスのポートが範囲に含まれない |
| ディスカバリのステータス | = | UP - ホストアップイベントおよびサービスアップイベントと一致 DOWN - ホストダウンイベントおよびサービスダウンイベントと一致 |
| アップタイム/ダウンタイム | >= <= | ホストダウンイベントおよびサービスダウンイベントの場合はダウンタイムを比較します。ホストアップイベントおよびサービスアップイベントの場合はアップタイムを比較します。 >= - アップタイム/ダウンタイムが指定された値以上 >= - アップタイム/ダウンタイムが指定された値以上パラメータは秒単位で指定します。 |
| 受信した値 | = <> >= <= like not 含まれる | エージェント(ZABBIX、SNMP)から受信した値と比較します。文字列の比較で判定します。 = - 受信した値と等しい <> - 受信した値と等しくない >= - 受信した値以上 ⇐ - 受信した値以下 含まれる - 受信した値に含まれる 含まれない - 受信した値に含まれないパラメータは文字列で指定します。パラメータは文字列で指定されます。 |
以下のコンディションが計算タイプ[AND/OR]で設定されている場合、
以下のように評価されます。
(Host group = Oracle servers または Host group = MySQL servers) かつ (Trigger name like 'Database is down' または Trigger name like 'Database is unavailable')
イベントがコンディションを満たすときに1つまたは複数のオペレーションが実行されます。
Zabbixでは、以下のオペレーションがサポートされています。
ディスカバリをソースとするイベントでは、以下のオペレーションもサポートされています。
ホストの追加時には、標準的な gethostbyname 関数によって名前が決定されます。ホストを解決できる場合、解決名が使用されます。解決できない場合は、IPアドレスが使用されます。さらに、IPv6アドレスがホスト名に使用される場合には、すべての「:」(コロン)は「_」(アンダースコア)に置換されます。これは「:」(コロン)がホスト名として許可されていないためです。
| パラメータ | 説明 |
|---|---|
| [ステップ] | このアクションに対してエスカレーションを有効にする場合、以下のエスカレーション設定を使用します。 開始 - このステップから始めて各ステップに対して実行します。 To - このステップまで実行します([開始]から始めて全てのステップに対して実行する場合は0)。 期間 - この期間の後、ステップ数を増分します。0を指定すると、デフォルトの期間が使用されます。 |
| [オペレーションのタイプ] | アクションのタイプ。 メッセージの送信 - ユーザにメッセージを送信します。 コマンドの実行 - リモートコマンドを実行します。 |
| イベントソース | |
| メッセージの送信先 | メッセージの送信先。 シングルユーザ - シングルユーザ ユーザグループ - グループの全てのメンバー |
| デフォルトのメッセージ | 選択すると、デフォルトのメッセージが使用されます。 |
| [件名] | メッセージの件名。マクロを使用できます。 |
| メッセージ | メッセージ本体。マクロを使用できます。 |
| リモートコマンド | リモートコマンドのリスト。 |
1.6.2以降では、イベントを生成したホスト(トリガー)に対する読み取りパーミッションを持つユーザのみに通知が送信されます。トリガー条件式の少なくとも1つのホストにアクセスできる必要があります。
マクロを使用すると、読みやすいレポートを作成できます。
Subject: {TRIGGER.NAME}: {TRIGGER.STATUS}
マクロが置き換えられて、以下のようなメッセージ件名が生成されます。
‘Processor load is too high on server zabbix.zabbix.com: ON’
メッセージ: Processor load is: {zabbix.zabbix.com:system.cpu.load[,avg1].last(0)}
マクロが置き換えられて、以下のようなメッセージが生成されます。
'Processor load is: 1.45'
メッセージ: 最新データ: {{HOSTNAME}:{TRIGGER.KEY}.last(0)} MAX for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.max(900)} MIN for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.min(900)}
マクロが置き換えられて、以下のようなメッセージが生成されます。
最新データ: 1.45 MAX for 15 minutes: 2.33 MIN for 15 minutes: 1.01