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

阿里云 RabbitMQ 可观测性最佳实践

阿里云 RabbitMQ

阿里云 RabbitMQ 是一款高性能、高可靠的消息中间件,支持多种消息协议和丰富的功能特性。它提供消息队列功能,能够实现应用间的消息解耦和异步通信,提升系统扩展性和稳定性。其支持多种消息持久化策略,确保消息不丢失;具备灵活的路由和负载均衡能力,可高效分发消息;还提供丰富的管理功能,如队列监控、消息追踪和权限管理等,帮助用户轻松管理和优化消息队列,广泛应用于分布式系统、微服务架构和事件驱动应用中。

RabbitMQ 监控的必要性在于,它能够实时掌握消息队列的运行状态,及时发现并解决潜在问题。通过监控消息堆积、消费延迟、连接数等关键指标,可以确保消息的高效传输和处理,避免因消息积压或消费者故障导致的业务中断。此外,监控还能帮助优化资源分配,提升系统性能,确保 RabbitMQ 在高并发和复杂业务场景下稳定运行,从而保障整个分布式系统的可靠性和可用性。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。

采集器配置

指标采集
  1. 登录观测云控制台
  2. 点击【集成】菜单,选择【云账号管理】
  3. 点击【添加云账号】,选择【阿里云】,填写界面所需的信息,如之前已配置过云账号信息,则忽略此步骤
  4. 点击【测试】,测试成功后点击【保存】,如果测试失败,请检查相关配置信息是否正确,并重新测试
  5. 点击【云账号管理】列表上可以看到已添加的云账号,点击相应的云账号,进入详情页
  6. 点击云账号详情页的【集成】按钮,在未安装列表下,找到阿里云 RabbitMQ,点击【安装】按钮,弹出安装界面安装即可。

关键指标

指标名称描述单位
ExchangeTPSInExchange 每秒消息流入数count/s
ExchangeTPSOutExchange 每秒消息流出数count/s
InstanceChannelsInstance 的 Channel 数量(废弃)count
InstanceChannelsNew通道数量count
InstanceConnections实例连接数count
InstanceConsumers消费者数量count
InstanceMaxTpsInMinute实例API请求速率峰值(每分钟Max值)count/s
InstanceMessageInput实例消息生产数量count
InstanceMessageOutput实例消息消费数量count
InstanceQueueMessageAccumulation实例Queue消息堆积量(推荐)count
InstanceQueueMessageInput实例Queue消息生产数量(推荐)count
InstanceQueueMessageOutput实例Queue消息消费数量(推荐)count
InstanceTPSInInstance 每秒消息流入数count/s
InstanceTPSOutInstance 每秒消息流出数count/s
InstanceVhostChannelsVHost 的 Channel 数count
InstanceVhostConsumersVHost 消费者数量count
InstanceVhostMessageInput实例Vhost消息生产数量count
InstanceVhostMessageOutput实例Vhost消息消费数量count
InstanceVhostQueueConsumersQueue 消费者数量count
InstanceVhostQueueMessageAccumQueue 消息堆积量count
InstanceVhostQueueMessageInputQueue 消息生产数量count
InstanceVhostQueueMessageOutputQueue 消息消费数量count
QueueTPSInQueue 消息每秒流入数count/s
QueueTPSOutQueue 每秒消息流出数count/s
VHostTPSInVHost 每秒消息流入数count/s
VHostTPSOutVHost 每秒消息流出数count/s
VhostChannelsVHost 通道数量count
VhostConnectionsVHost 连接数量count

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “阿里云 RabbitMQ”, 选择 “阿里云 RabbitMQ”,点击 “确定” 即可添加视图。

在 Queue 模块下,可以看到队列消息的生产、消费、堆积情况。

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录观测云控制台,点击「监控」 -「新建监控器」,输入 “阿里云 RabbitMQ”, 选择对应的监控器,点击 “确定” 即可添加。

RabbitMQ 消息堆积异常

消息堆积可能会使得业务发生延迟

RabbitMQ 消息消费者数量为0

当消费者数量为0的时候,就很有可能导致消息堆积

阿里云 RabbitMQ 实例连接数异常

需要注意阿里云最大链接数为10000

总结

通过采集阿里云 RabbitMQ 指标信息上报至观测云,能够实时展示实例、Vhost、Queue 和 Exchange 的关键指标,如消息量、连接数和堆积量等,帮助企业快速发现潜在问题。这些监控功能不仅增强了系统的透明度,还显著提升了运维效率,尤其适合分布式和云原生架构下的复杂业务场景。

http://www.xdnf.cn/news/15482.html

相关文章:

  • 蓝光三维扫描技术:手机闪光灯模块全尺寸3D检测的高效解决方案
  • 逆功率检测设备防逆流解决方案守护电网安全
  • 智能体架构深度解构:一次用户请求的完整旅程
  • MyBatis 之分页四式传参与聚合、主键操作全解
  • MySQL学习——面试版
  • Navicat操作指南:MySQL数据库配置与Todo应用部署
  • 从零开始的云计算生活——番外3,LVS+KeepAlived+Nginx高可用实现方案
  • 深入理解概率图模型:贝叶斯网络因子分解、d-分离与马尔可夫毯
  • vuex原理以及实现
  • MySQL基础学习之DML,DQL(二)
  • 【docker】将本地镜像打包部署到服务器上
  • 架构设计之计算高性能——单体服务器高性能
  • 从混沌到秩序:数据科学的热力学第二定律破局——线性回归的熵减模型 × 最小二乘的能量最小化 × 梯度下降的负反馈控制系统,用物理定律重构智能算法的统一场论
  • Java数据结构第二十五期:红黑树传奇,当二叉树穿上 “红黑铠甲” 应对失衡挑战
  • Linux 文件操作命令大全:从入门到精通的实用指南
  • 《Qt信号与槽机制》详解:从基础到实践
  • Qt 的信号槽机制中,使用 `connect` 函数时,第五个参数是 **连接类型(Connection Type)**,
  • 机器学习sklearn入门:归一化和标准化
  • Antd中使用Table集成 react-resizable实现可伸缩列
  • Jenkins credentials 增加了github credential 但是在Git SCM 凭证中不显示
  • Arcgis 10.7 矢量的分区统计
  • FPGA从flash加载程序的时候,Flash和FPGA芯片的供电是稳定了还是没有稳定就开始加载程序?
  • 「源力觉醒 创作者计划」_巅峰对话:文心大模型4.5系列与DeepSeek/Qwen 3.0深度解析
  • 图像基础指南
  • 【龙泽科技】新能源汽车电驱动总成装调与检修仿真教学软件
  • React+Next.js+Tailwind CSS 电商 SEO 优化
  • SFT:大型语言模型专业化定制的核心技术体系——原理、创新与应用全景
  • mongodb操作巨鹿
  • python应用day11--requests爬虫详解
  • TypeScript的export用法