文档章节

RabbitMQ之管理与监控

柳哥
 柳哥
发布于 2015/02/05 11:59
字数 1060
阅读 18349
收藏 15

RabbitMQ提供了完善的管理和监控工具,分management plugin 和 rabbitmqctl 两种类型的工具。

一. management plugin

rabbitmq-management plugin提供HTTP API来管理和监控RabbitMQ Server,具体包含如下功能:

  • Declare,list and delete exchanges,queues,bindings,users,virtual hosts and permissions。

  • Monitor queue length,message rates globally and per channel,data rates per connection,etc。

  • Send and receive messages。

  • Monitor Erlang processes,file descriptors,memory use。

  • Export / inport object definitions to JSON。

  • Force close connections,purge queues。

management plugin默认就在RabbitMQ的发布版本中,只需要enable就可以了,执行以下命令:

$ cd /usr/lib/rabbitmq/bin/
$ sudo rabbitmq-plugins enable rabbitmq_management

看到这一幕后,重启RabbitMQ就可以了。需要注意的是,mochiweb 必须得有,mochiweb是一个用来构建Web应用的轻便,高效的HTTP应用框架的Erlang库。

下面可以通过以下两种方式来访问管理和监控界面:

1. Web UI

打开浏览器,输入 http://[server-name]:15672/http://localhost:15672/  ,会要求输入用户名和密码,用默认的guest/guest即可(guest/guest用户只能从localhost地址登录,如果要配置远程登录,必须另创建用户),确认后会出现下面界面:


接下来你就可以尽情掌控RabbitMQ了。

如果要从远程登录怎么做呢?处于安全考虑,guest这个默认的用户只能通过http://localhost:15672来登录,其他的IP无法直接用这个guest帐号。这里我们可以通过配置文件来实现从远程登录管理界面,只要编辑/etc/rabbitmq/rabbitmq.config文件(没有就新增),添加以下配置就可以了。

[  
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["asdf"]}]}  
].

现在添加了一个新授权用户asdf,可以远程使用这个用户名。记得要先用命令添加这个命令才行:

$  cd /usr/lib/rabbitmq/bin/
#用户名与密码
$ sudo rabbitmqctl add_user asdf 123456            
#用户设置为administrator才能远程访问
$ sudo rabbitmqctl set_user_tags asdf administrator         
$ sudo rabbitmqctl set_permissions -p / asdf ".*" ".*" ".*"

其实也可以通过管理平台页面直接添加用户和密码等信息。如果还不能远程访问或远程登录检查是不是5672, 15672端口没有开放!!!!!!

2. 命令行工具

Management command line tool(rabbitmqadmin)拥有跟Web UI同样的功能,可能还更便于脚本使用。rabbitmqadmin仅仅是一个定制的HTTP客户端,如果想在自己的程序中引入rabbitmqadmin的话,可以直接使用HTTP API。rabbitmqadmin可以在http://server-name:15672/cli页面下载。

下载rabbitmqadmin.txt后,将其重命名为rabbitmqadmin,拷贝到 /usr/local/bin 或者你想要的路径,并增加可执行权限。使用:

$ sudo rabbitmqadmin --help

可以查看使用指南。

二. rabbitmqctl

rabbitmqctl是一个简单的命令行工具用于管理RabbitMQ Server,在shell中执行如下命令,能看到各种命令简价:

Usage:

rabbitmqctl [-n <node>] [-q] <command> [<command options>] 

Options:

    -n node

    -q

Default node is "rabbit@server", where server is the local host. On a host named "server.example.com", the node name of the RabbitMQ Erlang node will usually be rabbit@server (unless RABBITMQ_NODENAME has been set to some non-default value at broker startup time). The output of hostname -s is usually the correct suffix to use after the "@" sign. See rabbitmq-server(1) for 

details of configuring the RabbitMQ broker.


Quiet output mode is selected with the "-q" flag. Informational messages are 

suppressed when quiet mode is in effect.


Commands:

    stop [<pid_file>]

    stop_app

    start_app

    wait <pid_file>

    reset

    force_reset

    rotate_logs <suffix>


    join_cluster <clusternode>[<--ram>]

    cluster_status

    change_cluster_node_type disc | ram

    forget_cluster_node [--offline]

    update_cluster_nodes clusternode


    add_user <username> <password>

    delete_user <username>

    change_password <username> <newpassword>

    clear_password <username>

    set_user_tags <username> <tag> ...

    list_users


    add_vhost <vhostpath>

    delete_vhost <vhostpath>

    list_vhosts [<vhostinfoitem> ...]

    set_permissions [-p <vhostpath>] <user> <conf> <write> <read>

    clear_permissions [-p <vhostpath>] <username>

    list_permissions [-p <vhostpath>]

    list_user_permissions <username>


    set_parameter [-p <vhostpath>] <component_name> <name> <value>

    clear_parameter [-p <vhostpath>] <component_name> <key>

    list_parameters [-p <vhostpath>]


    set_policy [-p <vhostpath>] <name> <pattern>  <definition> [<priority>] 

    clear_policy [-p <vhostpath>] <name>

    list_policies [-p <vhostpath>]


    list_queues [-p <vhostpath>] [<queueinfoitem> ...]

    list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]

    list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]

    list_connections [<connectioninfoitem> ...]

    list_channels [<channelinfoitem> ...]

    list_consumers [-p <vhostpath>]

    status

    environment

    report

    eval <expr>


    close_connection <connectionpid> <explanation>

    trace_on [-p <vhost>]

    trace_off [-p <vhost>]

    set_vm_memory_high_watermark <fraction>


