Stories

Detail Return Return

阿里雲 RabbitMQ 可觀測性最佳實踐 - Stories Detail

阿里雲 RabbitMQ

阿里雲 RabbitMQ 是一款高性能、高可靠的消息中間件,支持多種消息協議和豐富的功能特性。它提供消息隊列功能,能夠實現應用間的消息解耦和異步通信,提升系統擴展性和穩定性。其支持多種消息持久化策略,確保消息不丟失;具備靈活的路由和負載均衡能力,可高效分發消息;還提供豐富的管理功能,如隊列監控、消息追蹤和權限管理等,幫助用户輕鬆管理和優化消息隊列,廣泛應用於分佈式系統、微服務架構和事件驅動應用中。

RabbitMQ 監控的必要性在於,它能夠實時掌握消息隊列的運行狀態,及時發現並解決潛在問題。通過監控消息堆積、消費延遲、連接數等關鍵指標,可以確保消息的高效傳輸和處理,避免因消息積壓或消費者故障導致的業務中斷。此外,監控還能幫助優化資源分配,提升系統性能,確保 RabbitMQ 在高併發和複雜業務場景下穩定運行,從而保障整個分佈式系統的可靠性和可用性。

觀測雲

觀測雲是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日誌管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面瞭解端到端的用户體驗追蹤,瞭解應用內函數的每一次調用,以及全面監控雲時代的基礎設施。此外,觀測雲還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。

部署 DataKit

DataKit 是一個開源的、跨平台的數據收集和監控工具,由觀測雲開發並維護。它旨在幫助用户收集、處理和分析各種數據源,如日誌、指標和事件,以便進行有效的監控和故障排查。DataKit 支持多種數據輸入和輸出格式,可以輕鬆集成到現有的監控系統中。

登錄觀測雲控制枱,在「集成」 - 「DataKit」選擇對應安裝方式,當前採用 Linux 主機部署 DataKit。

圖片

採集器配置

指標採集

  1. 登錄觀測雲控制枱
  2. 點擊【集成】菜單,選擇【雲賬號管理】
  3. 點擊【添加雲賬號】,選擇【阿里雲】,填寫界面所需的信息,如之前已配置過雲賬號信息,則忽略此步驟
  4. 點擊【測試】,測試成功後點擊【保存】,如果測試失敗,請檢查相關配置信息是否正確,並重新測試
  5. 點擊【雲賬號管理】列表上可以看到已添加的雲賬號,點擊相應的雲賬號,進入詳情頁
  6. 點擊雲賬號詳情頁的【集成】按鈕,在未安裝列表下,找到阿里雲 RabbitMQ,點擊【安裝】按鈕,彈出安裝界面安裝即可。

圖片

關鍵指標

指標名稱 描述 單位
ExchangeTPSIn Exchange 每秒消息流入數 count/s
ExchangeTPSOut Exchange 每秒消息流出數 count/s
InstanceChannels Instance 的 Channel 數量(廢棄) count
InstanceChannelsNew 通道數量 count
InstanceConnections 實例連接數 count
InstanceConsumers 消費者數量 count
InstanceMaxTpsInMinute 實例API請求速率峯值(每分鐘Max值) count/s
InstanceMessageInput 實例消息生產數量 count
InstanceMessageOutput 實例消息消費數量 count
InstanceQueueMessageAccumulation 實例Queue消息堆積量(推薦) count
InstanceQueueMessageInput 實例Queue消息生產數量(推薦) count
InstanceQueueMessageOutput 實例Queue消息消費數量(推薦) count
InstanceTPSIn Instance 每秒消息流入數 count/s
InstanceTPSOut Instance 每秒消息流出數 count/s
InstanceVhostChannels VHost 的 Channel 數 count
InstanceVhostConsumers VHost 消費者數量 count
InstanceVhostMessageInput 實例Vhost消息生產數量 count
InstanceVhostMessageOutput 實例Vhost消息消費數量 count
InstanceVhostQueueConsumers Queue 消費者數量 count
InstanceVhostQueueMessageAccum Queue 消息堆積量 count
InstanceVhostQueueMessageInput Queue 消息生產數量 count
InstanceVhostQueueMessageOutput Queue 消息消費數量 count
QueueTPSIn Queue 消息每秒流入數 count/s
QueueTPSOut Queue 每秒消息流出數 count/s
VHostTPSIn VHost 每秒消息流入數 count/s
VHostTPSOut VHost 每秒消息流出數 count/s
VhostChannels VHost 通道數量 count
VhostConnections VHost 連接數量 count

場景視圖

登錄觀測雲控制枱,點擊「場景」 -「新建儀表板」,輸入 “阿里雲 RabbitMQ”, 選擇 “阿里雲 RabbitMQ”,點擊 “確定” 即可添加視圖。

圖片

在 Queue 模塊下,可以看到隊列消息的生產、消費、堆積情況。

圖片

監控器(告警)

觀測雲內置了監控器模板,可以選擇從模版創建監控器,並開啓適合業務的監控器以及時通知相關成員關注問題,觸發條件、頻率等信息可以依據實際業務進行調整。

登錄觀測雲控制枱,點擊「監控」 -「新建監控器」,輸入 “阿里雲 RabbitMQ”, 選擇對應的監控器,點擊 “確定” 即可添加。

RabbitMQ 消息堆積異常

消息堆積可能會使得業務發生延遲

圖片

RabbitMQ 消息消費者數量為0

當消費者數量為0的時候,就很有可能導致消息堆積

圖片

阿里雲 RabbitMQ 實例連接數異常

需要注意阿里雲最大鏈接數為10000

圖片

總結

通過採集阿里雲 RabbitMQ 指標信息上報至觀測雲,能夠實時展示實例、Vhost、Queue 和 Exchange 的關鍵指標,如消息量、連接數和堆積量等,幫助企業快速發現潛在問題。這些監控功能不僅增強了系統的透明度,還顯著提升了運維效率,尤其適合分佈式和雲原生架構下的複雜業務場景。

user avatar jinyeyoudianerliang Avatar portlouis Avatar
Favorites 2 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.