一、系统架构

二、监控

本指南涵盖了使用两个流行工具进行 RabbitMQ 监控: Prometheus,一个监控工具包;和Grafana,一个指标可视化系统。这些工具共同构成了一个强大的工具包,用于 RabbitMQ 集群的长期指标收集和监控。虽然RabbitMQ 管理 UI也提供了对指标子集的访问,但它的设计并没有试图成为一个长期的指标收集解决方案。

1、开启监控

rabbitmq-plugins enable rabbitmq_prometheus

2、健康指标

仪表板顶部的单个统计指标捕获单个 RabbitMQ 集群的运行状况。在这种情况下,只有一个 RabbitMQ 集群 rabbitmq-overview,如仪表板标题正下方的集群下拉菜单中所示。

所有 RabbitMQ Grafana 仪表板上的面板使用不同的颜色来捕获以下指标状态:

  • 绿色表示指标值在健康范围内
  • 蓝色表示未充分利用或某种形式的退化
  • 红色表示指标值低于或高于健康范围

3、grafana图标

名称

备注

Unacknowledged messages

未确认消息数量

Incoming messages/s

每秒消费量

Publishers

生产者数量

Connections

总连接数量

Ougoing messsages/s

每秒生产量

Consumers

消费者数量

Channels

通道数量

Nodes

节点数量(Ivan加的)

存活时间

存活时间(Ivan加的)

Ready messages

消息总量

Queues

队列总数量

File descriptors available

可用文件句柄 kernel参数设置

TCP sockets available

可用socket  kernel参数设置

   

指标的速率变化:

4、rabbmit 管理页面监控

需要开启rabbitmq_top

rabbitmq-plugins enable rabbitmq_top

5、命令行故障排查

rabbitmqctl cluster_status

rabbitmq-diagnostics check_running

rabbitmq-diagnostics -q status

rabbitmq-diagnostics -q check_local_alarms

rabbitmq-diagnostics -q memory_breakdown

rabbitmq-diagnostics -q check_virtual_hosts

rabbitmq-diagnostics node_health_check

三、运维

1、用户权限管理

对于生产环境,删除默认用户 ( guest )。默认情况下,默认用户只能从本地主机连接,因为它具有众所周知的凭据。考虑创建一个具有管理权限和生成密码的单独用户,而不是启用远程连接。建议为每个应用程序使用一个单独的用户。例如,如果您有一个移动应用程序、一个 Web 应用程序和一个数据聚合系统,那么您将有 3 个独立的用户。

rabbitmqctl add_user admin

rabbitmqctl add_user_tags admin administrator

#设置权限

rabbitmqctl set_permissions --vhost / admin ".*" ".*" ".*"

#修改密码

rabbitmqctl change_password admin newpass

2、内存调整

vm_memory_high_watermark.relative=0.4 默认是0.4

vm_memory_high_watermark.absolute = 2GB

如果定义了相对值,那么绝对值就会失效

修改配置文件/etc/rabbitmq/rabbitmq.conf

listeners.tcp.default = 5672

management.tcp.port = 15672

vm_memory_high_watermark.relative=0.4

3、rabbitmq关闭和启动

systemctl stop rabbitmq-server

systemctl start rabbitmq-server

4、备份和还原

rabbitmq-management管理页面,备份的是定义不包含具体的消息。

export导出,import导入,适合环境迁移时使用

5、更改集群类型

rabbitmqctl change_cluster_node_type  disc #硬盘,数据安全

rabbitmqctl change_cluster_node_type  ram #内存,重启,数据丢失

