(四)RabbitMQ消息队列-服务详细配置与日常监控管理

(四)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/localWindows - %APPDATA%\RabbitMQ\

通过WEB管理插件我们也可以看到该配置文件的地址:
RabbitMQ配置文件

  • 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

RabbitMQ WEB管理插件

最上侧的导航以此是:《概览》、《连接》、《信道》、《交换机》、《队列》、《用户管理》
无论是服务器监控还是日常的管理基本都可以解决,很方便。既然都图形化了我就不赘述了,建议都点开看下,如果有什么参数不明白可以加最下方的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)

posted on 2019-02-13 15:48 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10370194.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle中delete、truncate、drop的区别 (转载)

一、delete 1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交…

前端开发工程化探讨--基础篇(长文)

转载自UC资深前端工程师张云龙的github 喂喂喂,那个切图的,把页面写好就发给研发工程师套模板吧。 你好,切图仔。 不知道你的团队如何定义前端开发,据我所知,时至今日仍然有很多团队会把前端开发归类为产品或者设计岗…

Python读取Json字典写入Excel表格的方法

需求: 因需要将一json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题。 环境: Windows7 Python2.7 Xlwt 具体分析: 原始文件为json列表&am…

Spring-BeanFactory源码分析

正式进入Spring 源码分析这个模块了,对于spring这个庞大的工程,如果要一点点的完全分析是非常困难的,对于应用型框架,我还是偏向于掌握思想或者设计,而不是记住代码,对于初次看spring源码,相信大…

Linux查看修改时间、时区

同步网络时间 yum install ntpntpdate time.nist.gov timedatectl set-timezone Asia/Shanghai如果上面time.nist.gov服务器同步不了,可以换下面几个时间服务器试试:time.nist.govtime.nuri.net0.asia.pool.ntp.org1.asia.pool.ntp.org2.asia.pool.ntp.o…

我所知道的HTTP和HTTPS

摘要:相比之前的传输协议,HTTP/2在底层方面做了很多优化。有安全、省时、简化开发、更好的适应复杂页面、提供缓存利用率等优势,阿里云早在去年发布的CDN6.0服务就已正式支持HTTP/2,访问速度最高可提升68%。 写在前面 超文本传输…

sql server常用性能计数器

https://blog.csdn.net/kk185800961/article/details/52462913?utm_sourceblogxgwz5 https://blog.csdn.net/kk185800961/article/details/27657239 以下部分转自:http://www.cnblogs.com/zhijianliutang/p/4174697.html 常规计数器 收集操作系统服务器的服务器性能…

Python中正反斜杠('/'和'\')的意义

刚刚在学习些测试报告的时候,出现一个路径的问题,找了很久的原因,竟然是少了一个反斜杠引起的,在此顺便记录一下正反斜杠的作用。 在Python中,记录路径时有以下几种写法,如:(大家都知…

什么是IOC容器

1.IOC不是一种技术,只是一种思想,一个重要的面向对象编程的法则,它能指导我们如何设计出松耦合,更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试&#x…

Jenkins配置与使用

Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括:1、持续的软件版本发布/测试项目。2、监控外部调用…

fastDFS使用

fastDFS : 分布式文件系统C语言开发,fastDFS为互联网量身定制,考虑到了冗余备份,负载均衡,线性扩容...很容易搭建集群文件存储系统.存储在fastDFS图片:相当于存储在本地磁盘一样访问图片:相当于访问本地磁盘存储结构:组名/虚拟磁盘路径/动态生成文件名.扩展名192.168.100.20/gr…

本地环境用eclipse搭建spring源码环境

对于JAVA和.NET开发人员来讲Spring框架并不陌生,对于想进行spring源码学习的同学来讲,在本地下载和构建spring项目很有必要。以下简要说明下Spring源码的下载和在eclipse下的构建方式。 工具/原料 JDK Eclipse 我们需要从源码库下载Spring的源码文件到本…

SpringToolsSuite (STS)或Eclipse安装gradle

对于新手刚进入职场,不知怎么在Spring Tools Suite (STS)或Eclipse上安装gradle,因为该项目自动化构建开源工具在一些企业中是要用的。本经验介绍如何安装。 工具/原料 Spring Tools Suite (STS)或Eclipse开发工具 gradle-5.0-all.zip压缩包 下载Gradle…

[NOI2007]货币兑换

题目 先来画一画柿子 设\(dp_i\)表示你第\(i\)天之后最多剩下多少钱 考虑一下对于\(i\)的转移,我们肯定要在之前枚举一天\(j\)这一天把所有的东西买进来,之后在\(i\)天卖掉 设那天买进\(A\)的量为\(d_a\),买进\(B\)的量为\(d_b\) 我们可以得到…

spring-beans模块分析

描述:spring-beans负责实现Spring框架的IOC模块 UML结构图如下: AbstractBeanFactory:BeanFactory接口的抽象实现类,提供了ConfigurableBeanFactory 完整SPI。 通过DefaultSingletonBeanRegistry实现了单例缓存(singleton cache). 实现了通过…

spark-streaming first insight

一、 Spark Streaming 构建在Spark core API之上,具备可伸缩,高吞吐,可容错的流处理模块。 1)支持多种数据源,如Kafka,Flume,Socket,文件等; Basic sources: Sources dir…

DHCP服务器 出现的故障

系统版本:Windows Server 2008 R2 Standard 故障现象:近段时间,我们核心网络DHCP服务器,总是发现有掉线重起现象,大约每10分钟至30分钟不定时会重起。 故障代码:关键系统进程 C:\Windows\system32\lsass.ex…

双亲委派

双亲委派模式的工作原理的是:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到…

程序设计入门-C语言基础知识-翁恺-第六周:数组-详细笔记(六)

目录 第六章:数组6-1 数组6-2 数组计算6.3 课后习题第六章:数组 6-1 数组 题目:让用户输入一组整数以-1结束输入,算出这组数的平均值,并且输出大于平均值的数。 我们需要记录用户所有输入的数字才能在判断出平均值后输…

Vue学习【第六篇】:Vue-cli脚手架(框架)与实战案例

环境搭建 安装node 官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/ 安装cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org 安装脚手架 cnpm install -g vue/cli 清空缓存处理 npm cache clean --force 项目的创建 创建项目 v…