RabbitMQ的管理

之前在RabbitMQ在Linux環境下安裝及運行中,我們介紹了CentOS環境下如何安裝Erlang及RabbitMQ,這裏緊接着來了解一下RabbitMQ的常用操作管理。


啓動和關閉RabbitMQ

啓動: rabbitmq-server

後臺運行: rabbitmq-server -detached

停止: rabbitmqctl stop



獲取服務器狀態信息

檢查消息節點是否正常:rabbitmqctl status



管理虛擬主機

AMQP及RabbitMQ概論中,我們就介紹過虛擬主機,可以將衆多客戶端進行區分,又可以避免隊列和交換器的命名衝突。


這裏我們可以利用rabbitmqctl list_vhosts來查看所有的虛擬主機,如下:
在這裏插入圖片描述


當然我們也可以使用 rabbitmqctl add_vhost xxx 來新增虛擬主機如下:
在這裏插入圖片描述



用戶管理

guest是默認用戶,具有默認virtual host "/"上的全部權限,僅能通過localhost訪問RabbitMQ包括Plugin,建議刪除或更改密碼。可通過將配置文件中loopback_users來取消其本地訪問的限制。


rabbitmqctl add_user [username] [pwd]    添加用戶
rabbitmqctl delete_user [username]      刪除用戶
rabbitmqctl list_users            查看所有用戶
rabbitmqctl change_password Username Newpassword     修改密碼
在這裏插入圖片描述



用戶權限控制

用戶僅能對其所能訪問的virtual hosts中的資源進行操作。這裏的資源指的是virtual hosts中的exchanges、queues等,操作包括對資源進行配置、寫、讀。配置權限可創建、刪除、資源並修改資源的行爲,寫權限可向資源發送消息,讀權限從資源獲取消息。比如:

  • exchange和queue的declare與delete分別需要:exchange和queue上的配置權限
  • queue的bind與unbind需要:queue寫權限,exchange的讀權限
  • 發消息(publish)需要:exchange的寫權限
  • 獲取或清除(get、consume、purge)消息需要:queue的讀權限

對何種資源具有配置、寫、讀的權限通過正則表達式來匹配,具體命令如下:
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>


如用戶root在默認的虛擬主機上的所有權限:
在這裏插入圖片描述



用戶角色

用戶角色分爲:nonemanagementpolicymakermonitoringadministrator

  • none
    或爲空,該角色不能訪問management plugin,通常就是普通的生產者和消費者

  • management
    普通的生產者和消費者加:
      可以通過AMQP登入的virtual hosts
      可以查看自己的virtual hosts中的queues、exchanges 和 bindings
      可以查看和關閉自己的 channels 和 connections
      可以查看有關自己的virtual hosts的“全局”的統計信息,包含其他用戶在這些virtual hosts中的活動

  • policymaker
    management可以做的任何事加:
      查看、創建和刪除自己的virtual hosts所屬的policies和parameters

  • monitoring
    management可以做的任何事加:
      查看列出所有virtual hosts,包括他們不能登錄的virtual hosts
      查看其他用戶的connections和channels
      查看節點級別的數據如clustering和memory使用情況
      查看真正的關於所有virtual hosts的全局的統計信息

  • administrator
    policymaker和monitoring可以做的任何事加:
      創建和刪除virtual hosts
      查看、創建和刪除users
      查看創建和刪除permissions
      關閉其他用戶的connections


在使用rabbitmqctl list_users查看所有的用戶時,就可以看到其用戶的角色
在這裏插入圖片描述


這裏我們給上述的root用戶設置爲administrator角色,如下:
在這裏插入圖片描述



查看隊列、交換器、綁定關係

查看隊列:rabbitmqctl list_queues

查看交換器:rabbitmqctl list_exchanges

查看綁定關係:rabbitmqctl list_bindings


不過一般查看隊列、交換器,以及綁定關係,一般也不會執行查看語句進行查看,因爲我們可以通過web的管理插件來進行查看嘛

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章