<vhostinfoitem> must be a member of the list [name, tracing].


The list_queues, list_exchanges and list_bindings commands accept an optional virtual host parameter for which to display results. The default value is "/".


<queueinfoitem> must be a member of the list [name, durable, auto_delete, arguments, policy, pid, owner_pid, exclusive_consumer_pid, exclusive_consumer_tag, messages_ready, messages_unacknowledged, messages, consumers, active_consumers, memory, slave_pids, synchronised_slave_pids].


<exchangeinfoitem> must be a member of the list [name, type, durable, auto_delete, internal, arguments, policy].


<bindinginfoitem> must be a member of the list [source_name, source_kind, destination_name, destination_kind, routing_key, arguments].


<connectioninfoitem> must be a member of the list [pid, name, port, host, peer_port, peer_host, ssl, ssl_protocol, ssl_key_exchange, ssl_cipher, ssl_hash, peer_cert_subject, peer_cert_issuer, peer_cert_validity, last_blocked_by, last_blocked_age, state, channels, protocol, auth_mechanism, user, vhost, timeout, frame_max, client_properties, recv_oct, recv_cnt, send_oct, send_cnt, send_pend].


<channelinfoitem> must be a member of the list [pid, connection, name, number, user, vhost, transactional, confirm, consumer_count, messages_unacknowledged, messages_uncommitted, acks_uncommitted, messages_unconfirmed, prefetch_count, client_flow_blocked].

本文转载自:http://blog.chinaunix.net/uid-22312037-id-3468329.html

共有 人打赏支持
上一篇: RabbitMQ之Hello World
下一篇: RabbitMQ之安装
柳哥
粉丝 206
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
在CentOS上安装rabbitmq

转自:http://flyingdutchman.iteye.com/blog/1887283 这文章写得很好,除了安装软件编译时间比较长之外,安装这个几乎没出现什么错误。现在去配置下rabbitmq,马上就可以使用了。 在本节中我...

mac_zhao
2014/09/28
0
0
(四)RabbitMQ消息队列-服务详细配置与日常监控管理

RabbitMQ服务管理 RabbitMQ服务详细配置rabbitmq.config RabbitMQ 提供了三种方式来定制服务器: 环境变量 定义端口,文件位置和名称(接受shell输入,或者在环境配置文件(rabbitmq-env.conf)...

Super_RD
2017/04/21
0
0
ubuntu16.04 安装rabbitmq

1、apt-get install rabbitmq-server 2、新增管理员用户 rabbitmqctl adduser admin admin rabbitmqctl setusertags admin administrator 3、安装RabbitMQ监控管理插件进行RabbitMQ的管理,插......

诗和_远方
06/29
0
0
MQ-RabbitMq部署安装配置

环境准备 本次实验使用的是VMvare虚拟机。详情如下 hostname: node1.server ip地址:192.168.0.150 网卡:eth0,eth1 系统及硬件:CentOS 7.2 内存2G,硬盘50G 一、 什么是RabbitMq 消息队列又...

linuxzkq
06/26
0
0
Rabbitmq学习之路2-rabbitmqctl

学习rabbitmq,原理之后第一个要掌握的就是rabbitmqctl这个命令的用法了,rabbitmq的管理功能最全的就是rabbitmqctl命令了,当然还有HTTP API和UI两种管理手段。 rabbitmqctl的使用方法: ra...

China_OS
2013/12/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

线程安全性--volatile

volatile:当多个线程进行操作共享数据时,可以保证内存中的数据是可见的; @Slf4jpublic class MyVolatile { public static void main(String[] args) { ThreadRun threadRun...

wuyiyi
16分钟前
1
0
大数据入门之hadoop相关概念知识点整理

Hadoop是一个开源框架,允许使用简单的编程模型在跨计算机集群的分布式环境中存储和处理大数据。它的设计是从单个服务器扩展到数千个机器,每个都提供本地计算和存储。今天整理了一些关于had...

技术阿飞
17分钟前
1
0
ssh 免登

ssh-copy-id三步实现SSH无密码登录和ssh常用命令 ssh-copy-id -i .ssh/id_rsa.pub 用户名字@192.168.x.xxx

miaojiangmin
19分钟前
1
0
2018阿里云双12年终大促主会场全攻略

2018阿里云双12年终大促活动已经于12月7日正式开启,从已开放的活动页面来看,活动分为两个阶段: 12月7日-12月23日的拉新返现阶段和12月24日-12月28日的TOP100英雄榜PK阶段。 活动核心亮点:...

阿里云官方博客
20分钟前
1
0
聊聊flink的MemoryStateBackend

序 本文主要研究一下flink的MemoryStateBackend StateBackend flink-runtime_2.11-1.7.0-sources.jar!/org/apache/flink/runtime/state/StateBackend.java @PublicEvolvingpublic interface......

go4it
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部