Log Service では、複数のデータセットを関連付けたモニタリングがサポートされています。
集合演算
- Log Service では、最大で 3 つの集合を関連付けたモニタリングがサポートされています。
- デフォルトでは、クエリ結果のデータから集合演算用に最初の 1,000 行が選択されます。 3 つのクエリ文をを指定し、[集合演算] パラメーターを [結合しない] に設定した場合、各クエリ結果のデータから最初の 100 行が選択されます。
- 3 つのクエリ文を指定して返される 3 つのクエリ結果は、3 つの集合とみなされます。 この場合、最初の 2 つの集合が集合演算に使用され、結果が返されます。 次に、この結果と3
番目の集合が集合演算に使用されます。 例:
- 集合 A LEFT JOIN 集合 B LEFT JOIN 集合 C: LEFT JOIN 演算が最初に集合 A と集合 B に対して実行され、結果が返されます。 次に、結果と集合 C に対して LEFT JOIN 演算が実行されます。
- 集合 A JOIN 集合 B INNER JOIN 集合 C: JOIN 演算が最初に集合 A と集合 B に対して実行され、結果が返されます。 次に、結果と集合 C に対して INNER JOIN 演算が実行されます。
- 集合 A LEFT EXCLUDE JOIN 集合 B No Merge 集合 C: LEFT EXCLUDE JOIN 演算が集合 A と集合 B に対して実行され、集合 C は無視されます。

