組み合わせたメトリックに基づいてアラートルールを作成し、複数のアラートルール式を設定すると、例外が発生する可能性があります。 このトピックでは、例外のトラブルシューティング方法について説明します。
トラブルシューティング
アラートルールの複数のメトリックの1つにデータがないかどうかを確認します。
アラートルールのメトリックの1つにデータがない場合、アラートルールにはデータがありません。 データがないメトリックとデータがあるメトリックには、独立したアラートルールを設定することを推奨します。
メトリックの [ディメンション] パラメータのフィールドの意味が異なるかどうかを確認します。
説明メトリクスのディメンションパラメーターの詳細については、「付録1: メトリクス」をご参照ください。
アラートルールの複数のメトリックがディメンションパラメーターに同じフィールドを持つ場合、システムは各メトリックを照会し、各メトリックにデータがあるかどうかを判断します。 ただし、Dimensionsパラメーターのフィールドが異なるメトリックで異なる意味を持ち、同じフィールドのデータ値に一貫性がない場合、メトリックの整合性チェックは失敗し、アラートルールで使用できるデータはありません。
たとえば、Elastic Compute Service (ECS) インスタンスのディスクメトリックdisk_readiopsのディメンションパラメーターは [userId,instanceId,device] で、ネットワークメトリックnetworkout_rateのディメンションパラメーターも [userId,instanceId,device] です。 ただし、ディスクメトリックのディメンションパラメーターのデバイスフィールドはディスク名を示し、ネットワークメトリックのディメンションパラメーターのデバイスはネットワークデバイス名を示します。 2つのデバイスフィールドは、異なる意味および値を有する。 その結果、2つのフィールドにはデータが存在せず、アラートルールにはデータがありません。 この場合、disk_readiopsおよびnetworkout_rateメトリックに独立したアラートルールを設定することを推奨します。
マルチメトリックデータの集計後にアラート数が増加したことによる問題を確認します。
アラートルールの複数のメトリックに [ディメンション] パラメーターのフィールドが異なる場合、システムは各メトリックにクエリを実行し、ディメンションに基づくデカルト積計算を使用して、複数のメトリックのデータに対してJOIN操作を実行します。 これにより、より多くのメトリックデータとより多くのアラートが得られます。
説明デカルト積は、数学、特に集合論において、2つの集合間のすべての可能な順序付けられたペアの集合を記述するために使用される基本的な概念です。 集合Aおよび集合Bが2つの非空集合である場合、それらのデカルト積A × Bは、(a, b) の形式のすべての順序付けされた対の集合として定義され、ここで、aは集合Aの任意の要素であり、bは集合Bの任意の要素である。要するに、セットA内の各要素は、新しい要素対を形成するためにセットB内の各要素と一度対にされ、すべてのそのような要素対は新しいセットを形成する。
たとえば、セットA = {1,2} およびセットB = {'a', 'b'} の場合、それらのデカルト積A × Bは次のようになります。A × B = {(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')}
順序対 (1, 'a') および ('a', 1) は、順序が異なるため、異なることに留意されたい。 (a, b) は、aがbに等しくない限り、(b, a) に等しくない。 データベースクエリでは、デカルト積の不適切な使用 (適切な結合条件のないテーブル結合など) により、結果セットのサイズが爆発的に増加する可能性があります。 これは、1つのテーブルのすべての行が別のテーブルのすべての行とペアになっているためです。これは一般に期待される結果ではなく、クエリの効率を大幅に低下させる可能性があります。
たとえば、ルールはECSインスタンスのCPU使用率とディスクIOPSを監視し、cpu_totalメトリックのDimensionsパラメーターは [userId, instanceId] 、disk_readiopsメトリックのDimensionsパラメーターは [userId, instanceId, device] です。 disk_readiopsメトリックが正常で、CPU使用率が異常で、複数のディスクがECSインスタンスに接続されている場合、ディスクごとにアラート通知が送信されます。 この場合、メトリクスに独立したアラートルールを設定することを推奨します。