当前位置: 首页 > news >正文

RabbitMQ监控

RabbitMQ是一个开源的消息代理和队列服务器,它实现了AMQP协议,用于在分布式系统中传递消息。

阿里云AMQP实例就是基于RabbitMQ技术构建的云服务

原理:

采用生产者-消费者模型工作,消息生产者将消息发送到Exchange(交换机),Exchange接收消息并根据路由规则转发到Queue,Queue存储消息,消费者从Queue拉取消息处理。

  • Producer发送消息到Exchange,指定routing key

  • Exchange根据类型(Direct/Topic/Fanout/Headers)和binding规则,将消息路由到匹配的Queue

  • Queue存储消息,等待Consumer消费

  • Consumer订阅Queue,拉取消息进行处理

  • 处理完成后发送ack确认,Queue删除消息

通俗解释:为什么使用它?

解耦系统:订单系统需要通知库存系统减库存、通知物流系统发货、通知积分系统加积分。如果没有RabbitMQ,订单系统需要直接调用这三个系统,任何一个系统出问题都会影响订单系统。有了RabbitMQ,订单系统只需要把消息发给RabbitMQ,其他系统各自来取,互不影响。

异步处理:用户下单后,如果系统要同步完成减库存、发短信、加积分等操作,可能需要几秒钟,用户会感觉卡顿。使用RabbitMQ后,订单系统快速返回"下单成功",其他操作在后台慢慢处理,用户体验更好。

流量削峰:双11期间,订单量暴增,系统可能扛不住。RabbitMQ可以把大量请求先存起来,让后端系统按照自己的处理能力慢慢消费,避免系统被压垮。

保证消息不丢失:RabbitMQ支持消息持久化,即使服务器重启,消息也不会丢失。它还支持消息确认机制,确保消息被成功处理。

灵活的路由:RabbitMQ支持多种消息路由模式(如发布订阅、路由、主题等),可以根据业务需求灵活配置消息的发送和接收规则。

监控维度:

instance(实例):整个RabbitMQ服务器的全局视图

Vhost(虚拟主机):分成的不同业务组

Queue:具体队列

监控指标:实例API TPS峰值、Queue消费者数量、Queue消息堆积量、Queue每秒消息流入/流出量、Instance的channel数量、通道数量、连接数量、消费者数量、Instance消息每秒流入数、Instance消息每秒流出数、Instance消息生产数量、Instance消息消费数量、Exchange每秒消息流入数、Exchange每秒消息流出数、VHost的Channel数、VHost消费者数量、Vhost消息生产数量、Vhost消息消费数量、Vhost每秒消息流入/流出数、Vhost通道数量、Vhost连接数量

监控指标详解

1. 流量指标(核心健康度)

Exchange每秒消息流入/流出数:Exchange级别的消息吞吐量,反映消息路由压力

Instance消息每秒流入/流出数:实例级别的总吞吐量,监控整体消息处理能力

Queue每秒消息流入/流出量:队列级别的实时流量,流入>流出说明消费能力不足

实例API TPS峰值:实例处理请求的峰值能力,反映性能瓶颈

2. 堆积指标(告警关键)

Queue消息堆积量:队列中未消费的消息数量,最重要的告警指标,堆积意味着消费异常或消费能力不足

3. 连接资源指标(容量规划)

Instance的channel数量/连接数量:客户端连接数,过多会导致性能下降

Vhost通道数量/连接数量:虚拟主机级别的连接资源使用

消费者数量:实际消费消息的客户端数量,直接影响消费能力

4. 历史统计指标(容量分析)

Instance消息生产/消费数量:实例级别的历史消息总量,用于容量评估

Vhost消息生产/消费数量:虚拟主机级别的历史统计

使用flashcat配置监控仪表盘过程中出现的问题:指标的聚合层级与监控指标的筛选维度

比如说在监控rabbitmq时,指标AliyunAmqp_instance_InstanceQueueMessageAccumulation,数据聚合层级是队列级别,这个指标为每一个队列创建一个独立的时间序列;

AliyunAmqp_instance_InstanceVhostQueueMessageAccum,而这个指标是vhost级别,这个指标已经将整个vhost队列下的所有队列数进行了聚合。所以在使用队列名称进行筛选时,虽然两个指标都有与队列名称相关的标签,但是只有第一个指标可以筛选,因为第二个标签通常是特定vhost的固定值。

http://www.jsqmd.com/news/211808/

相关文章:

  • AI应用架构师必备:虚拟工作AI系统的API网关设计与接口安全策略
  • Linux配置Redis服务
  • 2026年论文崩溃救命!智能降重软件秒降知网AIGC率,十佳降AI率产品大揭秘
  • “拿同一个问题求真理”,为什么违背可控 AI 的工程逻辑
  • java基础语法总结(数组)零基础入门到精通,收藏这篇就够了
  • 2026年度本科论文降重实测:知网AI率降到个位数的十佳降AI产品推荐
  • AI 时代,真正被淘汰的不是程序员,而是“不负责判断的技术角色”
  • Java中List排序的3种方法!零基础入门到精通,收藏这篇就够了
  • 计算机毕业设计,基于springboot的网上点餐系统管理系统,附源码+数据库+论文,包远程安装调试运行
  • 为什么多 Agent 编排,不适合高风险量化场景
  • 计算机毕业设计,基于springboot的IT技术交流和分享平台,附源码+数据库+论文,包远程安装调试运行
  • java正则表达式语法大全,零基础入门到精通,收藏这篇就够了
  • java base64,零基础入门到精通,收藏这篇就够了
  • 学术论文降重难题:为何AI率成“拦路虎”?
  • 基于Python+Django体育赛事购票系统设计与实现(球赛售票系统)
  • 论文AI率高到崩溃?试试这两款论文降重神器
  • java----内部类(四种内部类详解)收藏这篇就够了
  • 2026年度救命神器!论文知网AIGC检测崩溃怎么办?揭秘三款顶级AI痕迹消除降重神器,告别通宵降AI率焦虑
  • Java生成UUID的常用方式,零基础入门到精通,收藏这篇就够了
  • 崩溃了?2026知网AIGC检测高居62%!最强论文查重降重法揭秘,七天内AI率秒降20%内!
  • api-ms-win-crt-runtime-l1-1-0.dll文件丢失找不到问题 免费下载方法分享
  • 【好物推荐】将 Obsidian 中的文章发布到微信公众号
  • 2026 年度论文救命神器:告别知网崩溃通宵,深度AI生成内容降重,三分钟降AI率的十佳降AI工具揭秘
  • api-ms-win-crt-time-l1-1-0.dll文件丢失找不到 免费下载方法分享
  • AI原生应用助力业务流程增强的实战攻略
  • apisetschema.dll文件丢失找不到 打不开问题 免费下载方法分享
  • 论文反AI检测崩溃救命!2026年知网AIGC检测通关秘笈,七天无忧轻松降重,十佳降AI率神器盘点
  • OpenCV图像预处理加速实战
  • 基于深度学习的车牌识别系统
  • 2026最全免费论文降重攻略:告别知网AIGC检测崩溃,拯救你的论文AI率通宵救命工具推荐