rabbitmq學習之路-rabbitmqctl


rabbitmqctl使用

學習rabbitmq,原理之后第一個要掌握的就是rabbitmqctl這個命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,當然還有HTTP API和UI兩種管理手段。

rabbitmqctl的使用方法:

rabbitmqctl [-n <node>] [-q] <command> [<command options>] 
    -n node 默認node名稱是"rabbit@server",如果你的主機明是'server.example.com',那么node名稱是'rabbit@server'-q 安靜輸出模式,信息會被禁止輸出

Commands:

基本的管理功能

stop [<pid_file>]  
    #停止在erlang node上運行的rabbitmq,會使rabbitmq停止
stop_app   
    #停止erlang node上的rabbitmq的應用,但是erlang node還是會繼續運行的
start_app   
    #啟動erlan node上的rabbitmq的應用
wait <pid_file>  
    #等待rabbitmq服務啟動
reset  
    #初始化node狀態,會從集群中刪除該節點,從管理數據庫中刪除所有數據,例如vhosts等等。在初始化之前rabbitmq的應用必須先停止
force_reset  
    #無條件的初始化node狀態
rotate_logs <suffix>   
    #輪轉日志文件

cluster管理

join_cluster <clusternode> [--ram]  
    #clusternode表示node名稱,--ram表示node以ram node加入集群中。默認node以disc node加入集群,在一個node加入cluster之前,必須先停止該node的rabbitmq應用,即先執行stop_app。
cluster_status  
    #顯示cluster中的所有node
change_cluster_node_type disc | ram  
    #改變一個cluster中node的模式,該節點在轉換前必須先停止,不能把一個集群中唯一的disk node轉化為ram node
forget_cluster_node [--offline]  
    #遠程移除cluster中的一個node,前提是該node必須處於offline狀態,如果是online狀態,則需要加--offline參數。
update_cluster_nodes clusternode   
    #
sync_queue queue  
    #同步鏡像隊列
cancel_sync_queue queue

用戶管理

add_user <username> <password>  
    #在rabbitmq的內部數據庫添加用戶
delete_user <username>  
    #刪除一個用戶
change_password <username> <newpassword>  
    #改變用戶密碼  \\改變web管理登陸密碼
clear_password <username> 
    #清除用戶密碼,禁止用戶登錄
set_user_tags <username> <tag> ...
    #設置用戶tags
list_users  
    #列出用戶
add_vhost <vhostpath>  
    #創建一個vhosts
delete_vhost <vhostpath>  
    #刪除一個vhosts
list_vhosts [<vhostinfoitem> ...]  
    #列出vhosts
set_permissions [-p <vhostpath>] <user> <conf> <write> <read>  
    #針對一個vhosts 給用戶賦予相關權限
clear_permissions [-p <vhostpath>] <username>  
    #清除一個用戶對vhosts的權限
list_permissions [-p <vhostpath>]   
    #列出哪些用戶可以訪問該vhosts
list_user_permissions <username>  
    #列出該用戶的訪問權限
set_parameter [-p <vhostpath>] <component_name> <name> <value>
    #
clear_parameter [-p <vhostpath>] <component_name> <key>
    #
list_parameters [-p <vhostpath>]
    #

policy管理,策略用來控制和修改queues和exchange在集群中的行為,策略可以應用到vhost

set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>]  
<name> <pattern> <definition>    
    #name 策略名稱,pattern  正則表達式,用來匹配資源,符合的就會應用設置的策略,apply-to 表示策略應用到什么類型的地方,一般有queues、exchange和all,默認是all。priority 是個整數優先級,definition 是json格式設置的策略。
clear_policy [-p <vhostpath>] <name>  
    #清除一個策略
list_policies [-p <vhostpath>]  
    #列出已有的策略

queues && exchange狀態信息

list_queues [-p <vhostpath>] [<queueinfoitem> ...]  
    #返回queue的信息,如果省略了-p參數,則默認顯示的是"/"vhosts的信息。
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]  
    #返回exchange的信息。
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...] 
    #返回綁定信息。
list_connections [<connectioninfoitem> ...]  
    #返回鏈接信息。
list_channels [<channelinfoitem> ...]  
    #返回目前所有的channels。
list_consumers [-p <vhostpath>]  
    #返回consumers,
status  
    #顯示broker的狀態
environment  
    #顯示環境參數的信息
report  
    #返回一個服務狀態report,
eval <expr>

rabbitmq支持各種插件,開啟插件可以使用rabbitmq-plugins命令

插件的開啟和關閉方法

rabbitmq-plugins <command> [<command options>]
Commands:
    list [-v] [-m] [-E] [-e] [<pattern>]  顯示所有的的插件。-v 顯示版本 -m 顯示名稱 -E 顯示明確已經開啟的 -e顯示明確的和暗中開啟的
    enable <plugin> ...   開啟一個插件
    disable <plugin> ...  關閉一個插件

在debian/ubuntu下插件一般安裝路徑:/usr/lib/rabbitmq/lib/rabbitmq_server-3.2.2/plugins

 

開啟:rabbitmq-plugins enable rabbitmq_management

rabbitmq_management提供一個基於HTTP的API接口,來管理和監控你的rabbitmq。他有web方式和CLI方式,其實web方式是在后端調用HTTP api

rabbitmq_management插件的用法:

web http://host:15672/   
api http://host:15672/api/ 
cli http://host:15672/cli

 

 
        
 
        

 

 

 

 

 

 

 

 

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM