イベントと解決

概要

Zabbix では、いくつかの種類のイベントが生成されます。

  • トリガーイベント - トリガーのステータスが変化したとき(OK→障害→OK
  • サービスイベント - サービスのステータスが変化したとき(OK→障害→OK
  • ディスカバリーイベント - ホストまたはサービスが検出されたとき
  • 自動登録イベント - アクティブ エージェントがサーバーによって自動登録されたとき
  • 内部イベント - アイテム/低レベルディスカバリルールがサポート対象外になったとき、またはトリガーが不明な状態になったとき

イベントにはタイムスタンプが付与され、通知メールの送信、チケットの作成、リモートコマンドの実行などのアクションの基礎として使用できます。

Webインターフェースでイベントの詳細を表示するには、監視 > 障害 に移動します。
そこでイベントの日時をクリックするとイベント詳細ページが開き、メンテナンスのために抑制されたか、ユーザーによって手動で抑制されたかを含む、イベントに関する追加情報を確認できます。

障害の解決

トリガーによって作成された障害イベントは、障害の原因となった条件がもはや存在しない場合、自動的に解決されます。

障害イベントの管理に柔軟性と利便性を追加するため、次のオプションがあります。

トリガーイベント

トリガーの状態変化は、イベントの最も頻繁で最も重要な発生源です。トリガーの状態が変化するたびに、イベントが生成されます。イベントには、トリガーの状態変化の詳細、つまり、いつ発生したか、そして新しい状態が何であるかが含まれます。

トリガーによって作成されるイベントには、ProblemOK の2種類があります。

障害イベント

障害イベントは次の場合に作成されます。

  • トリガーがOK状態にあるときに、トリガー式がTRUEと評価された場合。
  • トリガーで複数の障害イベント生成が有効になっている場合、トリガー式がTRUEと評価されるたび。
OKイベント

OKイベントは、関連する障害イベントを終了させ、次の3つのコンポーネントによって生成される場合があります。

  • トリガー - 「OK event generation」および「OK event closes」の設定に基づく;
  • イベント相関
  • タスクマネージャー - イベントが手動でクローズされた場合

トリガーには、OKイベントの生成方法を制御する「OKイベント生成」設定があります。

  • Expression - トリガーが障害状態にあるとき、その式がFALSEと評価されるとOKイベントが生成されます。これは最も簡単な設定で、デフォルトで有効です。
  • Recovery expression - トリガーが障害状態にあるとき、その式がFALSEと評価され、かつ復旧式がTRUEと評価されるとOKイベントが生成されます。これは、トリガーの復旧条件が障害条件と異なる場合に使用できます。
  • None - OKイベントは生成されません。これは、複数の障害イベント生成と組み合わせて、何かが発生したときに通知だけを送る用途に使用できます。

さらに、トリガーには、どの障害イベントをクローズするかを制御する「OKイベントでクローズ」設定があります。

  • All problems - OKイベントは、トリガーによって作成されたすべての未クローズの障害をクローズします
  • All problems if tag values match - OKイベントは、トリガーによって作成され、少なくとも1つの一致するタグ値を持つ未クローズの障害をクローズします。タグは「Tag for matching」トリガー設定で定義されます。クローズする障害イベントがない場合、OKイベントは生成されません。これは一般に、トリガーレベルのイベント相関と呼ばれます。
イベント相関

イベント相関(グローバルイベント相関とも呼ばれます)は、カスタムのイベントクローズ(OKイベント生成を伴う)ルールを設定する方法です。

これらのルールでは、新しい障害イベントが既存の障害イベントとどのようにペアリングされるかを定義し、対応するOKイベントを生成することで、新しいイベントまたは一致したイベントをクローズできるようにします。

ただし、イベント相関は非常に慎重に設定する必要があります。イベント処理のパフォーマンスに悪影響を与えたり、設定を誤ると、意図したよりも多くのイベントをクローズしてしまう可能性があります(最悪の場合、すべての障害イベントがクローズされることもあります)。設定のヒントをいくつか示します。

  1. 制御イベント(古いイベントとペアリングされるイベント)に一意のタグを設定し、new event tag の相関条件を使用して、常に相関範囲を絞り込んでください
  2. close old event 操作を使用する場合は、古いイベントに基づく条件を追加することを忘れないでください。忘れると、既存のすべての障害がクローズされる可能性があります
  3. 異なる相関設定で使用される一般的なタグ名の使用は避けてください
タスクマネージャー

トリガーで「手動クローズを許可」設定が有効になっている場合、そのトリガーによって生成された障害イベントを手動でクローズできます。これは、障害の更新時に Webインターフェースで行います。イベントは直接クローズされるのではなく、代わりに「イベントをクローズ」タスクが作成され、まもなくタスクマネージャーによって処理されます。タスクマネージャーは対応する OK イベントを生成し、障害イベントはクローズされます。

サービスイベント

サービスイベントは、これらのイベントに対するサービスアクションが有効になっている場合にのみ生成されます。この場合、サービス状態が変化するたびに新しいイベントが作成されます。

  • 障害イベント - サービス状態が OK から 障害 に変更されたとき
  • OKイベント - サービス状態が 障害 から OK に変更されたとき

イベントには、サービス状態の変更に関する詳細、つまり、いつ発生したか、および新しい状態が何であるかが含まれます。

検出イベント

Zabbix は、ネットワーク検出ルールで定義された IP 範囲を定期的にスキャンします。チェックの頻度は、ルールごとに個別に設定できます。ホストまたはサービスが検出されると、検出イベント(または複数のイベント)が生成されます。

Zabbix は次のイベントを生成します。

イベント 生成されるタイミング
Service Up Zabbix がアクティブなサービスを検出するたび。
Service Down Zabbix がサービスを検出できないたび。
Host Up その IP に対して少なくとも 1 つのサービスが UP の場合。
Host Down すべてのサービスが応答しない場合。
Service Discovered サービスがダウン後に復旧した場合、または初めて検出された場合。
Service Lost サービスが UP の後に失われた場合。
Host Discovered ホストがダウン後に復旧した場合、または初めて検出された場合。
Host Lost ホストが UP の後に失われた場合。

アクティブエージェントの自動登録イベント

アクティブエージェントの自動登録により、Zabbix にイベントが作成されます。

設定されている場合、以前は未知だったアクティブエージェントがチェックを要求したとき、またはホストメタデータが変更されたときに、アクティブエージェントの自動登録イベントが作成されます。サーバーは、受信したエージェントの IP アドレスとポートを使用して、新しい自動登録ホストを追加します。

詳細については、アクティブエージェントの自動登録 のページを参照してください。

内部イベント

内部イベントは、次の場合に発生します。

  • アイテムの状態が 'normal' から 'unsupported' に変わる
  • アイテムの状態が 'unsupported' から 'normal' に変わる
  • ローレベルディスカバリルールの状態が 'normal' から 'unsupported' に変わる
  • ローレベルディスカバリルールの状態が 'unsupported' から 'normal' に変わる
  • トリガーの状態が 'normal' から 'unknown' に変わる
  • トリガーの状態が 'unknown' から 'normal' に変わる

内部イベントを導入する目的は、内部イベントが発生したときにユーザーへ通知できるようにすることです。たとえば、アイテムが unsupported になってデータ収集を停止した場合などです。

内部イベントは、これらのイベントに対する内部アクションが有効な場合にのみ作成されます。内部イベントの生成を停止するには(たとえば、アイテムが unsupported になる場合)、Alerts > Actions > Internal actions で内部イベント用のすべてのアクションを無効にします。

内部アクションが無効な場合でも、オブジェクトが 'unsupported' 状態にあると、そのオブジェクトの復旧イベントは引き続き作成されます。

内部アクションが有効な場合、オブジェクトが 'unsupported' 状態にあると、そのオブジェクトの復旧イベントは、オブジェクトに対して 'problem event' が作成されていなくても作成されます。

こちらも参照: unsupported アイテムに関する通知の受信