全部產品
Search
文件中心

ApsaraMQ for RocketMQ:配置訊息監控警示實現風險預警

更新時間:Dec 28, 2024

雲訊息佇列 RocketMQ 版支援通過CloudMonitor配置警示規則,以便您可以即時監控執行個體的運行狀態和關鍵的業務指標,並能夠及時收到異常的警示通知,實現生產環境的風險預警。

背景資訊

雲訊息佇列 RocketMQ 版提供全託管的Message Service,對於每個規格的執行個體都有明確的SLA保障,您購買執行個體後即可保證訊息收發TPS、訊息儲存、網路吞吐等指標達到規格規定的能力。

您無需擔心執行個體效能問題,但實際生產環境中仍需要關注實際的業務消耗、業務規模等是否達到最高水位或執行個體的規格限制。雲訊息佇列 RocketMQ 版聯合阿里雲CloudMonitor提供了開箱即用且免費的監控警示服務,可協助您解決如下問題:

  • 執行個體規格水位監控預警

    若您實際使用的指標值超過執行個體的規格限制,雲訊息佇列 RocketMQ 版會進行強制限流。提前配置執行個體規格水位警示可以提前發現規格超限風險並及時升配,避免因限流導致的業務故障。

  • 商務邏輯錯誤監控預警

    您在訊息收發時可能會收到異常報錯,配置調用錯誤警示可以提前在業務反饋前發現異常,協助您提前判斷異常來源並及時修複。

  • 業務效能指標監控預警

    如果您的訊息鏈路有相關效能指標要求,例如RT耗時、訊息延遲等,提前配置業務指標警示可以協助您提前治理業務風險。

警示配置原則

雲訊息佇列 RocketMQ 版提供了豐富的Metrics指標警示監控項。各監控項可分為運行水位、收發效能、異常錯誤事件三類警示。

根據大量生產環境實踐經驗,建議您根據以下原則配置如下警示:

說明

以下核心監控項僅為基礎推薦配置項,雲訊息佇列 RocketMQ 版提供了全面、豐富的監控指標項,您可以根據業務需求進行更細粒度和更全面的警示配置。更多資訊,請參見監控警示

RocketMQ監控警示分類

重要監控警示

最佳配置時機

關注人員角色

執行個體運行水位和消耗指標

  • 執行個體發送API調用頻率

  • 執行個體消費API調用頻率

  • 公網下行頻寬消耗

  • 配置時機:執行個體建立成功後立即配置。

  • 原因分析:執行個體級的水位消耗和單個Topic、Group無關,應該考慮整體水位是否超限。

資源營運人員

訊息收發效能指標

  • 具體Topic的發送TPS

  • 具體Group的消費TPS

  • Group消費堆積

  • Group消費延遲時間

  • 配置時機:業務開發上線後立即配置。

  • 原因分析:每個業務上線後需要對當前業務的收發效能容忍能力做預警。

  • 資源營運人員

  • 業務開發人員

訊息收發例外狀況事件

  • 死信訊息產生

  • 限流次數

  • 配置時機:業務開發上線後立即配置。

  • 原因分析:每個業務上線後需要對失敗情況做預警,方便分析生產問題。

  • 資源營運人員

  • 業務開發人員

警示配置操作入口

  1. 登入雲訊息佇列 RocketMQ 版控制台,在左側導覽列單擊執行個體列表

  2. 在頂部功能表列選擇地區,如華東1(杭州),然後在執行個體列表中,單擊目標執行個體名稱。

  3. 在左側導覽列單擊監控警示,然後單擊创建报警规则

最佳實務

配置執行個體發送/消費API調用TPS峰值警示

  • 背景:雲訊息佇列 RocketMQ 版 5.0執行個體規格明確規定了訊息收發基礎規格TPS上限,即訊息收發API調用頻率。若執行個體訊息收發API調用TPS峰值超過規格限制,會導致執行個體被限流。執行個體的訊息收發基礎規格TPS上限,請參見執行個體規格限制

  • 未配置風險:若未配置該監控警示,執行個體訊息收發API調用超限不會提前預警,執行個體被限流後,導致部分訊息收發請求失敗。

  • 配置時機:建議執行個體建立完成且配置好訊息收發比例後配置警示。調整訊息收發比例按照如下步驟操作:

    1. 執行個體詳情頁面,單擊基本資料頁簽。

    2. 單擊編輯,進入修改配置面板,即可調整收發請求比例。

配置執行個體發送API調用TPS峰值警示

image

  • 建議閾值:建議設定為執行個體發送TPS峰值上限的70%。即訊息發送TPS峰值上限為5000,則閾值設定為3500。

    • 專業版和鉑金版執行個體支援突發流量彈性,可以先開啟彈性TPS功能,按照彈性規格上限(發送TPS峰值上限+彈性發送TPS峰值)的70%進行評估。

    • Serverless執行個體支援自適應彈效能力,按照執行個體的彈性發送TPS峰值的70%進行評估。

    • 執行個體的發送TPS峰值上限、彈性發送TPS峰值可以在控制台的執行個體詳情頁面中查看。

  • 警示處理:收到執行個體發送API調用頻率警示後,建議按照如下步驟處理:

    1. 執行個體詳情頁面中,單擊儀錶盤頁簽。

    2. 限流相關指標地區查看生產 TPS 水位生產 TPS MAX 值的曲線,確定達到警示閾值的時間規律。

    3. 執行個體概覽地區查看生產者發送到服務端的訊息速率(條/分鐘),根據達到警示閾值的時間規律,找出發送異常的Topic,根據曲線分析業務變化是否合理。

    4. 如果業務變化異常,則應該聯絡業務方進一步分析異常原因。

    5. 如果業務變化正常,說明執行個體規格不足以支撐業務流量,建議立即通過執行個體升配調整訊息收發計算規格。

配置執行個體消費API調用TPS峰值警示

image

  • 建議閾值:建議設定為執行個體接收TPS峰值上限的70%。即訊息接收TPS峰值上限為5000,則閾值設定為3500。

    • 專業版和鉑金版執行個體支援突發流量彈性,可以先開啟彈性TPS功能,按照彈性規格上限(接收TPS峰值上限+彈性接收TPS峰值)的70%進行評估。

    • Serverless執行個體支援自適應彈效能力,按照執行個體的彈性接收TPS峰值的70%進行評估。

    • 執行個體的接收TPS峰值上限、彈性接收TPS峰值可以在控制台的執行個體詳情頁面中查看。

  • 警示處理:收到執行個體消費API調用頻率警示後,建議按照如下步驟處理:

    1. 執行個體詳情頁面中,單擊儀錶盤頁簽。

    2. 限流相關指標地區查看消費 TPS 水位消費 TPS MAX 值的曲線,確定達到警示閾值的時間規律。

    3. 執行個體概覽地區查看服務端投遞給消費者的訊息速率(條/分鐘),根據達到警示閾值的時間規律,找出消費異常的Group ID,根據曲線分析業務變化是否合理。

    4. 如果業務變化異常,則應該聯絡業務方進一步分析異常原因。

    5. 如果業務變化正常,說明執行個體規格不足以支撐業務流量,建議立即通過執行個體升配調整訊息收發計算規格。

配置生產/消費者每分鐘發送/接收訊息數量警示

  • 背景:雲訊息佇列 RocketMQ 版支援監控Topic和Group層級的訊息收發TPS指標,通過該監控項可針對特定業務的訊息收發TPS進行預警,協助您及時瞭解業務規模。

  • 未配置風險:Topic的訊息收發TPS代表業務的調用頻率,如未配置該警示,流量跌零或突發暴漲不會提前預警,有可能會產生業務預期之外的風險。

  • 配置時機:建議業務上線且流量平穩後配置警示。

配置生產者每分鐘發送訊息數量警示

image

  • 建議閾值:業務側上線後根據實際平穩期流量預估警示閾值。

  • 警示處理:收到訊息收發TPS警示後,建議按照如下步驟處理:

    1. Topic 管理頁面,單擊警示規則中配置的Topic名稱。

    2. Topic 詳情頁面單擊儀錶盤頁簽。

    3. 查看訊息量(條/分鐘)生產的曲線,基於業務模型判斷曲線變化的合理性,分析是否異常。

配置消費者每分鐘接收訊息數量警示

image

  • 建議閾值:業務側上線後根據實際平穩期流量預估警示閾值。

  • 警示處理:收到訊息收發TPS警示後,建議按照如下步驟處理:

    1. Group 管理頁面,單擊警示規則中配置的Group ID。

    2. Group 詳情頁面單擊儀錶盤頁簽。

    3. 查看訊息生產消費速率變化趨勢 (條/分鐘)消費速率(條/分鐘)的曲線,基於業務模型判斷曲線變化的合理性,分析是否存在異常。

配置公網下行頻寬警示

  • 背景:雲訊息佇列 RocketMQ 版 5.0系列執行個體支援開通公網訪問能力,但公網訪問受下行頻寬節流設定。如果超過規格中的頻寬節流設定,可能會導致公網鏈路的訪問受損。

  • 未配置風險:若未配置該警示,執行個體的公網流量超過頻寬節流設定不會提前預警,會導致部分報文丟棄、用戶端調用逾時或失敗。

  • 配置時機:建議非Serverless執行個體建立完成且開啟公網訪問能力後配置警示。

    說明

    Serverless執行個體支援彈性頻寬,可以不用配置警示。

