ユーザーが送信したリクエスト数が Object Storage Service (OSS) に設定されているしきい値を超えると、後続の OSS リクエストはスロットリングされます。 CloudMonitor コンソールで基本的な監視設定を構成して、OSS に送信されたリクエストをリアルタイムで監視し、スロットリングがトリガーされた直後にアラート通知を受信できます。
背景情報
OSS は、ユーザーレベルとバケットレベルで帯域幅スロットリングと 1 秒あたりのクエリ数 (QPS) スロットリングを提供します。 OSS に送信されたリクエストの QPS または帯域幅の使用量がしきい値を超えると、OSS へのアクセスはスロットリングされ、アクセス速度が制限されます。帯域幅スロットリングがトリガーされると、アクセスレイテンシが増加します。 QPS スロットリングがトリガーされると、OSS は一部のリクエストを破棄します。帯域幅スロットリングと QPS スロットリングの詳細については、「制限」をご参照ください。
CloudMonitor コンソールでは、OSS スロットリングイベントのアラートルールを作成し、スロットリングがトリガーされた場合、または設定されたアラートしきい値に達した場合に、SMS、電子メール、および DingTalk チャットボット通知を指定された連絡グループに送信するように指定できます。
前提条件
連絡グループが作成され、スロットリングアラートの受信が想定される連絡先が連絡グループに追加されます。詳細については、「アラート連絡先またはアラート連絡グループを作成する」をご参照ください。
アラートルールの作成
CloudMonitor コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[イベント監視] タブで、[アラートルールとして保存] をクリックします。
[イベントトリガー型アラートルールの作成/変更] パネルで、次のパラメーターを構成し、その他のパラメーターについてはデフォルト値を保持し、[OK] をクリックします。
パラメーター | 説明 |
[アラートルール名] | アラートルール名を指定します。この例では、このパラメーターを rule1 に設定します。 |
[製品タイプ] | [Object Storage Service] を選択します。 |
[イベントタイプ] | [すべてのタイプ] を選択します。 |
[イベントレベル] | [WARN] と [INFO] を選択します。 |
[イベント名] | [すべてのイベント] を選択します。 CloudMonitor でサポートされている OSS スロットリングイベントの詳細については、「OSS」をご参照ください。 |
[アラート連絡グループ] | 通知方法で [アラート通知] を選択します。次に、アラート連絡グループに作成された契約グループを選択します。 |
[通知方法] | [警告 (SMS メッセージ + E メール + Webhook)] を選択します。 |
アラートルールが構成されると、OSS スロットリングがトリガーされた場合、またはアラートしきい値に達した場合、CloudMonitor は指定された連絡先に自動的に通知を送信します。アラート通知には、アラートリソース、イベント名、イベントタイプ、イベントの詳細などの情報が含まれます。アラート通知の詳細については、「アラート通知」をご参照ください。
システムは、1 分間隔でスロットリングが実行されているかどうかを確認します。ある間隔内で 30 秒以上の間スロットリングが実行された場合、システムは指定された連絡先に通知を送信します。システムは、設定されたアラートしきい値に達したかどうかを 10 分間隔で確認します。設定されたアラートしきい値に達した場合、またはスロットリングがトリガーされた場合、システムは 1 秒以内に指定された連絡先に通知を送信します。
アラート通知
スロットリングアラート通知を受信した場合は、アラート通知を確認してアラートイベントの詳細を取得します。次の表に、イベント、その原因、影響、解決策、および通知の詳細を示します。
ユーザーレベルのアラート通知を受信した後、現在のユーザーに属するすべてのバケットのトラフィック使用量を表示する場合は、事前に OSS 監視ダッシュボードを作成します。詳細については、「システムプリセットダッシュボードを作成する」をご参照ください。
アラート通知のイベント名
次の表のアラートしきい値は、次の式に基づいて計算されます。アラートしきい値 = スロットリングしきい値 × 0.8。
イベント名 | 原因 | 影響 | 解決策 |
BucketIngressBandwidthThresholdExceeded |
| オブジェクトのアップロードに送信されたリクエストはスロットリングされ、レイテンシが増加します。 | 同時アップロードリクエストの数を減らします。 |
BucketEgressBandwidthThresholdExceeded |
| オブジェクトのダウンロードに送信されたリクエストはスロットリングされ、レイテンシが増加します。 | 同時ダウンロードリクエストの数を減らします。 |
BucketQpsThresholdExceeded |
| OSS は一部のリクエストに応答せず、HTTP ステータスコード 503 を返します。 | 1 秒あたりに送信されるリクエストの数を減らします。 |
UserIngressBandwidthThresholdExceeded |
| オブジェクトのアップロードに送信されたリクエストはスロットリングされ、レイテンシが増加します。 | 同時アップロードリクエストの数を減らします。 |
UserEgressBandwidthThresholdExceeded |
| オブジェクトのダウンロードに送信されたリクエストはスロットリングされ、レイテンシが増加します。 | 同時ダウンロードリクエストの数を減らします。 |
UserQpsThresholdExceeded |
| OSS は一部のリクエストに応答しません。 | 1 秒あたりに送信されるリクエストの数を減らします。 |
BucketImageCpuThresholdExceeded | バケットに送信された画像処理 (IMG) リクエストによって消費される CPU コア数がスロットリングしきい値を超えています。 | IMG リクエストのレイテンシが増加します。 | 同時 IMG リクエストの数を減らします。 |
UserImageCpuThresholdExceeded | ユーザーのすべてのバケットに送信された IMG リクエストによって消費される CPU コア数がスロットリングしきい値を超えています。 | IMG リクエストのレイテンシが増加します。 | 同時 IMG リクエストの数を減らします。 |
BucketMirrorIngressBandwidthThresholdExceeded | ミラーリングベースのバックツーオリジンリクエストによって消費されるバケットの帯域幅がスロットリングしきい値を超えています。 | ミラーリングベースのバックツーオリジンリクエストのレイテンシが増加します。 | 同時ミラーリングベースのバックツーオリジンリクエストの数を減らします。 |
BucketMirrorQpsThresholdExceeded | バケットに送信されたミラーリングベースのバックツーオリジンリクエストの 1 秒あたりの合計数がスロットリングしきい値を超えています。 | OSS は一部のミラーリングベースのバックツーオリジンリクエストに応答しません。 | 1 秒あたりに送信されるミラーリングベースのバックツーオリジンリクエストの数を減らします。 |
UserMirrorIngressBandwidthThresholdExceeded | ミラーリングベースのバックツーオリジンリクエストを送信するためにユーザーのすべてのバケットによって消費される合計帯域幅がスロットリングしきい値を超えています。 | ミラーリングベースのバックツーオリジンリクエストのレイテンシが増加します。 | 同時ミラーリングベースのバックツーオリジンリクエストの数を減らします。 |
UserMirrorQpsThresholdExceeded | バケットに送信されたユーザーのミラーリングベースのバックツーオリジンリクエストの 1 秒あたりの合計数がスロットリングしきい値を超えています。 | OSS は一部のミラーリングベースのバックツーオリジンリクエストに応答しません。 | 1 秒あたりに送信されるミラーリングベースのバックツーオリジンリクエストの数を減らします。 |
BucketIngressBandwidth |
| バケットにオブジェクトをアップロードするために送信されたリクエストのレイテンシが増加します。 | 同時アップロードリクエストの数を減らします。 |
BucketEgressBandwidth |
| バケットからオブジェクトをダウンロードするために送信されたリクエストのレイテンシが増加します。 | 同時ダウンロードリクエストの数を減らします。 |
UserIngressBandwidth |
| ユーザーのバケットにオブジェクトをアップロードするために送信されたリクエストのレイテンシが増加します。 | 同時アップロードリクエストの数を減らします。 |
UserEgressBandwidth |
| ユーザーのバケットからオブジェクトをダウンロードするために送信されたリクエストのレイテンシが増加します。 | 同時ダウンロードリクエストの数を減らします。 |
アラート通知の詳細
例:
{
"AvgSeverity": "10",
"QosType": "IngressBandwidth",
"TrafficSource": "net_all",
"TargetRate": "10737418240",
"Requester": "300xxxx",
"BucketGroup": "test-group",
"ResourcePool": "resource-pool-for-ai"
}次の表は、上記のパラメーターについて説明しています。
パラメーター | 説明 | 例 |
AvgSeverity | スロットリングの程度。値が高いほど、レイテンシが高くなります。有効な値:0 ~ 100。 | 10 |
QosType | スロットリングのタイプ。有効な値:
| IngressBandwidth |
TrafficSource | スロットリングをトリガーするトラフィックのソース。有効な値:
| net_all |
TargetRate | 帯域幅と QPS の値。
| 10737418240 |
Requester | リクエスターまたはリソースプールのバケットの帯域幅がスロットリングしきい値に達した場合、イベントの詳細に Requester フィールドが返され、UID を表示することでリクエスターが識別されます。 | 300xxxx |
BucketGroup | バケットグループの帯域幅がスロットリングしきい値に達した場合、イベントの詳細に BucketGroup フィールドが返され、名前を表示することでバケットグループが識別されます。 | test-group |
ResourcePool | リソースプールまたはリクエスターのリソースプールの帯域幅がスロットリングしきい値に達した場合、イベントの詳細に ResourcePool フィールドが返され、名前を表示することでリソースプールが識別されます。 | resource-pool-for-ai |
ユーザーの合計トラフィック使用量を表示する方法
たとえば、UserEgressBandwidthThresholdExceeded イベントアラートを受信したとします。次の手順を実行して、ユーザーのすべてのバケットのトラフィック使用量を表示できます。
Cloud Monitor コンソール にログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ダッシュボード] ページで、ダッシュボードを見つけ、OSS ダッシュボードの右側にある [表示] をクリックします。
[トラフィックモニタリング] セクションで、トラフィック消費量の多いバケットを確認します。