RabbitMQ windows 管理工具
RabbitMQ提供了兩種管理rabbitmq的工具,一種是管理插件management plugin,一種是rabbitmqctl。
1. management plugin:包含兩種插件,一種是基于Web UI管理插件,另一種是基于指令行方式的管理工具rabbitmqadmin,二者實作的功能基本基本一樣,但後者更适合于腳本,rabbitmqadmin也是一個HTTP用戶端。因為基于web的管理插件使用簡單,是以主要介紹rabbitmqadmin,後面簡單介紹web UI版的。
2. rabbitmqctl:官網文檔
Management Plugin
RabbitMQ Management Command Line Tool (rabbitmqadmin)
擷取rabbitmqadmin及基本功能
以下步驟的前提是管理插件management pluin已安裝好。
1. 在浏覽器中輸入 (“server-name”為你rabbitmq的hostname)
http://server-name:15672/cli/
本機使用預設的localhost,在浏覽器中輸入
http://localhost:15672/cli/
2. 按照頁面提示,右鍵儲存下載下傳連結,浏覽器會下載下傳rabbitmqadmin檔案,并且自動加上字尾名txt,這個rabbitmqadmin.txt其實是一個python内容的檔案,是以需要用python解析,確定你電腦有python環境,并且是2.x版本,不支援3.x。
3. 将rabbitmqadmin.txt放到和python.exe同個路徑,并把字尾txt去掉,然後通過下面的方式去調用rabbitmqadmin
python.exe rabbitmqadmin
4. 使用下面的指令可以檢視使用說明
python.exe rabbitmqadmin --help
基本功能和網頁版插件一樣,包括:
- 檢視exchanges, queues, bindings, vhosts, users, permissions, connections和channels.
- overview資訊檢視
- 聲明,删除exchanges, queues, bindings, vhosts, users 和 permissions
- 釋出或擷取消息
- 關閉連接配接,釋放隊列
- 導入導出配置
5. rabbitmqadmin支援bash shell用tab鍵自動補齊,檢視bash自動補齊腳本可以調用一下指令
python.exe rabbitmqadmin --bash-completion
執行個體
- 獲得exchanges清單
python.exe rabbitmqadmin -V test list exchanges
- 獲得隊列及指定的資訊
rabbitmqadmin list queues vhost name node messages message_stats.publish_details.rate
- 獲得隊列的所有資訊
rabbitmqadmin -f long -d 3 list queues
- 連接配接到其他host
rabbitmqadmin -H myserver -u simon -p simon list vhosts
- 聲明exchange
rabbitmqadmin declare exchange name=my-new-exchange type=fanout
- 聲明隊列
rabbitmqadmin declare queue name=my-new-queue durable=false
- 釋出消息
rabbitmqadmin publish exchange=amq.default routing_key=test payload="hello, world"
- 擷取釋出的消息
rabbitmqadmin get queue=test requeue=false
- 導出配置資訊
rabbitmqadmin export rabbit.config
- 關閉所有連接配接
rabbitmqadmin -q close connection name=${conn}
Management Plugin Web UI
安裝及登入
- 打開RabbitMQ Command Prompt 指令提示視窗,輸入以下指令
rabbitmq-plugins enable rabbitmq_management
- 安裝完畢後在浏覽器位址欄中輸入下面位址就可以找到web UI
其中server-name是hostname,rabbitmq3.0以前的版本端口号要改成55672http://server-name:15672/
- 在登入視窗中輸入username和password,授權進入,預設二者均為guest。
簡單介紹
Web UI的進行上面執行個體中的操作比較簡單,隻需按照頁面提示來操作即可。下面介紹一些通用設定。
1. 權限 Permissions
user可以有不同的權限,包括 “management”,”policymaker”,”monitoring”,”administrator” 四種,這些權限類型以tags的形式賦予user,通過設定tags來設定權限。
2. 影響管理插件的配置資訊(在配置檔案中修改配置)
- 定義檔案
配置檔案為json格式,包含了整個broker的配置定義(包括隊列,轉發器,綁定,使用者,權限等),可以導出觀察,也可以導入,進而覆寫整個broker的配置。
- 消息速率
可以顯示隊列,通道,轉發器,虛拟主機的速率,也可以顯示他們間互相連接配接間的速率。
- 統計資料的間隔時間
設定 rabbit 中的 collect_statistics_interval 變量的值,然後重新開機RabbitMQ。
- Http請求日志
設定 rabbit_management 中的 http_log_dir 的路徑,然後重新開機RabbitMQ,隻有發送到API的請求可以被記錄,其他的file的http的請求不能被記錄。
例如,可以對tcp監聽端口進行設定,統計資料更新周期和http請求日志等進行配置
[
{rabbit, [ {tcp_listeners, [5672]},
{collect_statistics_interval, 10000} ] },
{rabbitmq_management, [ {http_log_dir, "/tmp/rabbit-mgmt"},
{rates_mode, basic}] }
].