阿里云 RabbitMQ
阿里云 RabbitMQ 是一款高性能、高可靠的消息中間件,支持多種消息協議和豐富的功能特性。它提供消息隊列功能,能夠實現應用間的消息解耦和異步通信,提升系統擴展性和穩定性。其支持多種消息持久化策略,確保消息不丟失;具備靈活的路由和負載均衡能力,可高效分發消息;還提供豐富的管理功能,如隊列監控、消息追蹤和權限管理等,幫助用戶輕松管理和優化消息隊列,廣泛應用于分布式系統、微服務架構和事件驅動應用中。
RabbitMQ 監控的必要性在于,它能夠實時掌握消息隊列的運行狀態,及時發現并解決潛在問題。通過監控消息堆積、消費延遲、連接數等關鍵指標,可以確保消息的高效傳輸和處理,避免因消息積壓或消費者故障導致的業務中斷。此外,監控還能幫助優化資源分配,提升系統性能,確保 RabbitMQ 在高并發和復雜業務場景下穩定運行,從而保障整個分布式系統的可靠性和可用性。
觀測云
觀測云是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日志管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面了解端到端的用戶體驗追蹤,了解應用內函數的每一次調用,以及全面監控云時代的基礎設施。此外,觀測云還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。
部署 DataKit
DataKit 是一個開源的、跨平臺的數據收集和監控工具,由觀測云開發并維護。它旨在幫助用戶收集、處理和分析各種數據源,如日志、指標和事件,以便進行有效的監控和故障排查。DataKit 支持多種數據輸入和輸出格式,可以輕松集成到現有的監控系統中。
登錄觀測云控制臺,在「集成」 - 「DataKit」選擇對應安裝方式,當前采用 Linux 主機部署 DataKit。
采集器配置
指標采集
- 登錄觀測云控制臺
- 點擊【集成】菜單,選擇【云賬號管理】
- 點擊【添加云賬號】,選擇【阿里云】,填寫界面所需的信息,如之前已配置過云賬號信息,則忽略此步驟
- 點擊【測試】,測試成功后點擊【保存】,如果測試失敗,請檢查相關配置信息是否正確,并重新測試
- 點擊【云賬號管理】列表上可以看到已添加的云賬號,點擊相應的云賬號,進入詳情頁
- 點擊云賬號詳情頁的【集成】按鈕,在未安裝列表下,找到阿里云 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 的關鍵指標,如消息量、連接數和堆積量等,幫助企業快速發現潛在問題。這些監控功能不僅增強了系統的透明度,還顯著提升了運維效率,尤其適合分布式和云原生架構下的復雜業務場景。