這是 OpenStack 實施經(jīng)驗分享系列的第 8 篇。
先來看張圖:
這是 Nova 的架構(gòu)圖,我們可以看到有兩個組件處于架構(gòu)的中心位置:數(shù)據(jù)庫和Queue。數(shù)據(jù)庫保存狀態(tài)信息,而幾乎所有的 nova-* 服務(wù)都直接依賴于 Queue 實現(xiàn)服務(wù)之間的通信和調(diào)用。
OpenStack 通常用 RabbitMQ 實現(xiàn)消息隊列,幾乎所有的 OpenStack 模塊都會用到 RabbitMQ,如果 RabbitMQ 掛了,OpenStack 也就癱了,可以說它是最重要的組件。
本節(jié)我們就來討論如何監(jiān)控 RabbitMQ 的狀態(tài),介紹一個非常簡單高效的方法。
啟用 RabbitMQ 管理 plugin
默認安裝中,我們只能用命令 rabbitmqctl 監(jiān)控 RabbitMQ,比如:rabbitmqctl list_queues,rabbitmqctl list_exchanges 等子命令。這種方式不太直觀,效率不高。
好在 RabbitMQ