云消息隊列 RocketMQ 版支持通過云監控配置告警規則,以便您可以實時監控實例的運行狀態和關鍵的業務指標,并能夠及時收到異常的告警通知,實現生產環境的風險預警。
背景信息
云消息隊列 RocketMQ 版提供全托管的消息服務,對于每個規格的實例都有明確的SLA保障,您購買實例后即可保證消息收發TPS、消息存儲、網絡吞吐等指標達到規格規定的能力。
您無需擔心實例性能問題,但實際生產環境中仍需要關注實際的業務消耗、業務規模等是否達到最高水位或實例的規格限制。云消息隊列 RocketMQ 版聯合阿里云云監控提供了開箱即用且免費的監控報警服務,可幫助您解決如下問題:
實例規格水位監控預警
若您實際使用的指標值超過實例的規格限制,云消息隊列 RocketMQ 版會進行強制限流。提前配置實例規格水位告警可以提前發現規格超限風險并及時升配,避免因限流導致的業務故障。
業務邏輯錯誤監控預警
您在消息收發時可能會收到異常報錯,配置調用錯誤告警可以提前在業務反饋前發現異常,幫助您提前判斷異常來源并及時修復。
業務性能指標監控預警
如果您的消息鏈路有相關性能指標要求,例如RT耗時、消息延遲等,提前配置業務指標告警可以幫助您提前治理業務風險。
告警配置原則
云消息隊列 RocketMQ 版提供了豐富的Metrics指標和告警監控項。各監控項可分為運行水位、收發性能、異常錯誤事件三類告警。
根據大量生產環境實踐經驗,建議您根據以下原則配置如下告警:
以下核心監控項僅為基礎推薦配置項,云消息隊列 RocketMQ 版提供了全面、豐富的監控指標項,您可以根據業務需求進行更細粒度和更全面的告警配置。更多信息,請參見監控報警。
RocketMQ監控告警分類 | 重要監控告警 | 最佳配置時機 | 關注人員角色 |
實例運行水位和消耗指標 |
|
| 資源運維人員 |
消息收發性能指標 |
|
|
|
消息收發異常事件 |
|
|
|
告警配置操作入口
登錄云消息隊列 RocketMQ 版控制臺,在左側導航欄單擊實例列表。
在頂部菜單欄選擇地域,如華東1(杭州),然后在實例列表中,單擊目標實例名稱。
在左側導航欄單擊監控報警,然后單擊創建報警規則。
配置實例發送/消費API調用頻率告警最佳實踐
背景:消息隊列RocketMQ 5.0實例規格明確規定了消息收發計算規格,即消息收發API調用頻率。若實例消息收發API調用頻率超過規格限制,會導致實例被限流。
未配置風險:若未配置該監控告警,實例消息收發API調用超限不會提前預警,實例被限流后,導致部分消息收發請求失敗。
配置時機:建議實例創建完成且配置好消息收發比例后配置告警。
建議閾值:建議設置為規格上限的70%。例如,您購買的實例消息收發TPS上限為10000,且消息收發比為1∶1,即消息發送和消息消費API調用TPS上限都為5000,則建議消息發送API調用頻率和消息消費API調用頻率的閾值都設置為3500。
專業版和鉑金版實例支持突發流量彈性,可以先打開突發流量彈性后,按照彈性規格上限的70%進行評估。
告警處理:收到實例發送或消費API調用頻率告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,分析API調用頻率Top級數據的Topic和Group,判斷業務變化是否合理。
如果業務變化異常,則應該聯系業務方進一步分析異常原因。
如果業務變化正常,說明實例規格不足以支撐業務流量,建議立即通過實例升配調整消息收發計算規格。
配置Topic發送/Group消費TPS告警最佳實踐
背景:消息隊列RocketMQ支持監控Topic和Group級別的消息收發TPS指標,通過該監控項可針對特定業務的消息收發TPS進行預警,幫助您及時了解業務規模。
未配置風險:Topic的消息收發TPS代表業務的調用頻率,如未配置該告警,流量跌零或突發暴漲不會提前預警,有可能會產生業務預期之外的風險。
配置時機:建議業務上線且流量平穩后配置告警。
建議閾值:業務側上線后根據實際平穩期流量預估報警閾值。
告警處理:收到消息收發TPS告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,查看指定Topic或Group的消息收發TPS曲線,分析流量的變化趨勢是否正常。
基于業務模型判斷流量趨勢的合理性,分析是否異常。
配置公網下行帶寬告警最佳實踐
背景:消息隊列RocketMQ 5.0系列實例支持開通公網訪問能力,但公網訪問受下行帶寬限制。如果超過規格中的帶寬限制,可能會導致公網鏈路的訪問受損。
未配置風險:若未配置該告警,實例的公網流量超過帶寬限制不會提前預警,會導致部分報文丟棄、客戶端調用超時或失敗。
配置時機:建議實例創建完成且開啟公網訪問能力后配置告警。
建議閾值:建議設置為規格上限的70%。例如,您購買的實例流量帶寬為128 Byte/s,則建議告警閾值設置為90 Byte/s。
告警處理:收到公網下行流量帶寬告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,確認業務變化是否合理。
如果業務變化異常,則應該聯系業務方進一步分析異常原因。
如果業務變化正常,說明實例規格不足以支撐業務流量,建議立即通過實例升配調整公網帶寬規格。
配置消息堆積量告警最佳實踐
消息堆積量統計存在一定的波動性和誤差,幾十條規模的消息堆積不建議配置為監控閾值,如果業務對少量堆積也非常敏感,建議使用消費堆積延遲時間閾值來監控。
背景:消息隊列RocketMQ支持按照ConsumerGroup粒度監控消息堆積量,可以用來預警下游消費堆積故障場景。
未配置風險:消息堆積是消息隊列RocketMQ的典型場景和能力,但是對于部分需要實時處理消息的場景,需要及時關注并控制未處理的消息量,避免因為消費堆積造成業務受損。
配置時機:建議業務上線且流量平穩后配置告警。
建議閾值:業務側上線后根據可容忍的經驗評估報警閾值。
告警處理:收到消息堆積量告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,查看指定Group的消息堆積曲線,分析堆積量的變化趨勢,找到初始產生堆積的時刻。
基于業務的變更及應用日志,分析初始堆積時刻的變化因素,找到堆積原因。具體消費堆積原理,請參見消費者分類。
根據堆積原因,判斷是進行消費者應用擴容還是消費邏輯缺陷修復。
配置消費堆積延遲時間告警最佳實踐
消費堆積延遲時間是根據當前消費組所有未消費消息中,最早一條堆積消息的延遲時間計算,因此具備累積性和敏感性。收到消費堆積延遲時間告警后,您需要先判斷業務受損是少量消息消費被卡住還是全局的消費延遲。
背景:消息隊列RocketMQ版支持按照ConsumerGroup粒度監控消費堆積延遲時間,可以為消費堆積場景提供更具體地分析指標。
未配置風險:消息堆積是消息隊列RocketMQ的典型場景和能力,但是對于部分需要實時處理消息的場景,需要及時關注并控制堆積消息的延時時間,避免因為消費延遲造成業務受損。
配置時機:建議業務上線且流量平穩后配置告警。
建議閾值:業務側上線后根據可容忍的經驗評估報警閾值。
告警處理:收到消費堆積延遲時間告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,查看指定Group的消息堆積曲線,分析堆積量的變化趨勢,找到初始產生堆積的時刻。
基于業務的變更及應用日志,分析初始堆積時刻的變化因素,找到堆積原因。具體消費堆積原理,請參見消費者分類。
根據堆積原因,判斷是進行消費者應用擴容還是消費邏輯缺陷修復。
配置限流次數告警最佳實踐
背景:消息隊列RocketMQ版支持將指定實例觸發限流的事件作為監控項,通過對限流次數的監控,可以幫助您了解當前業務的受損情況。
未配置風險:限流次數越多,說明實例規格超限越嚴重,應該及時升級實例規格。
配置時機:業務上線且流量平穩后。
實例級限流次數:建議實例創建后配置告警。
Topic和Group級別限流次數:建議業務上線且流量平穩后配置告警。
建議閾值:業務側上線后根據可容忍的經驗評估報警閾值。
告警處理:收到限流次數告警后,建議按照如下步驟處理:
進入消息隊列RocketMQ版控制臺的儀表盤頁面,查看指定實例、Topic或Group的消息收發TPS曲線,分析限流出現的時間點和規律。
根據儀表盤的統計數據,排查消息收發Top級數據的Topic或Group,判斷流量上漲是否符合業務預期。
基于以上原因分析,如果流量上漲符合預期,則進行規格升配;若不符合預期,則排查異常流量來源。