ユーザーから送信されたリクエストの数が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スロットリングイベントの詳細については、「サポートされているクラウドサービスとそのシステムイベント」をご参照ください。 |
アラート連絡先グループ | 通知方法として、[アラート通知] を選択します。 次に、作成したAlert Contact groupの契約グループを選択します。 |
通知方法 | [警告 (SMSメッセージ + メール + 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 | ミラーリングベースの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リクエストの合計数が、スロットリングしきい値を超えています。 | OSSは、一部のミラーリングベースのback-to-originリクエストに応答しません。 | 1秒間に送信されるミラーリングベースのback-to-originリクエストの数を減らします。 |
BucketIngressBandwidth |
| オブジェクトをバケットにアップロードするために送信されるリクエストの遅延が増加します。 | 同時アップロード要求の数を減らします。 |
BucketEgressBandwidth |
| バケットからオブジェクトをダウンロードするために送信されるリクエストの遅延が増加します。 | 同時ダウンロード要求の数を減らします。 |
UserIngressBandwidth |
| ユーザーエクスペリエンスからバケットにオブジェクトをアップロードするために送信されるリクエストにより、レイテンシが増加しました。 | 同時アップロード要求の数を減らします。 |
UserEgressBandwidth |
| ユーザーエクスペリエンスからバケットからオブジェクトをダウンロードするために送信されるリクエストにより、レイテンシが増加しました。 | 同時ダウンロード要求の数を減らします。 |
アラート通知の詳細
例:
{
"AvgSeverity": "10",
"QosType": "IngressBandwidth",
"TrafficSource": "net_all",
"TargetRate": "10737418240",
"Requester": "300xxxx",
"ResourcePool": "resource-pool-for-ai"
}
次の表に、上記のパラメーターを示します。
パラメーター | 説明 | 例 |
AvgSeverity | スロットルの程度。 より高い値は、より高いレイテンシをもたらす。 有効値: 0~100。 | 10 |
QosType | スロットルのタイプ。 有効な値:
| IngressBandwidth |
TrafficSource | スロットリングをトリガーするトラフィックのソース。 有効な値:
| net_all |
ターゲットレート | 帯域幅とQPSの値。
| 10737418240 |
リクエスター | リクエスタのバケットまたはリソースプールの帯域幅がスロットリングしきい値に達すると、requesterフィールドがイベント詳細で返され、UIDを表示してリクエスタを識別します。 | 300xxxx |
ResourcePool | リソースプールまたは要求元のリソースプールの帯域幅がスロットリングしきい値に達すると、イベントの詳細でResourcePoolフィールドが返され、リソースプールの名前が表示されます。 | resource-pool-for-ai |
ユーザーの総トラフィック使用量を表示するにはどうすればよいですか。
たとえば、UserEgressBandwidthThresholdExceededイベントアラートを受信します。 ユーザーのすべてのバケットのトラフィック使用量を表示するには、次の手順を実行します。
CloudMonitorコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
ダッシュボードページで、ダッシュボードを見つけて、OSSダッシュボードの右側にある表示をクリックします。
交通モニタリングセクションで、大量のトラフィックを消費するバケットを表示します。