阿里云 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.pswp.cn/diannao/91417.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue-router 导航式编程 参数的设置

主要是想记录一下this.$router.push、replace、go等方法的参数如何设置。字符串路径router.push(/home)直接使用字符串(或模板字符串)路径,可跳转到相应的URL路径。对象式路径路径也可以是一个对象,对象里以key:value的形式表示UR…

Swift实现股票图:从基础到高级

目录一、核心实现方案1. 原生方案:使用 Core Graphics 绘制2. 使用第三方库:Charts3. 跨平台方案:使用 SwiftUI Canvas二、技术指标实现1. 移动平均线 (MA)2. 布林带 (Bollinger Bands)3. MACD (Moving Average Convergence Divergence)三、…

【unitrix】 6.4 数特征(number.rs)

一、源码 这段代码定义了一个名为Number的trait&#xff08;特质&#xff09;以及它的实现。 use crate::sealed::Sealed; use crate::number::{V, BaseNumber, TNumber};/// 数值的统一标记特质 /// 可以是编译时类型化数字(TNumber)或运行时变量(V<T>) pub trait Numbe…

AI治AI:大语言模型自检新法

“以火攻火”的思路解决大语言模型(LLMs)“幻觉”问题 虚构是由于与提示无关的内部因素而不可预测地从 LLM 中出现的幻觉。作者专注于衡量 LLM 对提示响应的不确定性,使用高不确定性表示虚构的假设。他们通过计算一个称为熵的量来估计这种不确定性**,熵可以被认为是模型生…

ESLint 配置错误:ReferenceError: prettier is not defined 解决方案

问题描述在使用 pnpm lint 运行 ESLint 时&#xff0c;出现以下错误&#xff1a;Oops! Something went wrong! :( ESLint: 9.31.0 ReferenceError: prettier is not defined该错误导致 ESLint 无法正确执行代码格式检查&#xff0c;但 不会影响项目的实际运行&#xff08;如 pn…

数据结构--准备知识

一.算法效率算法效率分为两种&#xff1a;第一种为时间效率&#xff0c;第二种为空间效率。时间效率称为时间复杂度&#xff0c;空间效率称为空间复杂度。时间复杂主要衡量一个算法的运行速度&#xff0c;空间复杂度主要衡量一个算法所需的 额外的空间&#xff08;现在不需要特…

HTML 入门教程:从零开始学习网页开发基础

一、HTML简介 1.1 什么是HTML&#xff1f; HTML全称是Hyper Text Markup Language&#xff08;超文本标记语言&#xff09;&#xff0c;由Tim Berners-Lee和同事Daniel W. Connolly于1990年创立。它是一种用于创建网页的标准标记语言&#xff0c;而不是编程语言。 1.2 HTML的…

使用 bat 批量创建带有项目前缀名的文件夹结构

在项目管理中&#xff0c;经常需要为每个新项目创建一套标准化的文件夹结构。如文档中所述&#xff0c;用户希望为每个项目&#xff08;如"Project 1"、“Project 2”&#xff09;创建以下结构的文件夹&#xff1a; project-1_export\project-1_DWG project-1_expo…

Python类中魔术方法(Magic Methods)完全指南:从入门到精通

文章目录Python类中魔术方法(Magic Methods)完全指南&#xff1a;从入门到精通一、魔术方法基础1. 什么是魔术方法&#xff1f;2. 魔术方法的特点二、常用魔术方法分类详解1. 对象创建与初始化2. 对象表示与字符串转换3. 比较运算符重载4. 算术运算符重载5. 容器类型模拟6. 上下…

H3CNE综合实验之五角星

H3CNE综合实验之五角星 实验拓扑图交换机地址规划表&#xff1a;SW6G1/0/1Vlan100:10.1.3.2/24G1/0/2Vlan90:10.1.4.2/24G1/0/3Vlan50:10.1.5.1/24G1/0/4Vlan60&#xff1a;10.1.6.1/24SW7G1/0/1Vlan50:10.1.5.2/24G1/0/2Vlan30:192.168.3.1/24G1/0/6Vlan70:10.1.1.2/24G1/0/3-…

Android EventBus使用方法与底层原理详解

EventBus 是什么&#xff1f; EventBus 是一个基于发布/订阅&#xff08;Publish/Subscribe&#xff09; 模式的开源库&#xff08;主要由 greenrobot 开发维护&#xff09;。它的核心目的是简化 Android 应用中不同组件&#xff08;如 Activity, Fragment, Service, Thread 等…

初等数论简明教程

初等数论简明教程 本文给出初等数论中的一些重要的定理与例题&#xff0c;证明风格采用 整除线法 与 命题节点法。 整除线法 指推理的第 nnn 步左边的字符可由前面左边的字符得到&#xff0c;右边的字符可由前面右边的字符得到&#xff0c;整除线变成了推理线&#xff0c;既少…

Spring之核心容器(IoC,DI,基本操作)详解

Spring之核心容器IoC/DI/基本操作详解一、核心概念&#xff1a;IoC与DI的本质1.1 IoC&#xff08;Inversion of Control&#xff0c;控制反转&#xff09;传统开发模式&#xff08;无IoC&#xff09;IoC模式&#xff08;Spring容器管理&#xff09;1.2 DI&#xff08;Dependenc…

【论文阅读】基于注意力机制的冥想脑电分类识别研究(2025)

基于注意力机制的冥想脑电分类识别研究&#x1f4a1; Meta DataTitle基于注意力机制的冥想脑电分类识别研究Authors周梓涵Pub. date2025&#x1f4dc; Research Background & Objective背景&#xff1a; 现代生活压力导致心理问题日益突出&#xff0c;冥想作为一种有效的心…

GitHub 上 Star 数量前 8 的开源 Web 应用项目

原文链接&#xff1a;https://www.nocobase.com/cn/blog/github-open-source-web-applications。 近期&#xff0c;我们发布了多篇「Top GitHub Star 开源项目推荐」系列文章&#xff0c;受到了大量点赞与收藏&#xff0c;很多开发者留言表示希望能看到更多不同领域的开源工具推…

FATFS文件系统原理及其移植详解

一、FATFS简介 FATFS 是一个完全免费开源的 FAT/exFAT 文件系统模块&#xff0c;专门为小型的嵌入式系统而设计。它完全用标准 C 语言&#xff08;ANSI C C89&#xff09;编写&#xff0c;所以具有良好的硬件平台独立性&#xff0c;只需做简单的修改就可以移植到 8051、PIC、A…

KubeRay 和 Ray

KubeRay 和 Ray 不是替代关系&#xff0c;而是互补的协作关系。两者在分布式计算生态中扮演不同角色&#xff0c;共同构成完整的云原生 AI 解决方案。以下是具体分析&#xff1a;&#x1f527; 1. 核心定位差异Ray 是分布式计算引擎&#xff0c;提供底层 API&#xff08;如 ray…

破解轮胎仓储高密度与柔性管理难题

轮胎作为特殊的大件异形工业品&#xff0c;其仓储管理长期面临多重挑战&#xff1a;规格型号繁杂导致SKU数量庞大&#xff0c;重型载重对货架承重提出极高要求&#xff0c;橡胶材质对防压变形、避光防老化等存储环境存在严苛标准。传统平置堆垛或普通货架方案不仅空间利用率不足…

EVA series系列(上)

目录 一、EVA 1、概述 2、方法 二、EVA-02 1、概述 2、架构 三、EVA-CLIP 1、概述 2、方法 四、EMU 1、概述 2、架构 3、训练细节 4、评估 一、EVA 1、概述 为探寻大规模表征学习任务的MIM预训练任务在ViT基础上扩展到1B参数量规模&#xff0c;结合10M级别&am…

ABP VNext + EF Core 二级缓存:提升查询性能

ABP VNext EF Core 二级缓存&#xff1a;提升查询性能 &#x1f680; &#x1f4da; 目录ABP VNext EF Core 二级缓存&#xff1a;提升查询性能 &#x1f680;引言 &#x1f680;一、环境与依赖 &#x1f6e0;️二、集成步骤 ⚙️2.1 安装 NuGet 包2.2 注册缓存服务与拦截器2…