一、系统架构

二、监控

本指南涵盖了使用两个流行工具进行 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. 企业应用架构研究系列二十四:SQL Server 数据库调优之XEvent 探查器

    如果入职一些中小型公司,往往需要接手一些很"坑"的项目,到底多坑就不牢骚了,只讲一下,如果破解这些历史遗留的项目问题.项目代码可能短时间无法进行通读研究,我们就需要从底层数据库进行 ...

  2. Redis哨兵集群搭建-Docker-Compose

    title: Redis哨兵集群搭建(Docker-Compose) date: 2022-09-27 17:00:56 tags: - Redis 代码地址:https://github.com/l ...

  3. [LeetCode]二进制求和

    题目 代码 class Solution { public: string addBinary(string a, string b) { int lenA = a.length(); int len ...

  4. 《Effective C++》再次探索traits技法

    首先介绍C++标准程序库中的五种迭代器,关于这个可以看我的另一个笔记:http://blog.csdn.net/m0_37316917/article/details/70053513. 对于这五种分 ...

  5. [C++]全面理解C++中的引用

    一.引用的本质是什么 说到引用,一般C++的教材中都是这么定义的: 1,引用就是一个对象的别名. 2,引用不是值不占内存空间. 3,引用必须在定义时赋值,将变量与引用绑定. 那你有没有想过,上面的定义 ...

  6. 探讨下如何更好的使用缓存 —— Redis缓存的特殊用法以及与本地缓存一起构建多级缓存的实现

    大家好,又见面了. 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面.如果感兴趣,欢迎关注以获取后续更新. 通过前面的文章,我们一起剖析了Guav ...

  7. Longhorn+K8S+KubeSphere云端数据管理,实战 Sentry PostgreSQL 数据卷增量快照/备份与还原

    云端实验环境配置 VKE K8S Cluster Vultr 托管集群 https://vultr.com/ 3 个 worker 节点,kubectl get nodes. k8s-paas-71a ...

  8. 动力节点—day04

    final关键字 final修饰的类无法被继承 final修饰的方法无法被覆盖 final修饰的变量只能赋一次值 fianl的引用一旦指向某个对象,则不能重新指向其他对象,但该引用指向对象内部的数据是 ...

  9. 操作系统linux

    Linux命令概览 一.哪些地方可以学到Linux? 1.Linux中国 Linux中国绝对是学习Linux的好去处,各种资讯.文章.技术都有,而且更新及时,质量也很高,学Linux一定要去看啊. 2 ...

  10. Task记录1.CancellationToken 取消Task任务的操作

    //1.创建取消令牌数据 CancellationTokenSource tokenSource = new CancellationTokenSource(); //2.创建取消令牌 Cancell ...