グローバルイベント相関

概要

この機能は非推奨であり、今後のリリースで削除される可能性があります。更新されたイベント相関機能については、複雑なイベント処理を参照してください。

グローバルイベント相関を使用すると、Zabbixで監視しているすべてのメトリクスを対象にして、相関関係を作成できます。

まったく異なるトリガーによって作成されたイベントを相関させ、それらすべてに同じ操作を適用できます。 インテリジェントな相関ルールを作成することで、何千件もの繰り返し通知をなくし、障害の根本原因に集中できるようになります。

グローバルイベント相関は、1つのトリガーに基づく障害と復旧のロジックから解放される強力なメカニズムです。 これまでは、1つの障害イベントは1つのトリガーによって作成され、その障害の復旧も同じトリガーに依存していました。 あるトリガーによって作成された障害を、別のトリガーで復旧させることはできませんでした。 しかし、イベントタグに基づくイベント相関を使用すれば、それが可能になります。

例えば、ログトリガーでアプリケーションの障害を報告し、ポーリングトリガーでアプリケーションが稼働していることを報告できます。 イベントタグを利用して、ログトリガーに status:down、ポーリングトリガーに status:up というタグを付けることができます。 その後、グローバル相関ルールでこれらのトリガーを関連付け、この相関に対して、古いイベントをクローズするなどの適切な操作を割り当てることができます。

別の用途として、グローバルイベント相関を使用して類似したトリガーを識別し、それらに同じ操作を適用できます。 ネットワークポートの障害ごとに、障害レポートを1件だけ受け取ることができたらどうでしょうか。すべてを報告する必要はありません。 これもグローバルイベント相関で実現できます。

グローバルイベント相関は、相関ルールで設定します。 相関ルールでは、新しい障害イベントを既存の障害イベントとどのように組み合わせるか、また一致した場合に何を行うか(新しいイベントをクローズする、対応するOKイベントを生成して一致した古いイベントをクローズする)を定義します。 グローバル相関によって障害がクローズされた場合、そのことは 監視 > 障害 の 情報 列に表示されます。

グローバル相関ルールを設定できるのは、スーパーユーザーの権限レベルを持つユーザーだけです。

イベント相関は、イベント処理のパフォーマンスに悪影響を及ぼしたり、設定を誤ると意図した数を超えるイベントをクローズしたりする可能性があるため、十分に注意して設定する必要があります(最悪の場合、すべての障害イベントがクローズされる可能性もあります)。

グローバル相関を安全に設定するには、次の重要なヒントに従ってください。

  • 相関の範囲を絞り込む。 新しいイベントには、古いイベントと組み合わせるための一意のタグを必ず設定し、新しいイベントのタグ名 相関条件を使用します。
  • 古いイベントをクローズを使用する場合は、古いイベントに対する明示的な条件を追加する。 古いイベントをクローズを選択する場合は、少なくとも1つの 古いイベント 条件(例えば、古いイベントのタグ名、古いイベントのタグ値、または イベントタグのペア)を必ず追加してください。そうしないと、ルールが無関係な既存の障害イベントに一致してクローズする可能性があります(最悪の場合、すべての障害が対象になります)。 実行時の値(host:port、セッションIDなど)を照合する場合は、イベントタグのペア を優先し、可能な場合はホストまたはホストグループによってさらに一致範囲を絞り込んでください。
  • 異なる相関設定で使用される可能性のある、一般的なタグ名の使用を避ける。
  • 本当に必要な相関ルールだけに限定し、ルール数を抑える。

関連項目: 既知の問題。

設定

グローバルにイベント相関ルールを設定するには、次の手順に従います。

  1. データ収集 > イベント処理 に移動します。
  2. 右側の イベント相関の作成 をクリックします(既存のルールを編集する場合は、相関ルール名をクリックします)。
  3. フォームに相関ルールのパラメータを入力します。

correlation\_rule.png

必須入力フィールドには、赤いアスタリスクが付いています。

パラメータ 説明
名前 一意の相関ルール名。
計算のタイプ 条件の計算方法として、次のオプションを使用できます。
And - すべての条件を満たす必要があります
Or - 1つの条件を満たせば十分です
And/Or - 異なる条件タイプにはAND、同じ条件タイプにはORを使用します
カスタム数式 - アクション条件を評価するためのユーザー定義の計算式。すべての条件(A、B、Cなどの大文字で表される)を含める必要があり、スペース、タブ、括弧()、and(大文字と小文字を区別)、or(大文字と小文字を区別)、not(大文字と小文字を区別)を使用できます。
条件 条件の一覧。条件の設定方法については、以下を参照してください。
説明 相関ルールの説明。
実行内容 イベントが相関したときに実行する操作のチェックボックスを選択します。次の操作を使用できます。
古いイベントをクローズ - 新しいイベントが発生したときに古いイベントをクローズします。古いイベントをクローズ操作を使用する場合は、必ず古いイベントに基づく条件を追加してください。追加しない場合、すべての既存の障害がクローズされる可能性があります。
新しいイベントをクローズ - 新しいイベントが発生したときに、そのイベントをクローズします。

警告!
古いイベントをクローズ/新しいイベントをクローズを使用する場合、古いイベント/新しいイベントの条件を空のままにしないでください。古いイベントに一致する条件を追加せずに古いイベントをクローズ操作を選択すると、Zabbixは既存のすべての古いイベントに一致し、それらをクローズする可能性があります。古いイベントをクローズを使用する場合は、必ず明示的な古いイベントの条件(例: 古いイベントのタグ名またはイベントタグのペア)を追加してください。たとえば、新しいイベントの条件のみを使用し、古いイベントをクローズ操作を指定したルールでは、(指定されていない)古いイベントの条件に一致するすべての古いイベントが対象となり、結果として古い障害がクローズされます。
有効 このチェックボックスを選択すると、相関ルールが有効になります。

新しい条件の詳細を設定するには、条件ブロックで をクリックします。 条件の詳細を編集できるポップアップウィンドウが開きます。

パラメータ 説明
新しい条件 イベントを相関させる条件を選択します。
注 古いイベントの条件を指定しない場合、すべての古いイベントが一致してクローズされる可能性があります。同様に、新しいイベントの条件を指定しない場合、すべての新しいイベントが一致してクローズされる可能性があります。
次の条件を使用できます。
古いイベントのタグ名 - 一致させる古いイベントのタグ名を指定します。
新しいイベントのタグ名 - 一致させる新しいイベントのタグ名を指定します。
新しいイベントのホストグループ - 一致させる新しいイベントのホストグループを指定します。
イベントタグのペア - 一致させる新しいイベントのタグ名と古いイベントのタグ名を指定します。この場合、両方のイベントのタグの値が一致すると、一致とみなされます。タグの名前は一致している必要はありません。
このオプションは、設定時には不明な場合がある実行時の値を一致させる場合に便利です(例も参照)。
古いイベントのタグ値 - 次の演算子を使用して、一致させる古いイベントのタグ名と値を指定します。
等しい - 古いイベントのタグ値を持つ
等しくない - 古いイベントのタグ値を持たない
含む - 古いイベントのタグ値に文字列を含む
含まない - 古いイベントのタグ値に文字列を含まない
新しいイベントのタグ値 - 次の演算子を使用して、一致させる新しいイベントのタグ名と値を指定します。
等しい - 新しいイベントのタグ値を持つ
等しくない - 新しいイベントのタグ値を持たない
含む - 新しいイベントのタグ値に文字列を含む
含まない - 新しいイベントのタグ値に文字列を含まない

設定を誤ると、関連のない障害に対して類似したイベントタグが作成される可能性があります。以下に示すケースを確認してください。

  • 実際のタグとタグ値は、トリガーが発生したときにのみ表示されます。 使用されている正規表現が無効な場合、警告なしに *UNKNOWN* 文字列に置き換えられます。 *UNKNOWN* タグ値を持つ最初の障害イベントを見逃すと、同じ *UNKNOWN* タグ値を持つ後続のOKイベントが発生し、本来クローズすべきでない障害イベントをクローズする可能性があります。
  • ユーザーがマクロ関数を使用せずに {ITEM.VALUE} マクロをタグ値として使用する場合、255文字の制限が適用されます。 ログメッセージが長く、最初の255文字が具体性に欠ける場合、関連のない障害に対して類似したイベントタグが作成される可能性もあります。

例

同じネットワークポートからの繰り返しの障害イベントを停止します。

このグローバルな相関ルールは、トリガーに host と port のタグ値が存在し、元のイベントと新しいイベントでそれらが同じ場合に、障害を相関付けます。

この操作により、同じネットワークポート上の新しい障害イベントがクローズされ、元の障害のみがオープンのまま保持されます。