當使用者的請求量超出OSS使用限制後會觸發OSS流控,觸發流控會對使用者的請求產生一定的影響。您只需要在CloudMonitor管理主控台進行簡單的配置,即可完成對OSS請求指標的即時監控,並在觸發流控時及時收到警示通知。
背景資訊
OSS提供了使用者層級和Bucket層級的流控,支援的類別主要包括頻寬流控和QPS流控。當您訪問OSS的QPS、頻寬超出OSS使用限制時,訪問速度會受到OSS流控的限制。如果觸發了頻寬流控,則訪問OSS的延遲會增加。如果觸發了QPS流控,則OSS會丟棄部分請求。關於頻寬流控和QPS流控的限制資訊,請參見使用限制。
您可以通過CloudMonitor管理主控台建立OSS流控事件警示規則,並指定在監測到使用者發送到OSS指定類型的請求量觸發流控或達到彙報閾值時,以簡訊、郵件和DingTalk機器人的方式向指定連絡人群組發送警示資訊。
前提條件
已建立用於接收流控警示資訊的連絡人群組,並向連絡人群組添加多個連絡人。具體操作,請參見建立警示連絡人或警示連絡人群組。
建立警示規則
在左側導覽列,選擇 。
在事件監控頁簽,單擊另存新檔警示。
在建立/修改事件警示面板,設定以下參數,其他參數保留預設值,然後單擊確定。
參數 | 說明 |
警示規則名稱 | 設定為rule1。 |
產品類型 | 選擇Object Storage Service。 |
事件類型 | 選擇全部類型。 |
事件等級 | 選擇警告和資訊。 |
事件名稱 | 選擇全部事件。關於CloudMonitor支援的OSS流控事件的含義及說明,請參見CloudMonitor支援的OSS流控事件。 |
警示連絡人群組 | 選中警示方式下的警示通知,然後選擇已建立的警示連絡人群組。 |
通知方式 | 選擇Warning(簡訊+郵件+WebHook)。 |
以上事件警示規則配置完成後,如果請求觸發OSS流控或者超過彙報閾值,則CloudMonitor會自動向指定的連絡人發送警示通知。警示通知中包含警示資源、事件名稱、事件類別目錄以及事件詳情等資訊。關於警示通知的更多資訊,請參見警示通知。
流控警示為每分鐘一次,一分鐘內如果有30s或以上時間觸發流控則產生警示。彙報閾值為每10分鐘一次,只要1s內觸發彙報閾值則產生警示。
警示通知
如果指定連絡人收到了流控觸發警示通知,請參見以下表格瞭解各類流控事件觸發的原因、影響、對應的解決方案以及事件的詳細內容。
如果您希望在收到User層級的警示事件後,查看歸屬目前使用者下所有Bucket的流量使用方式,請提前建立OSS監控大盤。具體步驟,請參見建立系統預置大盤。
警示通知事件名稱
下表中的彙報閾值=流控閾值*0.8。
事件名稱 | 觸發原因 | 影響 | 解決方案 |
BucketIngressBandwidthThresholdExceeded | 當前Bucket的上行頻寬之和大於Bucket的上行流控閾值時觸發此事件。 | 上傳請求將會被流控且請求延遲會增加。 | 合理降低上傳請求並發數。 |
BucketEgressBandwidthThresholdExceeded | 當前Bucket的下行頻寬之和大於Bucket下行頻寬流控閾值時觸發此事件。 | 下載請求將會被流控且請求延遲會增加。 | 合理降低下載請求並發數。 |
BucketQpsThresholdExceeded | 當前Bucket的每秒請求數之和大於Bucket每秒請求數流控閾值時觸發此事件。 | OSS會拒絕響應部分請求並返回503。 | 合理降低每秒請求數。 |
UserIngressBandwidthThresholdExceeded | 歸屬目前使用者的所有Bucket的上行頻寬之和大於上行頻寬流控閾值時觸發此事件。 | 上傳請求將會被流控且請求延遲會增加。 | 合理降低上傳請求並發數。 |
UserEgressBandwidthThresholdExceeded | 歸屬目前使用者的所有Bucket的下行頻寬之和大於下行頻寬流控閾值時觸發此事件。 | 下載請求將會被流控且請求延遲會增加。 | 合理降低下載請求並發數。 |
UserQpsThresholdExceeded | 歸屬目前使用者的所有Bucket的每秒請求數之和大於每秒請求數流控閾值時觸發此事件。 | OSS會拒絕響應部分請求。 | 合理降低每秒請求數。 |
BucketImageCpuThresholdExceeded | 當前Bucket中所有用於處理圖片請求的CPU核心數之和大於Bucket CPU核心數流控閾值時觸發此事件。 | 圖片處理類型的請求延遲會增加。 | 合理降低圖片處理請求並發數。 |
UserImageCpuThresholdExceeded | 歸屬目前使用者的所有Bucket中用於處理圖片請求的CPU核心數之和大於該使用者的CPU核心數流控閾值時觸發此事件。 | 圖片處理類型的請求延遲會增加。 | 合理降低圖片處理請求並發數。 |
BucketMirrorIngressBandwidthThresholdExceeded | 當前Bucket的所有鏡像回源類型請求的頻寬之和大於流控閾值時觸發此事件。 | 鏡像回源請求延遲會增加。 | 合理降低鏡像回源類型請求並發數。 |
BucketMirrorQpsThresholdExceeded | 當前Bucket的所有鏡像回源類型的每秒請求數之和大於鏡像回源QPS流控閾值時觸發此事件。 | OSS會拒絕部分鏡像回源類型請求。 | 合理降低鏡像回源類型每秒請求數。 |
UserMirrorIngressBandwidthThresholdExceeded | 歸屬目前使用者的所有Bucket內的鏡像回源類型上傳請求流量之和大於使用者鏡像回源頻寬流控閾值時觸發此事件。 | 鏡像回源請求延遲會增加。 | 合理降低鏡像回源類型請求並發數。 |
UserMirrorQpsThresholdExceeded | 歸屬目前使用者的所有Bucket每秒發出的鏡像回源類型請求數之和大於使用者鏡像回源QPS流控閾值時觸發此事件。 | OSS將拒絕響應部分鏡像回源類型的請求。 | 合理降低鏡像回源類型每秒請求數。 |
BucketIngressBandwidth | 當前Bucket的上行請求頻寬之和大於彙報閾值時觸發此事件。 | Bucket的上行請求延遲會增加。 | 合理降低上行請求並發數。 |
BucketEgressBandwidth | 當前Bucket的下行請求頻寬之和大於彙報閾值時觸發此事件。 | Bucket的下行請求延遲會增加。 | 合理降低下行請求並發數。 |
UserIngressBandwidth | 歸屬目前使用者的所有Bucket的上行請求頻寬之和大於彙報閾值時觸發此事件。 | 使用者的上行請求延遲會增加。 | 合理降低上行請求並發數。 |
UserEgressBandwidth | 歸屬目前使用者的所有Bucket的下行請求頻寬之和大於彙報閾值時觸發此事件。 | 使用者的下行請求延遲會增加。 | 合理降低下行請求並發數。 |
警示通知詳細內容
參數 | 說明 | 樣本值 |
AvgSeverity | 流控的程度。數值越高代表流控越強,延時越高。取值範圍為0~100。 | 10 |
QosType | 觸發的流控類型。取值如下:
| IngressBandwidth |
TrafficSource | 觸發流控的流量來源。取值如下:
| net_all |
如何查看User層級的流量使用方式?
以下以收到警示事件UserEgressBandwidthThresholdExceeded為例,您可以通過以下步驟查看歸屬目前使用者下各個Bucket的流量使用方式。
在左側導覽列,選擇 。
在監控大盤頁面,單擊OSS監控大盤右側的查看。
根據流控警示類型,在流量監控地區查看具體哪些Bucket佔用了較高的流量。