rabbitmq监控与运维的更多相关文章

  1. 无监控不运维——使用 Python 写一个小小的项目监控

    在公司里做的一个接口系统,主要是对接第三方的系统接口,所以,这个系统里会和很多其他公司的项目交互.随之而来一个很蛋疼的问题,这么多公司的接口,不同公司接口的稳定性差别很大,访问量大的时候,有的不怎么行 ...

  2. 基于Prometheus和Grafana的监控平台 - 运维告警

    通过前面几篇文章我们搭建好了监控环境并且监控了服务器.数据库.应用,运维人员可以实时了解当前被监控对象的运行情况,但是他们不可能时时坐在电脑边上盯着DashBoard,这就需要一个告警功能,当服务器或 ...

  3. rabbitmq集群运维一点总结

    说明:以下操作都以三节点集群为例,机器名标记为机器A.机器B.机器C,如果为双节点忽略机器C,如果为各多节点则与机器C操作相同 一.rabbitmq集群必要条件 1.1.绑定实体ip,即ip a所能查 ...

  4. 【Kafka】监控及运维——kafka-eagle

    目录 简单介绍 概述 安装部署 一.环境要求 二.下载源码包并解压 三.准备数据库 四.修改配置文件 五.配置环境变量 六.启动kafka-eagle 七.成功运行 简单介绍 概述 Kafka-eag ...

  5. Jenkins用HTTP Request Plugin插件进行网站的监控(运维监控)

    使用的插件: [HTTP Request Plugin] 思路: 说明:只能是网站是否正常打开,而不能是这个网站业务是否正常,如果是后者,则需要写特定的接口进行请求处理. 1.通过插件,发送GET请求 ...

  6. Redis缓存接入监控、运维平台CacheCloud

    改造RedisConnectionFactory /** * 根据缓存策略的不同,RedisConnectionFactory不同 * 示例是单机模式. * * @return */@Beanpubl ...

  7. 转-4年!我对OpenStack运维架构的总结

    4年!我对OpenStack运维架构的总结 原创: 徐超 云技术之家 今天 前言 应“云技术社区”北极熊之邀,写点东西.思来想去云计算范畴实在广泛,自然就聊点最近话题异常火热,让广大云计算从业者爱之深 ...

  8. [转] 运维知识体系 -v3.1 作者:赵舜东(赵班长)转载请注明来自于-新运维社区:https://www.unixhot.com

    [From]https://www.unixhot.com/page/ops [运维知识体系]-v3.1 作者:赵舜东(赵班长) (转载请注明来自于-新运维社区:https://www.unixhot ...

  9. 对OpenStack运维架构的总结(转)

    这里,仅从技术角度出发,谈谈OpenStack云平台在部署.架构和运维实施等方面的感想. 缘起,在2014年大二首次接触到OpenStack,当时国内外资料远没有当前这么丰富,为安装一个OpenSta ...

  10. (转) 关于成为linux运维工程师需要掌握的技能

    曾经在一年多前写了一篇关于要成为linux运维需要掌握哪些技能和工具的贴子,然后不小心被好几个网友抄袭转发到其它网站上,当然有些是认识的,最后还很幸运地被某些热心的学习者把那段内容剪下来当作圣经般的参 ...

随机推荐

  1. appium基本使用(Android)

    一.环境搭建 详情可见:https://www.cnblogs.com/lihongtaoya/p/16971096.html 二.元素定位 详情可见:https://www.cnblogs.com/ ...

  2. 【Python】pip的镜像安装异常解决方案

    在安装pip的出现异常提示: ERROR: Could not find a version that satisfies the requirement pillow (from versions: ...

  3. Git使用记录 - 持续更新

    本地生成 sshkey 打开git命令工具 cd ~/.ssh ssh-keygen -t rsa -C "实际的eamil地址" ··· // 一路回车,出现以下则说明成功 Yo ...

  4. Java学习笔记:2022年1月13日(其一)

    Java学习笔记:2022年1月13日(其一) ​ 摘要:这篇笔记主要讲解了Java中的自定义类.以及构造一个类时所需要了解的一些重点知识. 目录 Java学习笔记:2022年1月13日(其一) 1. ...

  5. LRU 居然翻译成最近最少使用?真相原来是这样!

    前言 相信有很多同学和我一样,第一次碰到 LRU(Least Recently Used) 的这个解释「最近最少使用」都不知道是什么意思,用汤老师的话来说: 我真的感到匪夷所思啊! 最近是表示时间,最 ...

  6. jQuery查找标签、节点操作、事件绑定、Bootstrap页面框架

    jQuery查找标签.节点操作.事件绑定.Bootstrap页面框架 一.jQuery查找标签 1.各种选择器 1.基本选择器 $('#id') id选择器 $('.c1') 类(class)选择器 ...

  7. for循环-while循环

    for循环 循环语句1--for for循环语句格式: for(初始化表达式①; 布尔表达式②; 步进表达式④){ 循环体③ } 执行流程 执行顺序:①②③④>②③④>②③④-②不满足为止 ...

  8. Node.js+Koa2+TypeScript技术概览

    最近几年一直使用Node.js作为后端服务平台,通过Koa2框架中间件快速搭建Web服务,但是使用JavaScript开发大型后端服务时会使程序变得难以维护,继而使用TypeScript语言开发,使编 ...

  9. wixtoolset visualstudio 2017打包流程(1)

    第一步: 使用wix提供的 heat.exe 工具生成后缀为 wsx 的配置文件.   heat.exe dir ".\binr" -dr INSTALLFOLDER -cg Pr ...

  10. Springboot整合AOP和注解,实现丰富的切面功能

    简介 我们在文章<Spring AOP与AspectJ的对比及应用>介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便.为了简便,我们还是来实现一个计 ...