image

  • 建議閾值:建議設定為規格上限的70%,因為流量頻寬採集工具只能採集到50%,所以設定的閾值為在規格上限的70%的基礎上再降50%。例如,您購買的執行個體流量頻寬為1 Mb/s,則建議警示閾值設定為43750 B/s。執行個體的公網頻寬資訊可以在控制台的執行個體詳情頁面基本資料頁簽中運行資訊地區查看。

    說明

    閾值估算的時候要先把Mb/s轉化為B/s,然後再進行計算。例如:1 Mb/s=1×10^6 bits/s=(1×10^6)/8 B/s=125000 B/s,設定的閾值為:125000 B/s×0.7×0.5=43750 B/s

  • 警示處理:收到公網下行流量頻寬警示後,建議按照如下步驟處理:

    1. 執行個體詳情頁面中,單擊儀錶盤頁簽。

    2. 計費指標概覽地區查看公網下行流量頻寬指標中下行頻寬的曲線,確定達到警示閾值的時間規律。需要注意閾值和指標中的單位統一。

    3. 執行個體概覽地區查看生產者發送到服務端的訊息速率(條/分鐘)服務端投遞給消費者的訊息速率(條/分鐘),根據達到警示閾值的時間規律,找出資料異常的Topic和Group。並根據曲線分析業務變化是否合理。

    4. 如果業務變化異常,則應該聯絡業務方進一步分析異常原因。

    5. 如果業務變化正常,說明執行個體規格不足以支撐業務流量,建議立即通過執行個體升配調整公網頻寬規格。

配置訊息堆積量警示

說明

訊息堆積量統計存在一定的波動性和誤差,幾十條規模的訊息堆積不建議配置為監控閾值,如果業務對少量堆積也非常敏感,建議使用消費堆積延遲時間閾值來監控。

  • 背景:雲訊息佇列 RocketMQ 版支援按照ConsumerGroup粒度監控訊息堆積量,可以用來預警下遊消費堆積故障情境。

  • 未配置風險:訊息堆積警示是雲訊息佇列 RocketMQ 版的典型情境和能力,但是對於部分需要即時處理訊息的情境,需要及時關注並控制未處理的訊息量,避免因為消費堆積造成業務受損。

  • 配置時機:建議業務上線且流量平穩後配置警示。

image

  • 建議閾值:業務側上線後根據可容忍的經驗評估警示閾值。

  • 警示處理:收到訊息堆積量警示後,建議按照如下步驟處理:

    1. Group 管理頁面,單擊警示規則中配置的Group ID。

    2. Group 詳情頁面單擊儀錶盤頁簽。

    3. 查看堆積相關指標堆積量的曲線,分析堆積量的變化趨勢,找到最初產生堆積的時刻。

    4. 基於業務的變更及應用日誌,分析初始堆積時刻的變化因素,找到堆積原因。具體消費堆積原理,請參見消費者分類

    5. 根據堆積原因,判斷是進行消費者應用擴容還是修複消費邏輯缺陷。

配置消費堆積延遲時間警示

說明

消費堆積延遲時間是根據當前消費組所有未消費訊息中,最早一條堆積訊息的延遲時間計算,因此具備累積性和敏感性。收到消費堆積延遲時間警示後,您需要先判斷業務受損是少量訊息消費被卡住還是全域的消費延遲。

  • 背景:雲訊息佇列 RocketMQ 版支援按照ConsumerGroup粒度監控消費堆積延遲時間,可以為消費堆積情境提供更具體的分析指標。

  • 未配置風險:訊息堆積是雲訊息佇列 RocketMQ 版的典型情境和能力,但是對於部分需要即時處理訊息的情境,需要及時關注並控制堆積訊息的延時時間,避免因為消費延遲造成業務受損。

  • 配置時機:建議業務上線且流量平穩後配置警示。

image

  • 建議閾值:業務側上線後根據可容忍的經驗評估警示閾值。

  • 警示處理:收到訊息堆積量警示後,建議按照如下步驟處理:

    1. Group 管理頁面,單擊警示規則中配置的Group ID。

    2. Group 詳情頁面單擊儀錶盤頁簽。

    3. 查看堆積相關指標堆積量的曲線,分析堆積量的變化趨勢,找到最初產生堆積的時刻。

    4. 基於業務的變更及應用日誌,分析初始堆積時刻的變化因素,找到堆積原因。具體消費堆積原理,請參見消費者分類

    5. 根據堆積原因,判斷是進行消費者應用擴容還是修複消費邏輯缺陷。

配置限流次數警示

  • 背景:雲訊息佇列 RocketMQ 版支援將指定執行個體觸發限流的事件作為監控項,通過對限流次數的監控,可以協助您瞭解當前業務的受損情況。

  • 未配置風險:限流次數越多,說明執行個體規格超限越嚴重,應該及時升級執行個體規格。

  • 配置時機:業務上線且流量平穩後。

    • 執行個體級限流次數:建議執行個體建立後配置警示。

    • Topic和Group層級限流次數:建議業務上線且流量平穩後配置警示。

image

  • 建議閾值:業務側上線後根據可容忍的經驗評估警示閾值。

  • 警示處理:收到限流次數警示後,建議按照如下步驟處理:

    1. 執行個體詳情頁面中,單擊儀錶盤頁簽。

    2. 限流相關指標地區查看被限流請求分布(生產),分析限流出現的時間點和規律。

    3. 執行個體概覽地區查看生產者發送到服務端的訊息速率(條/分鐘)指標,根據限流出現的時間點和規律找出資料異常的Topic,並查看該Topic曲線,判斷流量上漲是否符合業務預期。

    4. 基於以上原因分析,如果流量上漲符合預期,則進行規格升配;若不符合預期,則排查異常流量來源。