用戶角色分爲5中類型:node
用戶角色可分爲五類,超級管理員, 監控者, 策略制定者, 普通管理者以及其餘。shell
可登錄管理控制檯(啓用management plugin的狀況下),可查看全部的信息,而且能夠對用戶,策略(policy)進行操做。數據庫
可登錄管理控制檯(啓用management plugin的狀況下),同時能夠查看rabbitmq節點的相關信息(進程數,內存使用狀況,磁盤使用狀況等)服務器
可登錄管理控制檯(啓用management plugin的狀況下), 同時能夠對policy進行管理。但沒法查看節點的相關信息app
僅可登錄管理控制檯(啓用management plugin的狀況下),沒法看到節點信息,也沒法對策略進行管理。運維
沒法登錄管理控制檯,一般就是普通的生產者和消費者。fetch
# 查詢節點狀態 rabbitmqctl status # 中止RabbitMQ應用,可是Erlang虛擬機仍是處於運行狀態。此命令的執行優先於其餘管理操做,好比rabbitmqctl reset。 rabbitmqctl stop_ app # 啓動RabbitMQ應用。在執行了其餘管理操做以後,從新啓動以前中止的RabbitMQ應用,比rabbitmqctl reset。 rabbitmqctl start_app # 重置RabbitMQ節點,將RabbitMQ節點重置還原到最初狀態。包括從原來所在的集羣中刪除此節點,從管理數據庫 中刪除全部的配置數據,如己配置的用戶、 vhost 等,以及刪除全部的持久化消息。執行 rabbi tmqctl reset 命令前必須中止RabbitMQ 應用。 rabbitmqctl reset # 強制將 RabbitMQ 節點重置還原到最初狀態。不一樣於 rabbitmqctl reset 命令, rabbitmqctl force_reset 命令不論當前管理數據庫的狀態和集羣配置是什麼,都會無條件地重直節點。它只能在數據庫或集羣配置己損壞的狀況下使用。與 rabbitmqctl reset 命令同樣,執行 rabbitmqctl force_reset 命令前必須先中止 RabbitMQ 應用。 rabbitmqctl force_reset # 指示RabbitMQ節點輪換日誌文件。RabbitMQ節點會將原來的日誌文件中的內容追加到"原 始名稱+後綴"的日誌文件中,而後再將新的日誌內容記錄到新建立的日誌中(與原日誌文件同名)。當目標文件不存在時,會從新建立。若是不指定後綴suffix. 則日誌文件只是從新打開而不會進行輪換。 rabbitmqctl rotate_logs {suffix} # 中止運行RabbitMQ的Erlang虛擬機和RabbitMQ應用。若是RabbitMQ沒有成功關閉,則會返回一個非零值。這個命令和rabbitmqctl stop 不一樣的是,它不須要指定pid_file而能夠阻塞等待指定進程的關閉。 rabbitmqctl shutdown # 中止運行RabbitMQ的Erlang虛擬機和RabbitMQ服務應用,其中pid_file是經過rabbitmq-server命令啓動RabbitMQ 服務時建立的,默認狀況下存放於mnesia目錄中。注意rabbitmq-server -detach 這個帶有 -detach後綴的命令來啓動 RabbitMQ 服務則不會生成 pid_file 文件。指定pid_file會等待指定進程的結束。 rabbitmqctl stop [pid_file]
# rabbitmq-plugins [-n node] {command} [command options ...] # 啓動插件 # rabbitmq-plugins enable [--offline] [--online] {plugin ...} rabbitmq-plugins enable rabbitmq_management # 禁用插件 # rabbitmq-plugins disable [--offline] [--online] {plugin ...} rabbitmq-plugins disable rabbitmq_management # 表示啓用參數指定的插件,而且禁用其餘全部插件 # 沒有參數表示禁用全部的插件 rabbitmq-plugin set rabbitmq_management # 顯示全部的插件,每一行一個 rabbitmq-plugins list # 顯示全部的插件,而且顯示插件的版本號和描述信息 rabbitmq-plugins list -v # 顯示全部名稱含有 "management" 的插件 rabbitmq-plugins list -v management # 顯示全部顯示或者隱式啓動的插件 rabbitmq-plugins list -e rabbit
# name:羅列出全部虛擬機,tracing:表示是否使用了 RabbitMQ 的 trace 功能 rabbitmqctl list_vhosts [name,tracing] # 查看交換器 rabbitmqctl list_exchanges [-p vhost] [exchangeinfoitem ...] # 查看綁定關係的細節 rabbitmqctl list_bindings [-p vhost] [bindinginfoitem ...] # 查看已聲明的隊列 rabbitmqctl list_queues [-p vhost] [queueinfoitem ...] # 返回 TCP!IP鏈接的統計信息。 rabbìtmqctl lìst_connectìons [connectìonìnfoìtem ...] # 返回當前全部信道的信息。 rabbitmqctl list_channels [channelinfoitem ...] # 列舉消費者信息 每行將顯示由製表符分隔的己訂閱隊列的名稱、相關信道的進程標識、consumerTag、是否須要消費端確認 prefetch_count 及參數列表這些信息。 rabbitmqctl list_consumers [-p vhost] # 建立一個新的 vhost ,大括號裏的參 數表示 vhost 的名稱。 rabbitmqctl add vhost {vhostName} # 刪除一個vhost,同時也會刪除其下全部的隊列、交換器、綁定關係、 用戶權限、參數和策略等信息。 rabbitmqctl delete_vhost {vhostName} # RabbitMQ 中的授予權限是指在 vhost 級別對用戶而言的權限授予。 rabbitmqctl set permissions [-p vhostName] {userName} {conf} {write} {read} # 對RabbitMQ 節點進行健康檢查,確認應用是否正常運行、list_queues list_channels 是否可以正常返回等。 rabbitmqctl node_health_check # 顯示每一個運行程序環境中每一個變量的名稱和值。 rabbitmqctl environment # 爲全部服務器狀態生成一個服務器狀態報告,井將輸出重定向到一個文件:rabbitmqctl report > report.txt rabbitmqctl report # 顯示 Broker 的狀態,好比當前 Erlang 節點上運行的應用程序、RabbitMQ/Erlang的版本信息、os 的名稱、內 存及文件描述符等統計信息。 rabbitmqctl status # 策略管理 # 策略查看 rabbitmqctl list_policies [-p <vhost>] # 策略設置 rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition> # 策略清除 rabbitmqctl clear_policy [-p <vhost>] <name>
# 顯示集羣的狀態 rabbitmqctl cluster_status # 將節點加入指定集羣中。在這個命令執行前須要中止 RabbitMQ應用井重置節點。 rabbitmqctl joio_cluster {cluster_node} [--ram] # 修改集羣節點的類型。在這個命令執行前須要中止 RabbitMQ應用。 rabbitmqctl change_cluster_node_type {disclram} # 將節點從集羣中刪除,容許離線執行。 rabbitmqctl forget_cluster_node [--offiine] # 來查看那些slaves已經完成同步: rabbitmqctl list_queues {queue_name} {slave_pids} synchronised_slave_pids # 手動的方式同步一個queue: rabbitmqctl sync_queue {queue_name} # 取消某個queue的同步功能: rabbitmqctl cancel_sync_queue {queue_name}
# 查看用戶列表 rabbitmqctl list_users # 刪除用戶 rabbitmqctl delete_user {username} # 清除用戶密碼 rabbitmqctl clear_password {username} # 修改密碼 rabbitmqctl change_password {username} {newPassword} # 驗證用戶 rabbitmqctl authentiçate_user {username} {passWord} # 新增用戶 rabbitmqctl add_user {username} {password} # 給用戶受權 rabbitmqctl set_user_tags {username} {roles} # 清楚用戶對某個虛擬機的權限。 rabbitmqctl clear_permissions [-p vhostName] {username} # 用來顯示虛擬主機上的權限。 rabbitmqctl list_permissions [-p vhost] # 用來顯示用戶在已分配虛擬機上的權限。 rabbitmqctl list_user_permissions {username}
# 能夠建立管理員用戶,負責整個MQ的運維 rabbitmqctl add_user admin adminpasspord # 賦予其administrator角色 rabbitmqctl set_user_tags admin administrator # 建立RabbitMQ監控用戶,負責整個MQ的監控 rabbitmqctl add_user user_monitoring passwd_monitor # 賦予其monitoring角色 rabbitmqctl set_user_tags user_monitoring monitoring