2 グローバルイベント相関
概要
グローバルイベント相関を使用すると、Zabbixで監視しているすべてのメトリクスにまたがって関連付けを行うことができます。
まったく異なるトリガーによって生成されたイベント同士を相関させ、同じ操作をすべてに適用できます。 インテリジェントな相関ルールを作成することで、何千件もの繰り返し通知を減らし、問題の根本原因に集中できるようになります。
グローバルイベント相関は、1つのトリガーに基づく障害と復旧のロジックから解放してくれる強力な仕組みです。 これまで、1つの障害イベントは1つのトリガーによって作成され、その障害の復旧も同じトリガーに依存していました。 あるトリガーで作成された障害を別のトリガーで復旧することはできませんでした。 しかし、イベントタグに基づくイベント相関を使えば可能です。
たとえば、ログのトリガーはアプリケーションの問題を報告し、ポーリングのトリガーはアプリケーションが稼働中であることを報告する場合があります。 イベントタグを活用して、ログのトリガーに status:down、ポーリングのトリガーに status:up を付けることができます。 その後、グローバル相関ルールでこれらのトリガーを関連付け、古いイベントをクローズするなど、この相関に適切な操作を割り当てられます。
別の用途として、グローバル相関は類似したトリガーを識別し、同じ操作を適用できます。 ネットワークポートの問題について、障害報告を1件だけ受け取れればよいとしたらどうでしょうか。すべてを報告する必要はありません。 それもグローバルイベント相関で可能です。
グローバルイベント相関は 相関ルール で設定します。 相関ルールでは、新しい障害イベントを既存の障害イベントとどのように対応付けるか、また一致した場合に何を行うか(新しいイベントをクローズする、対応するOKイベントを生成して一致した古いイベントをクローズする)を定義します。 障害がグローバル相関によってクローズされた場合は、監視 > 障害 の Info 列に表示されます。
グローバル相関ルールの設定は、Super Admin レベルのユーザーのみが利用できます。
イベント相関は、イベント処理性能に悪影響を与えたり、設定を誤ると意図より多くのイベントをクローズしてしまったりする可能性があるため、非常に慎重に設定する必要があります(最悪の場合、すべての障害イベントがクローズされることもあります)。
グローバル相関を 安全に 設定するには、次の重要なヒントに従ってください。
- 相関の範囲を絞り込む。 新しいイベントには、古いイベントと対応付けるための一意のタグを必ず設定し、New event tag name の相関条件を使用してください。
- Close old events を使用する場合は、明示的な古いイベント条件を追加する。 Close old events を選択する場合は、少なくとも1つの Old event 条件(たとえば Old event tag name、Old event tag value、または Event tag pair)を必ず追加してください。追加しないと、ルールが無関係な既存の障害イベントに一致してクローズしてしまう可能性があります(最悪の場合、すべての障害)。 実行時の値(host:port、セッションIDなど)を一致させるには Event tag pair を優先し、可能であればホストまたはホストグループでさらに絞り込んでください。
- さまざまな相関設定で使われる可能性のある一般的なタグ名は避ける。
- 相関ルールの数は、本当に必要なものだけに制限する。
こちらも参照してください: known issues。
設定
イベント相関ルールをグローバルに設定するには、次の手順を実行します。
- データ収集 > イベント相関 に移動します
- 右側の イベント相関の作成 をクリックします(既存のルールを編集する場合は相関名をクリックします)
- フォームに相関ルールのパラメータを入力します

必須の入力フィールドには、赤いアスタリスクが付いています。
| Parameter | Description |
|---|---|
| Name | 一意の相関ルール名。 |
| Type of calculation | 条件の計算方法として、次のオプションを使用できます。 And - すべての条件を満たす必要があります Or - いずれか1つの条件を満たせば十分です And/Or - 異なる条件タイプ同士は AND、同じ条件タイプ同士は OR で評価します Custom expression - アクション条件を評価するためのユーザー定義の計算式です。すべての条件(大文字の A、B、C、... で表される)を含める必要があり、スペース、タブ、括弧 ( )、and(大文字小文字を区別)、or(大文字小文字を区別)、not(大文字小文字を区別)を含めることができます。 |
| Conditions | 条件の一覧です。条件の設定方法の詳細は以下を参照してください。 |
| Description | 相関ルールの説明。 |
| Operations | イベントが相関付けられたときに実行する操作のチェックボックスをオンにします。使用可能な操作は次のとおりです。 Close old events - 新しいイベントが発生したときに古いイベントをクローズします。Close old events 操作を使用する場合は、既存のすべての障害がクローズされる可能性があるため、必ず古いイベントに基づく条件を追加してください。 Close new event - 新しいイベントが発生したときにそのイベントをクローズします。 警告! Close old events/Close new event を使用する場合、古いイベント/新しいイベントの条件を空のままにしないでください。古いイベントに一致する条件を追加せずに Close old events 操作を選択すると、Zabbix は既存のすべての古いイベントに一致し、それらをクローズする可能性があります。Close old events を使用する場合は、必ず明示的な古いイベント条件(たとえば Old event tag name または Event tag pair)を追加してください。たとえば、New event condition のみと Close old events operation を使用するルールは、(欠落している)古いイベント条件を満たすすべての古いイベントに一致し、結果として古い障害をクローズしてしまいます。 |
| Enabled | このチェックボックスをオンにすると、相関ルールが有効になります。 |
新しい条件の詳細を設定するには、Conditions ブロック内の
をクリックします。
条件の詳細を編集できるポップアップウィンドウが開きます。

| Parameter | Description |
|---|---|
| New condition | イベントを相関付けるための条件を選択します。 古いイベント条件が指定されていない場合、すべての古いイベントが一致してクローズされる可能性があることに注意してください。同様に、新しいイベント条件が指定されていない場合、すべての新しいイベントが一致してクローズされる可能性があります。 使用可能な条件は次のとおりです。 Old event tag name - 一致対象とする古いイベントのタグ名を指定します。 New event tag name - 一致対象とする新しいイベントのタグ名を指定します。 New event host group - 一致対象とする新しいイベントのホストグループを指定します。 Event tag pair - 一致対象とする新しいイベントのタグ名と古いイベントのタグ名を指定します。この場合、両方のイベント内のタグの値が一致すると一致とみなされます。タグの名前は一致している必要はありません。 このオプションは、設定時点では不明な可能性がある実行時の値を一致させるのに便利です(例 も参照)。 Old event tag value - 次の演算子を使用して、一致対象とする古いイベントのタグ名と値を指定します。 equals - 古いイベントタグ値を持つ does not equal - 古いイベントタグ値を持たない contains - 古いイベントタグ値に文字列を含む does not contain - 古いイベントタグ値に文字列を含まない New event tag value - 次の演算子を使用して、一致対象とする新しいイベントのタグ名と値を指定します。 equals - 新しいイベントタグ値を持つ does not equal - 新しいイベントタグ値を持たない contains - 新しいイベントタグ値に文字列を含む does not contain - 新しいイベントタグ値に文字列を含まない |
設定ミスが起こり得るため、無関係な障害に対して類似したイベントタグが作成される可能性がある場合は、以下に示すケースを確認してください。
- 実際のタグとタグ値は、トリガーが発生したときにのみ表示されます。 正規表現が無効な場合、それは暗黙的に *UNKNOWN* 文字列に置き換えられます。 *UNKNOWN* タグ値を持つ最初の障害イベントを見逃すと、同じ *UNKNOWN* タグ値を持つ後続の OK イベントが現れ、本来クローズすべきでない障害イベントをクローズしてしまう可能性があります。
- ユーザーがタグ値としてマクロ関数なしで {ITEM.VALUE} マクロを使用する場合、255 文字の制限が適用されます。 ログメッセージが長く、先頭 255 文字に特異性がない場合、これによっても無関係な障害に対して類似したイベントタグが生成される可能性があります。
例
同じネットワークポートからの問題イベントの繰り返しを停止します。

このグローバル相関ルールは、トリガー上に host および port タグの値が存在し、それらが元のイベントと新しいイベントで同じである場合に、問題を相関付けします。
この操作により、同じネットワークポート上の新しい問題イベントがクローズされ、元の問題のみがオープンのまま維持されます。