(四)RabbitMQ消息队列-服务详细配置与日常监控管理
原文:(四)RabbitMQ消息队列-服务详细配置与日常监控管理
RabbitMQ服务管理
启动服务:rabbitmq-server -detached【 /usr/local/rabbitmq/sbin/rabbitmq-server -detached 】
查看状态:rabbitmqctl status
关闭服务:rabbitmqctl stop
列出角色:rabbitmqctl list_users
开启某个插件:rabbitmq-pluginsenable xxx
关闭某个插件:rabbitmq-pluginsdisablexxx
注意:重启服务器后生效。
RabbitMQ服务详细配置rabbitmq.config
RabbitMQ 提供了三种方式来定制服务器:
环境变量
定义端口,文件位置和名称(接受shell输入,或者在环境配置文件(rabbitmq-env.conf)中设置)。
配置文件
为服务器组件设置权限,限制和集群,也可以定义插件设置(rabbitmq.config)。
运行时参数和策略
可在运行时进行修改集群设置。
下面我会介绍通过配置文件rabbitmq.config来配置rabbitmq。
- rabbitmq.config 的位置
这些文件的位置分布特定的. 默认情况下,这些文件是没有创建的,但每个平台上期望的位置如下:
Generic UNIX - $RABBITMQ_HOME/etc/rabbitmq/
Debian - /etc/rabbitmq/
RPM - /etc/rabbitmq/
Mac OS X (Homebrew) - ${install_prefix}/etc/rabbitmq/, the Homebrew prefix is usually/usr/local
Windows - %APPDATA%\RabbitMQ\
通过WEB管理插件我们也可以看到该配置文件的地址:
- rabbitmq.config 配置
我的是在/usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config,rabbitmq.config配置文件允许配置RabbitMQ 核心程序, Erlang 服务和RabbitMQ 插件。它是标准的Erlang 配置文件。RabbitMQ在找不到配置文件的情况下会按照默认的配置运行。在系统提示的位置新建这个文件:
touch /usr/local/rabbitmq/etc/rabbitmq/rabbitmq.config
如下是我常用到的rabbitmq.config配置文件的信息,意思是RabbitMQ内存阈值最大可用使用我系统40%的内存,超过40%开始拒绝生产消息,当内存使用率达到阈值的40%时开始持久化到磁盘。0.4也是官方建议的值,我曾经为了性能把该值设置成0.8,内存稍一波动整个服务就崩溃了。
[
{rabbit, [{vm_memory_high_watermark_paging_ratio, 0.4},
{vm_memory_high_watermark, 0.4}]}
].
更多可配置参数请查看:http://blog.csdn.net/super_rd/article/details/70327712
通过rabbitmqctl管理RabbitMQ
virtual_host管理
新建virtual_host: rabbitmqctl add_vhost xxx
撤销virtual_host:rabbitmqctl delete_vhost xxx
用户管理
新建用户:rabbitmqctl add_user usernamexxx pwdxxx
删除用户:rabbitmqctl delete_user usernamexxx
改密码: rabbimqctl change_password {username} {newpassword}
设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}
Tag可以为 administrator,monitoring, management
权限管理
rabbitmqctl set_permissions -p / username ".*" ".*" ".*" //添加权限
rabbitmqctl set_user_tags username administrator //修改用户角色
权限设置说明:rabbitmqctl set_permissions [-pvhostpath] {user} {conf} {write} {read}
Vhostpath:Vhost路径。
user:用户名。
Conf:一个正则表达式match哪些配置资源能够被该用户访问。
Write:一个正则表达式match哪些配置资源能够被该用户读。
Read:一个正则表达式match哪些配置资源能够被该用户访问。
获取服务器状态信息
获取服务器状态:rabbitmqctl status
关闭应用:rabbitmqctl stop_app
启动应用,和上述关闭命令配合使用,达到清空队列的目的:rabbitmqctl start_app
清除所有队列:rabbitmqctl reset
查看所有队列信息:rabbitmqctl list_queues
获取队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]
Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,messages_unacknowledged,messages,consumers,memory。
获取Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]
Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments。
获取Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]
Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments。
获取Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]
Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。
获取Channel信息:rabbitmqctl list_channels[channelinfoitem ...]
Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked。
RabbitMQ消息队列WEB管理工具
目前处于技术癌早期,所以一般能图形化还是要尽量图形化的。RabbitMQ自带的消息队列管理插件就非常不错(上一章已经讲过安装方法http://blog.csdn.net/super_rd/article/details/70241007)。
浏览器打开HTTP://IP:15672
最上侧的导航以此是:《概览》、《连接》、《信道》、《交换机》、《队列》、《用户管理》
无论是服务器监控还是日常的管理基本都可以解决,很方便。既然都图形化了我就不赘述了,建议都点开看下,如果有什么参数不明白可以加最下方的QQ群探讨。
RabbitMQ日志文件
通过日志文件方便我们定位很多问题,同样在WEB管理插件中可以看到日志文件的路径,我的是在/usr/local/rabbitmq/var/log/rabbitmq/,在该路径下有两个日志文件:rabbit@localhost.log和rabbit@localhost-sasl.log。saal(System Application Support libraries 系统应用支持库)用来记录Erlang相关的信息,举例来说可以通过这个文件看到Erlang的崩溃报告。
另外也可以通过绑定监听amq.rabbitmq.log交换机来订阅日志信息来实现更多功能。
RabbitMQ技术交流QQ群:327034977(添加时请备注RabbitMQ)
(四)RabbitMQ消息队列-服务详细配置与日常监控管理的更多相关文章
- RabbitMQ消息队列(四)-服务详细配置与日常监控管理
RabbitMQ服务管理 启动服务:rabbitmq-server -detached[ /usr/local/rabbitmq/sbin/rabbitmq-server -detached ] 查看 ...
- RabbitMQ基本概念(四)-服务详细配置与日常监控管理
RabbitMQ服务管理 启动服务:rabbitmq-server -detached[ /usr/local/rabbitmq/sbin/rabbitmq-server -detached ] 查看 ...
- 使用EasyNetQ组件操作RabbitMQ消息队列服务
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现,是实现消息队列应用的一个中间件,消息队列中间件是分布式系统中重要的组件,主要解决应用耦合, ...
- SpringCloud之RabbitMQ消息队列原理及配置
本篇章讲解RabbitMQ的用途.原理以及配置,RabbitMQ的安装请查看SpringCloud之RabbitMQ安装 一.MQ用途 1.同步变异步消息 场景:用户下单完成后,发送邮件和短信通知. ...
- RabbitMQ消息队列服务
MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 一个软件它 ...
- RabbitMQ消息队列安装和配置以及推送消息
好久没有写了,最近项目用到RabbitMQ,找了一些资料试验,最后终于成功了,把安装配置的步骤分享给大家. 一.Erlang安装具体过程: 1.双击otp_win32_R16801.exe(不同版本可 ...
- Docker初探之运行RabbitMQ消息队列服务
我们平时在使用RabbitMQ是基于Windows操作系统的,在使用前需要安装Er-Lang和RabbitMQ服务程序,如果版本不对RabbitMQ就启动失败,安装流程也比较麻烦. 但如果在Docke ...
- RabbitMQ消息队列(十三)-VirtualHost与权限管理
像mysql有数据库的概念并且可以指定用户对库和表等操作的权限.那RabbitMQ呢?RabbitMQ也有类似的权限管理.在RabbitMQ中可以虚拟消息服务器VirtualHost,每个Virtua ...
- (十二)RabbitMQ消息队列-性能测试
原文:(十二)RabbitMQ消息队列-性能测试 硬件配置 宿主机用的联想3850X6的服务器四颗E7-4850v3的处理器,DDR4内存,两块1.25TB的pcie固态.在宿主机上使用的事esxi5 ...
随机推荐
- HDU 5371 (2015多校联合训练赛第七场1003)Hotaru's problem(manacher+二分/枚举)
pid=5371">HDU 5371 题意: 定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分同样,第一部分与第二部分对称. 如今给你一个长为n(n<10^5)的序 ...
- Python和C|C++的混编(二):利用Cython进行混编
还能够使用Cython来实现混编 1 下载Cython.用python setup.py install进行安装 2 一个实例 ① 创建helloworld文件夹 创建helloworld.pyx,内 ...
- js--07 编解码,eval
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...
- Arrays.asList()方法的限制
Arrays.asList()方法的限制是他对所产生的List类型做出了最理想的假设 package example; import java.util.Arrays; import java.uti ...
- 桌面版chrome调试APP的webview的步骤:
1. 在chrome地址栏输入:chrome://inspect/ 2.手机插入电脑USB口,打开开发者选项,OK,可以了. 友情链接:http://www.cnblogs.com/slmk/p/75 ...
- CISP/CISA 每日一题 16
CISA 每日一题(答) 作业调度软件的优点: 1.作业信息仅需建立一次,减少错误发生概率: 2.可定义作业间的依赖关系,当某一项作业失败时,依赖于该作业的后续作业就不会被执行: 3.所有成功或失败的 ...
- 洛谷 P3817 小A的糖果
P3817 小A的糖果 题目描述 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖 ...
- asp.net Code学习二(使用vs 2015 update 3)
1.在vs 2015上搭建asp.net core: 安装 .Net core sdk.vs2015 tool 即可使用vs 2015开发asp.net core. 2.Net core中国学习小组 ...
- C++基于矢量图形库cairo画图图形
//sudo apt-get install libcairo2-dev //pkg-config --cflags --libs cairo //-I/usr/include/cairo -I/us ...
- android-5.1编译配置(van)
必备文件: archives1211.tgz ubuntu_install_1204.tgz 安装指引: ubuntu_install_1204/readme.txt 工作目录结构: git ├── ...