ユーザーから送信されたリクエストの数が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] を選択します。 |
イベントタイプ | [すべてのタイプ] を選択します。 |
イベントレベル | [警告] および [情報] を選択します。 |
イベント名 | [すべてのイベント] を選択します。 CloudMonitorでサポートされているOSSスロットリングイベントの詳細については、「OSS」をご参照ください。 |
アラート連絡先グループ | 通知方法として、[アラート通知] を選択します。 次に、作成したAlert Contact groupの契約グループを選択します。 |
通知方法 | [警告 (メール + Webhook)] を選択します。 |
アラートルールの設定後、OSSスロットリングがトリガーされるか、アラートのしきい値に達した場合、CloudMonitorは指定された連絡先に通知を自動的に送信します。 アラート通知には、アラートリソース、イベント名、イベントタイプ、イベント詳細などの情報が含まれます。 アラート通知の詳細については、「アラート通知」をご参照ください。
1分間隔でスロットルが実行されているかどうかを確認します。 スロットリングが30秒以上の期間実行された場合、システムは指定された連絡先に通知を送信します。 システムは、設定されたアラートしきい値に10分間隔で到達したかどうかを確認します。 設定済みのアラートしきい値に達した場合、またはスロットリングがトリガーされた場合、システムは指定された連絡先に1秒以内に通知を送信します。
アラート通知
スロットリングアラート通知を受信した場合は、アラート通知を確認して、アラートイベントに関する詳細を取得します。 次の表は、その原因、影響、解決策、および通知の詳細を示しています。
ユーザーレベルのアラート通知を受け取った後、現在のユーザーに属するすべてのバケットのトラフィック使用量を表示する場合は、事前にOSSモニタリングダッシュボードを作成してください。 詳細については、「システムプリセットダッシュボードの作成」をご参照ください。
アラート通知のイベント名
次の表のアラートしきい値は、次の式に基づいて計算されます。アラートしきい値=スロットルしきい値 × 0.8。
イベント名 | 原因 | 影響 | 解決策 |
BucketIngressBandwidthThresholdExceeded | バケットの合計受信帯域幅が受信帯域幅調整しきい値を超えています。 | オブジェクトをアップロードするために送信されるリクエストは抑制され、遅延が増加します。 | 同時アップロード要求の数を減らします。 |
BucketEgressBandwidthThresholdExceeded | バケットの合計アウトバウンド帯域幅がアウトバウンド帯域幅調整しきい値を超えています。 | オブジェクトをダウンロードするために送信されるリクエストは抑制され、遅延が増加します。 | 同時ダウンロード要求の数を減らします。 |
BucketQpsThresholdExceeded | 1秒あたりにバケットに送信されるリクエストの総数が、スロットリングしきい値を超えています。 | OSSは一部のリクエストに応答せず、HTTPステータスコード503を返します。 | 1秒あたりに送信されるリクエストの数を減らします。 |
UserIngressBandwidthThresholdExceeded | ユーザーのすべてのバケットの合計インバウンド帯域幅が、インバウンド帯域幅調整しきい値を超えています。 | オブジェクトをアップロードするために送信されるリクエストは抑制され、遅延が増加します。 | 同時アップロード要求の数を減らします。 |
UserEgressBandwidthThresholdExceeded | ユーザーのすべてのバケットの合計アウトバウンド帯域幅が、アウトバウンド帯域幅調整しきい値を超えています。 | オブジェクトをダウンロードするために送信されるリクエストは抑制され、遅延が増加します。 | 同時ダウンロード要求の数を減らします。 |
UserQpsThresholdExceeded | ユーザーのすべてのバケットに送信されたリクエストの1秒あたりの合計数が、スロットリングしきい値を超えています。 | OSSは一部のリクエストに応答しません。 | 1秒あたりに送信されるリクエストの数を減らします。 |
BucketImageCpuThresholdExceeded | バケットに送信されたイメージ処理 (IMG) 要求によって消費されたCPUコアの数が、スロットリングしきい値を超えています。 | IMGリクエストのレイテンシが増加します。 | 同時IMGリクエストの数を減らします。 |
UserImageCpuThresholdExceeded | ユーザーのすべてのバケットに送信されたIMGリクエストによって消費されたCPUコアの数が、スロットリングしきい値を超えています。 | IMGリクエストのレイテンシが増加します。 | 同時IMGリクエストの数を減らします。 |
BucketMirrorIngressBandwidthThresholdExceeded | ミラーリングベースのback-to-originリクエストによって消費されるバケットの帯域幅が、スロットリングしきい値を超えています。 | ミラーリングベースのback-to-originリクエストでは、レイテンシが増加します。 | 同時ミラーリングベースのback-to-originリクエストの数を減らします。 |
BucketMirrorQpsThresholdExceeded | 1秒間にバケットに送信されるミラーリングベースのback-to-originリクエストの総数が、スロットリングしきい値を超えています。 | OSSは、ミラーリングベースのback-to-originリクエストの一部に応答しません。 | 1秒間に送信されるミラーリングベースのback-to-originリクエストの数を減らします。 |
UserMirrorIngressBandwidthThresholdExceeded | ミラーリングベースのback-to-originリクエストを送信するためにユーザーのすべてのバケットが消費する合計帯域幅が、スロットリングしきい値を超えています。 | ミラーリングベースのback-to-originリクエストでは、レイテンシが増加します。 | 同時ミラーリングベースのback-to-originリクエストの数を減らします。 |
UserMirrorQpsThresholdExceeded | ユーザーのすべてのバケットから送信されたミラーリングベースのback-to-originリクエストの1秒あたりの合計数が、スロットリングしきい値を超えています。 | OSSは、ミラーリングベースのback-to-originリクエストの一部に応答しません。 | 1秒間に送信されるミラーリングベースのback-to-originリクエストの数を減らします。 |
BucketIngressBandwidth | バケットの合計受信帯域幅がアラートしきい値を超えています。 | バケットにオブジェクトをアップロードするために送信されるリクエストにより、遅延が増加します。 | 同時アップロード要求の数を減らします。 |
BucketEgressBandwidth | バケットの送信帯域幅の合計がアラートしきい値を超えています。 | バケットからオブジェクトをダウンロードするために送信されるリクエストにより、遅延が増加します。 | 同時ダウンロード要求の数を減らします。 |
UserIngressBandwidth | ユーザーのすべてのバケットの合計受信帯域幅がアラートしきい値を超えています。 | オブジェクトをバケットにアップロードするために送信されるリクエストの遅延が増加します。 | 同時アップロード要求の数を減らします。 |
UserEgressBandwidth | ユーザーのすべてのバケットの送信帯域幅の合計がアラートしきい値を超えています。 | バケットからオブジェクトをダウンロードするために送信されるリクエストの遅延が増加します。 | 同時ダウンロード要求の数を減らします。 |
アラート通知の詳細
パラメーター | 説明 | 例 |
AvgSeverity | スロットルの程度。 この値が大きいほど、レイテンシが高くなる。 有効値: 0~100。 | 10 |
QosType | スロットルのタイプ。 有効な値:
| IngressBandwidth |
TrafficSource | スロットリングをトリガーするトラフィックのソース。 有効な値:
| ネット_すべて |
ユーザーの総トラフィック使用量を表示するにはどうすればよいですか。
UserEgressBandwidthThresholdExceededイベントアラートを受け取ったとします。 次の手順を使用して、ユーザーの各バケットのトラフィック使用量を表示できます。
- CloudMonitorコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[ダッシュボード] ページでダッシュボードを見つけ、[操作] 列の [表示] をクリックします。
[Traffic Monitoring] セクションで、大量のトラフィックを消費するバケットを表示します。