集合演算 | 図解 | 説明 |
---|---|---|
結合しない | ![]() |
指定された 2 つの集合は関連付けられません。
クエリ結果は集合 A です。 集合 B のフィールドは、アラート通知で引用できるアラートテンプレート変数としてのみ使用できます。 |
CROSS JOIN | なし | 集合 A の任意のデータと集合 B の任意のデータが結合されます。この演算は、後で評価されるデータをフィルタリングする際に使用されます。 |
JOIN | ![]() |
集合 B のデータが集合 A に追加され、フィールドごとに結合されます。 |
INNER JOIN | ![]() |
集合 B に存在するデータのみが集合 A に保持されます。集合 B は集合 A のホワイトリストです。 |
LEFT JOIN | ![]() |
集合 B の部分データが集合 A に補完されます。集合 B は集合 Aのディメンションテーブルです。 |
RIGHT JOIN | ![]() |
集合 A の部分データが集合 B に補完されます。集合 A は集合 B のディメンションテーブルです。 |
FULL JOIN | ![]() |
集合 A と集合 B は互いに補完し合っています。 |
LEFT EXCLUDE JOIN | ![]() |
集合 B に存在するデータが週 A から削除されます。集合 B は集合 A のブラックリストです。 |
RIGHT EXCLUDE JOIN | ![]() |
集合 A に存在するデータが集合 B から削除されます。集合 A は集合 B のブラックリストです |
例
- 結合しない
- 要件
NGINX のアクセスログをモニタリングします。 15 分ごとの 5xx エラーレスポンスの数が 500 を超えた場合、アラートがトリガーされ、アラート通知が送信されます。 アラート通知には、トリガー条件を満たすホストの情報が含まれます。
- 設定
- 結果
- クエリ統計 0 の結果
15 分間の 5xx エラーレスポンスの数が計算されます。
cnt 1234 - クエリ統計 1 の結果
15 分間の 5xx エラーレスポンスの数が多いホストの上位 5 件および対応するエラー数が計算されます。
host pv host1 60 host2 55 host3 47 host4 45 host5 30 - 集合演算の結果
[集合演算] パラメーターを[No Merge] に設定すると、集合演算の結果は、クエリ統計 0 の結果となります。
- クエリ統計 0 の結果
- 要件
- JOIN
- 例 1
- 要件
NGINX のアクセスログを保存するために 2 つのログストアが使用されています。 1 つのログストアは中国 (北京) リージョンにあり、もう 1 つのログストアは中国 (上海) リージョンにあります。 5xx エラーレスポンスの数が 30 を超えるホストの数が 15 分ごとに計算されます。 2 つのログストアで指定された条件を満たすホストの数が10 を超えた場合、アラートがトリガーされます。
- 設定
- 結果
- クエリ統計 0 の結果
15 分間の 5xx エラーレスポンスの数が 30 を超えたホストおよび対応するエラー数が計算されます。
host pv host1 60 host2 55 host3 47 host4 45 host5 31 - クエリ統計 1 の結果
15 分間の 5xx エラーレスポンスの数が 30 を超えたホストおよび対応するエラー数が計算されます。
host pv hosta 70 hostb 45 hostc 44 hostd 42 - 集合演算の結果
[集合演算] パラメーターをJOIN に設定した場合の集合演算の結果を下表に示します 。
host pv host1 60 host2 55 host3 47 host4 45 host5 31 hosta 70 hostb 45 hostc 44 hostd 42
- クエリ統計 0 の結果
- 要件
- その他の例
- 2 つのクエリ結果のフィールドが完全に一致しない場合、集合演算の実行後、一致しないフィールドは空白になります。
- クエリ統計 0 の結果
a b a1 b1 a2 b2 - クエリ統計 1 の結果
b c b1 c1 b2 c2 - 集合演算の結果
a b c a1 b1 なし a2 b2 なし なし b1 c1 なし b2 c2
- クエリ統計 0 の結果
- 3 つのクエリ文を指定すると、3 つのクエリ統計の結果が集合演算に使用されます。 この場合、クエリ統計 0 およびクエリ統計 1 の結果が集合演算に使用され、結果が返されます。
次に、前の結果とクエリ統計 2 の結果に対して JOIN 操作が実行されます。
- クエリ統計 0 の結果
a b a1 b1 a2 b2 - クエリ統計 1 の結果
a b a1 b11 a2 b22 a3 b33 - クエリ統計 0 の結果とクエリ統計 1 の結果の演算結果
[集合演算] パラメーターを INNER JOIN,$0.a == $1.a に設定した場合の集合演算の結果を下表に示します。
a $0.b $1.b a1 b1 b11 a2 b2 b22 - クエリ統計 2 の結果
a b a3 b333 a4 b444 - 集合演算の結果
[集合演算] パラメーターを JOIN に設定した場合の集合演算の結果を下表に示します。
注 クエリ統計 2 の結果の b フィーは、$0.b フィールドに結合されます。a $0.b $1.b a1 b1 b11 a2 b2 b22 a3 b333 なし a4 b444 なし
- クエリ統計 0 の結果
- 2 つのクエリ結果のフィールドが完全に一致しない場合、集合演算の実行後、一致しないフィールドは空白になります。
- 例 1
- INNER JOIN
- 例 1
- 要件
指定された各バケットの 5xx エラーレスポンスの数がモニタリングされます。 15 分間の 5xx エラーレスポンスの数が 1,000 を超えた場合、アラートがトリガーされます。 この要件を満たすためには、リソースデータを追加してバケットのホワイトリストを維持する必要があります。
- 設定
- 結果
- クエリ統計 0 の結果
15 分間の 5xx エラーレスポンスの数が 1,000 を超えたバケットが計算されます。
バケット pv bucket_01 1600 bucket_02 1550 bucket_03 1470 bucket_04 1450 - クエリ統計 1 の結果
指定されたバケットのリソースデータです。
バケット desc bucket_03 for dev team bucket_04 for test team bucket_05 for service team bucket_06 for support team - 集合演算の結果
[集合演算] パラメーターを INNER JOIN,$0.bucket == $1.bucket に設定した場合の集合演算の結果を下表に示します。
バケット pv desc bucket_03 47 for dev team bucket_04 45 for test team
- クエリ統計 0 の結果
- 要件
- 例 2
- 要件
NGINX のアクセスログを保存するために 2 つのログストアが使用されています。 1 つのログストアは中国 (北京) リージョンにあり、もう 1 つのログストアは中国 (上海) リージョンにあります。 5xx エラーレスポンスの数が 30 を超えたクライアントが 15 分ごとに計算されます。 両方のログストアに5xx エラーレスポンスが存在し、中国 (北京) リージョンのエラーの数が中国 (上海) を超えた場合、アラートがトリガーされます。
- 設定
- 結果
- クエリ統計 0 の結果
15 分間の 500 エラーレスポンスの数が 30 を超えたクライアントおよび対応するエラー数が計算されます。 これらのエラーは、中国 (北京) リージョンで発生したものです。
client_ip pv 192.0.2.4 60 192.0.2.5 55 192.0.2.6 47 192.0.2.7 45 192.0.2.8 31 - クエリ統計 1 の結果
15 分間の 500 エラーレスポンスの数が 30 を超えたクライアントおよび対応するエラー数が計算されます。 これらのエラーは、中国 (上海) リージョンで発生したものです。
client_ip pv 192.0.2.5 70 192.0.2.6 45 192.0.2.7 44 192.0.2.8 42 192.0.2.9 42 - 集合演算の結果
[集合演算] パラメーターを INNER JOIN,$0.client_ip == $1.client_ip,$0.pv > $1.pv に設定した場合の集合演算の結果を下表に示します。
client_ip pv 192.0.2.6 47 192.0.2.7 45
- クエリ統計 0 の結果
- 要件
- その他の例
たとえば、クエリ統計 0 の結果のフィールドおよびクエリ統計 1 の結果のフィールドは関連付けられていませんが、同じ名前を共有しています。 この場合、指定された集合演算の結果の 2 つのフィールドには、自動的にプレフィックス $0 および $1 が付加されます。
- クエリ統計 0 の結果
a b c d a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 - クエリ統計 1 の結果
a b c a1 b11 c11 a2 b22 c22 - 集合演算の結果
[集合演算] パラメーターを INNER JOIN,$0.a == $1.a に設定した場合の集合演算の結果を下表に示します。
a $0.b $0.c d $1.b $1.c a1 b1 c1 d1 b11 c11 a2 b2 c2 d2 b22 c22
- クエリ統計 0 の結果
- 例 1
- LEFT EXCLUDE JOIN
- 要件
指定されていない各バケットの 5xx エラーレスポンスの数がモニタリングされます。 15 分間の 5xx エラーの数が 1,000 を超えた場合、アラートがトリガーされます。 この要件を満たすためには、リソースデータを追加してバケットのブラックリストを維持する必要があります。
- 設定
- 結果
- クエリ統計 0 の結果
15 分間の 500 エラーレスポンスの数が 1,000 を超えたバケットが計算されます。
バケット pv bucket_01 60 bucket_02 55 bucket_03 47 bucket_04 45 - クエリ統計 1 の結果
指定されたバケットのリソースデータです。
バケット desc bucket_03 for dev team bucket_04 for test team - 集合演算の結果
[集合演算] パラメーターを LEFT EXCLUDE JOIN,$0.bucket == $1.bucket に設定した場合の集合演算の結果を下表に示します。
バケット pv bucket_01 60 bucket_02 55
- クエリ統計 0 の結果
- 要件
- RIGHT EXCLUDE JOIN
- 要件
指定されていない各バケットの 5xx エラーレスポンスの数がモニタリングされます。 15 分間の 5xx エラーレスポンスの数が 1,000 を超えた場合、アラートがトリガーされます。 この要件を満たすためには、リソースデータを追加してバケットのブラックリストを維持する必要があります。
- 設定
- 結果
- クエリ統計 0 の結果
指定されたバケットのリソースデータです。
バケット desc bucket_03 for dev team bucket_04 テストチーム用 - クエリ統計 1 の結果
15 分間の 500 エラーレスポンスの数が 1,000 を超えたバケットが計算されます。
バケット pv bucket_01 60 bucket_02 55 bucket_03 47 bucket_04 45 - 集合演算の結果
[集合演算] パラメーターを RIGHT EXCLUDE JOIN,$0.bucket == $1.bucket に設定した場合の集合演算の結果を下表に示します。
バケット pv bucket_01 60 bucket_02 55
- クエリ統計 0 の結果
- 要件
- CROSS JOIN
- 例 1
- 要件
Object Storage Service (OSS) のアクセスログと Server Load Balancer (SLB) のアクセスログが同時にモニタリングされています。 OSS で発生した 4xx エラーレスポンスの数および SLB で発生した 5xx エラーレスポンスの数が15 分ごとに計算されます。 エラーの総数が 1,000 に達すると、アラートがトリガーされます。
- 設定
- 結果
- クエリ統計 0 の結果
OSS で 15 分間に発生した 4xx エラーレスポンスの数が計算されます。
pv 890 - クエリ統計 1 の結果
SLB で15 分間に発生した 5xx エラーレスポンスの数が計算されます。
pv 567 - 集合演算の結果
[集合演算] パラメーターを CROSS JOIN に設定した場合の集合演算の結果を下表に示します。
$0.pv $1.pv 890 567
- クエリ統計 0 の結果
- 要件
- その他の例
- クエリ統計 0 の結果
a b a1 b1 a2 b2 a5 b5 - クエリ統計 1 の結果
a c a1 c1 a3 c3 - 集合演算の結果
[集合演算] パラメーターを CROSS JOIN に設定した場合の集合演算の結果を下表に示します。
$0.a b $1.a c a1 b1 a1 c1 なし なし a3 c3 a2 b2 a1 c1 なし なし a3 c3 a5 b5 a1 c1 なし なし a3 c3
- クエリ統計 0 の結果
- 例 1
- LEFT JOIN
- クエリ統計 0 の結果
a b a1 b1 a2 b2 a3 b3 - クエリ統計 1 の結果
a b c a1 b11 c1 a2 b22 c2 - 集合演算の結果
[集合演算] パラメーターを LEFT JOIN,$0.a == $1.a に設定した場合の集合演算の結果を下表に示します。
a $0.b $1.b c a1 b1 b11 c1 a2 b2 b22 c2 a3 b3 なし なし
- クエリ統計 0 の結果
- RIGHT JOIN
- クエリ統計 0 の結果
a b c a1 b11 c1 a2 b22 c2 - クエリ統計 1 の結果
a b a1 b1 a2 b2 a3 b3 - 集合演算の結果
[集合演算] パラメーターを RIGHT JOIN,$0.a == $1.a に設定した場合の集合演算の結果を下表に示します。
a $0.b c $1.b a1 b11 c1 b1 a2 b22 c2 b2 a3 なし なし b3
- クエリ統計 0 の結果
- FULL JOIN
- クエリ統計 0 の結果
a b c a1 b1 c1 a2 b2 c2 a5 b5 c3 - クエリ統計 1 の結果
a b d a1 b11 d1 a2 b22 d2 a3 b33 d3 - 集合演算の結果
[集合演算] パラメーターを FULL JOIN,$0.a == $1.a に設定した場合の集合演算の結果を下表に示します。
a $0.b c $1.b d a1 b1 c1 b11 d1 a2 b2 c2 b22 d2 a5 b5 c3 なし なし a3 なし なし b33 d3
- クエリ統計 0 の結果