溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

最簡單的RabbitMQ監(jiān)控方法是怎樣的

發(fā)布時(shí)間:2021-11-19 14:07:03 來源:億速云 閱讀:159 作者:柒染 欄目:云計(jì)算

本篇文章給大家分享的是有關(guān)最簡單的RabbitMQ監(jiān)控方法是怎樣的,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

OpenStack 通常用 RabbitMQ 實(shí)現(xiàn)消息隊(duì)列,幾乎所有的 OpenStack 模塊都會(huì)用到 RabbitMQ,如果 RabbitMQ 掛了,OpenStack 也就癱了,可以說它是最重要的組件。

我們就來討論如何監(jiān)控 RabbitMQ 的狀態(tài),介紹一個(gè)非常簡單高效的方法。

啟用 RabbitMQ 管理 plugin

默認(rèn)安裝中,我們只能用命令 rabbitmqctl 監(jiān)控 RabbitMQ,比如:rabbitmqctl list_queues,rabbitmqctl list_exchanges 等子命令。這種方式不太直觀,效率不高。

好在 RabbitMQ 有一個(gè)管理 plugin,提供了圖形管理界面,可以在運(yùn)行 RabbitMQ 的節(jié)點(diǎn)(一般是控制節(jié)點(diǎn))執(zhí)行下面的命令啟用。

rabbitmq-plugins enable rabbitmq_management


然后還需要?jiǎng)?chuàng)建一個(gè) 用戶,用來登錄管理控制臺(tái)了。
 

rabbitmqctl add_user  user_admin  passwd_admin

rabbitmqctl set_user_tags user_admin administrator

rabbitmqctl set_permissions -p / user_admin ".*">


然后就可以用 user_admin(密碼 passwd_admin)登錄了,地址是 

http://server-name:15672/


最簡單高效的監(jiān)控方法

Web 控制臺(tái)會(huì)展示很多 RabbitMQ 信息,但最最重要的就一個(gè):Unacked Message。這個(gè)數(shù)據(jù)會(huì)直接顯示在登錄之后的 Overview 標(biāo)簽中,第一眼就能看到。


Unacked Message 指的是還沒有被處理的消息。正常情況下,這個(gè)值應(yīng)該為 0。如果這個(gè)值不是 0,并且持續(xù)增長,那你就得注意了,這意味著 RabbitMQ 出現(xiàn)了問題,隊(duì)列開始積壓,消息開始堆積,是一個(gè)嚴(yán)重的信號(hào)。

接下來怎么辦呢?

這個(gè)時(shí)候就可以點(diǎn)開 Overview 后面的標(biāo)簽,查看到底消息是在哪個(gè)或者哪些 Connection,Channel,Exchange,Queues 中堆積,進(jìn)而分析問題的根源并解決。

 

一個(gè)真實(shí)案例

1. 客戶的 OpenStack 在正常運(yùn)行了一個(gè)月后突然掛了。

2. 日志分析發(fā)現(xiàn) nova,neutron 等模塊都報(bào)告找不到相關(guān)的 queue。因?yàn)槎鄠€(gè)模塊的日志都指向 RabbitMQ,看來 RabbitMQ 有最大嫌疑。

3. RabbitMQ 日志中 Error 已經(jīng)在持續(xù)刷屏,但信息很籠統(tǒng)。這時(shí) RabbitMQ 已經(jīng)處于無法工作的狀態(tài),只能重啟 RabbitMQ。

4. RabbitMQ 重啟后,OpenStack 自動(dòng)恢復(fù)。

5. 打開 RabbitMQ Web 控制臺(tái),發(fā)現(xiàn) Unacked Message > 0。

6. 觀察一段時(shí)間,發(fā)現(xiàn) Unacked Message 以固定的速度持續(xù)增長。

7. 定位 Message 增長的原因,發(fā)現(xiàn)均來自 Ceilometer 相關(guān)的 Queue。

8. 檢查 Ceilometer,發(fā)現(xiàn)了一個(gè)配置錯(cuò)誤,導(dǎo)致 Ceilometer 發(fā)送到 Queue 的數(shù)據(jù)沒有被處理。

9. 修改配置,重啟 Ceilometer,Unacked Message 開始下降,最后保持為 0。
這個(gè)問題就像內(nèi)存泄漏一樣,Unacked Message 逐漸積累,最終壓跨了整個(gè) OpenStack。

以上就是最簡單的RabbitMQ監(jiān)控方法是怎樣的,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI