ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RabbitMQ-PerfTest 仪表盘实战:基于 rabbitmq_prometheus 的 PerfTest 消息延迟与吞吐监控指南

RabbitMQ-PerfTest 仪表盘实战:基于 rabbitmq_prometheus 的 PerfTest 消息延迟与吞吐监控指南 后端消息队列消息路由【免费下载链接】rabbitmq-serverOpen source RabbitMQ: core server and tier 1 (built-in) plugins项目地址https://gitcode.com/gh_mirrors/ra/rabbitmq-server点击查看免费下载RabbitMQ-PerfTest 是 rabbitmq_prometheus 插件仓库中随 Grafana 仪表盘一起发布的一套性能监控面板用于跨所有 PerfTest 实例统一可视化消息端到端延迟与吞吐指标。本文以仓库中的仪表盘描述文档 rabbitmq-perftest-6566.md 为核心结合仪表盘 JSON、docker-compose 编排与 Prometheus 抓取配置讲解该面板能监控哪些指标、如何快速在本地点亮它、如何基于其查询语言进行二次开发以及如何把面板发布到 grafana.com 供团队复用。一、仪表盘是什么聚合所有 PerfTest 实例的延迟与吞吐PerfTest 是 RabbitMQ 官方生态中的性能压测工具向目标 RabbitMQ 节点持续发布并消费消息同时对外暴露 Prometheus 格式的perftest_*指标。官方文档确认该仪表盘与PerfTest v2.2.0 ~ v2.9.0版本配合验证可用。该面板的核心定位也是面板描述原文是RabbitMQ message latency throughput across all PerfTest instances即跨所有 PerfTest 实例统一观测 RabbitMQ 消息延迟与吞吐无需逐台压测机去翻看终端输出。面板需要可视化以下 7 类指标指标类别含义对应 PromQL 指标族end-to-end message latency消息端到端延迟perftest_latency_secondspublish confirm latency发布确认publisher confirm延迟perftest_confirm_latency_secondsmessages published / s每秒发布消息数perftest_publishedmessages confirmed / s每秒确认消息数perftest_confirmedmessages returned / s每秒被路由回退returned消息数perftest_returnedmessages consumed / s每秒消费消息数perftest_consumedmessages rejected / s每秒被拒绝nacked消息数perftest_nacked这些指标族均可在仪表盘 JSON RabbitMQ-PerfTest.json 的各个面板expr字段中逐一印证。需要特别说明perftest_*指标由 PerfTest 压测进程自身暴露RabbitMQ 服务端只负责承载流量因此该面板展示的是客户端视角的端到端性能与 RabbitMQ-Overview.json 等服务器内部指标面板互为补充。二、面板布局LATENCY 与 THROUGHPUT 两大分区打开仪表盘 JSON 可以看到面板按row类型划分为两个分区每个分区内又以「全部实例聚合视图 单实例明细视图」成对组织面板1. LATENCY延迟分区分区描述沿用文档主标题RabbitMQ message latency throughput across all PerfTest instances包含End-to-end message latency聚合perftest_latency_seconds{quantile$percentile}跨全部实例绘制指定分位数的端到端延迟曲线单位为秒unit: s阈值配置在 80秒以上标红。End-to-end message latency按实例追加instance~$instance标签过滤只显示选定 PerfTest 实例的延迟。End-to-end message latency distribution同一查询加 0条件以 Heatmap / Histogram 面板渲染延迟分布用于观察延迟的完整分位数形态而非单条曲线。Publish confirm latency聚合 / 按实例 / 分布查询perftest_confirm_latency_seconds{quantile$percentile[, instance~$instance]}同样提供聚合曲线、单实例曲线与分布图三组面板。2. THROUGHPUT吞吐分区对发布、消费、确认、拒绝、回退五类速率逐一提供「全部实例」与「单实例」两种视图Messages published / sperftest_published与perftest_published{instance~$instance}Messages consumed / sperftest_consumed与perftest_consumed{instance~$instance}Messages confirmed / sperftest_confirmed与perftest_confirmed{instance~$instance}Messages rejected / sperftest_nacked与perftest_nacked{instance~$instance}Messages returned / sperftest_returned与perftest_returned{instance~$instance}从 JSON 顶部的__requires字段可以看出该仪表盘依赖 Grafana 的 Time series、Heatmap、Histogram、Table 四类面板插件无需额外安装第三方插件即可完整渲染。三、模板变量如何切换实例与分位数仪表盘内置两个模板变量位于 JSON 的templating部分是交互式排查的关键入口PerfTest Instance$instance查询label_values(perftest_published, instance)自动从当前数据源中动态枚举所有上报了perftest_published指标的实例供用户在压测机之间切换对比。Percentile$percentile查询label_values(perftest_latency_seconds, quantile)动态列出perftest_latency_seconds中存在的所有分位标签如 0.5、0.9、0.99、0.999 等由 PerfTest 上报用于切换延迟曲线的分位档位。这两个变量与面板中所有{quantile$percentile, instance~$instance}表达式配合实现「任意实例 × 任意分位」的自由组合下钻。四、三步快速开始本地点亮整条链路文档给出的快速开始路径是官方 Prometheus 插件的 Quick Start 指南对应到本仓库最省事的做法是直接使用 docker-compose-metrics.yml 拉起完整环境准备 RabbitMQ 节点启用rabbitmq_prometheus插件使节点在15692端口暴露/metricsPrometheus 抓取配置prometheus.yml中正是以rmq0:15692为目标。启动 Prometheus Grafana PerfTest 环境在deps/rabbitmq_prometheus目录执行make overview metrics开发环境的编排入口详见 docker/grafana/README.mddocker-compose 会依次拉起grafana镜像grafana/grafana:8.3.4端口 3000通过 dashboards.yml 以文件 provision 方式加载/dashboards目录下全部面板其中就包括RabbitMQ-PerfTest.jsonprometheus镜像prom/prometheus:v2.53.3端口 9090挂载 prometheus.ymlscrape_interval为 15s高于 RabbitMQ 的collect_statistics_interval足以捕捉刷新窗口内的指标变化node-exporter、cadvisor提供宿主机与容器维度资源指标让压测时能对照系统瓶颈。打开面板浏览器访问localhost:3000使用默认账号admin/admin登录进入 RabbitMQ-PerfTest 仪表盘配合压测流量即可看到非零的延迟与吞吐曲线。datasources.yml已把名为prometheus的 Prometheus 数据源http://prometheus:9090access: proxy设为默认数据源面板 JSON 中的DS_PROMETHEUS输入变量在 provision 时会自动绑定开箱即用。实验结束后执行make down拆除整套基础设施。五、二次开发与面板更新流程如果你需要调整面板新增指标、修改阈值、调整布局仓库 docker/grafana/README.md 给出了完整工作流在deps/rabbitmq_prometheus目录运行make overview metrics启动本地环境用示例工作负载让面板出现非零指标便于肉眼验证改动效果在 Grafana UIlocalhost:3000中完成面板编辑通过面板标题旁的Share → Export菜单导出务必勾选“Export for sharing externally”外部共享导出把生成的 JSON 覆盖写回本仓库 dashboards 目录跨版本兼容性验证修改 docker-compose-metrics.yml 中services.grafana.image的版本号重新执行make metrics重建 Grafana并在公开可用的最新版本上回归测试新增面板时还需额外补充两份物料一份面板描述文档参考 erlang-distribution-11352.md 与本文所对应的 rabbitmq-perftest-6566.md 的写法以及保存在 publish 目录下的面板实拍截图最终在rabbitmq-server仓库中提交 PR面板 JSON、描述 md、截图一并入库。六、发布到 grafana.com 供团队复用面板合并进仓库后RabbitMQ 团队维护者可在 grafana.com 的团队仪表盘空间中基于 dashboards 目录下已入库的 JSON 创建新修订revision或新面板。这样社区用户即可通过 grafana.com 的一键导入方式获得与官方一致的 RabbitMQ-PerfTest 面板而不必自行解析仓库 JSON。七、相关文件速查面板描述文档rabbitmq-perftest-6566.md面板定义PromQL 全部来源RabbitMQ-PerfTest.json面板开发与发布流程docker/grafana/README.mdGrafana 数据源与面板自动加载配置datasources.yml、dashboards.yml本地一键环境编排docker-compose-metrics.yml 与抓取配置 prometheus.yml面板实拍截图目录publish赞分享后端消息队列消息路由【免费下载链接】rabbitmq-serverOpen source RabbitMQ: core server and tier 1 (built-in) plugins项目地址https://gitcode.com/gh_mirrors/ra/rabbitmq-server点击查看免费下载相关推荐解密vLLM-Omni多模态推理引擎从文本到音频的架构演进与性能突破解密vLLM Omni多模态推理引擎从文本到音频的架构演进与性能突破 随着多模态AI应用的快速发展传统推理框架在跨模态任务处理上面临着效率瓶颈和架构局限。我人工智能大模型模型推理服务多模态语音音频媒体生成本地部署Claude插件性能深度解析如何选择最适合你的开发加速器Claude插件性能深度解析如何选择最适合你的开发加速器 在当今快节奏的开发环境中选择高效的开发工具直接关系到项目的成功与否。GitHub_TrendinAI 插件开发工具插件系统10分钟装好零代码LLM代理框架AutoAgent新手完整上手指南10分钟装好零代码LLM代理框架AutoAgent新手完整上手指南 想配一个会写财务分析、还会自己调用工具的AI助手但一行代码都不想写。AutoAgent人工智能大模型AI AgentAgent 框架工具调用自主智能体RAG创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表