阿里云 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 的关键指标,如消息量、连接数和堆积量等,帮助企业快速发现潜在问题。这些监控功能不仅增强了系统的透明度,还显著提升了运维效率,尤其适合分布式和云原生架构下的复杂业务场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值