QMQ消息队列监控系统详解

QMQ消息队列监控系统详解

【免费下载链接】qmq QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。 【免费下载链接】qmq 项目地址: https://gitcode.com/gh_mirrors/qm/qmq

监控系统的重要性

在现代分布式系统中,消息队列作为核心组件承担着异步通信、流量削峰、系统解耦等重要职责。QMQ作为一款高性能分布式消息队列,其稳定性和可靠性直接影响整个系统的运行质量。因此,建立完善的监控体系对于QMQ的运维至关重要。

QMQ监控体系概述

QMQ在设计之初就充分考虑了监控需求,在系统各个关键节点都进行了埋点。其监控系统具有以下特点:

  1. 插件式架构:支持灵活接入各种监控系统
  2. 全面覆盖:从客户端到服务端,从普通消息到延迟消息都有监控
  3. 多维指标:提供QPS、耗时、堆积量等多种监控维度

Prometheus监控接入

服务端配置

QMQ默认支持Prometheus监控,服务端(包括metaserver、broker、delay broker)需要添加以下依赖:

  1. qmq-metrics-prometheus
  2. prometheus-client
  3. prometheus-common
  4. prometheus-httpserver
  5. prometheus-graphite

配置说明:

  • 默认监控端口为3333,可通过修改qmq.prometheus.properties调整
  • 支持Graphite协议输出,配置方式如下:
    monitor.type=graphite
    graphite.host=<host>
    graphite.port=<port>
    

客户端配置

客户端只需引入qmq-metrics-prometheus依赖即可。如果已经使用Prometheus,可通过配置关闭QMQ自带的HTTP Server:

monitor.action=none

自定义监控插件开发

QMQ采用SPI机制支持第三方监控系统接入,开发流程如下:

  1. 创建Maven工程,引入qmq依赖(注意设置为optional)
  2. 实现核心接口:
    • QmqCounter:计数监控实现
    • QmqMeter:QPS/TPS监控实现
    • QmqTimer:耗时监控实现
    • QmqMetricRegistry:SPI入口类
  3. 创建SPI配置文件META-INF/services/qunar.tc.qmq.metrics.QmqMetricRegistry

关键监控指标详解

Broker核心指标

指标名称说明标签
receivedMessagesEx接收消息QPSsubject
produceTime消息发送耗时subject
pulledMessagesEx拉取消息QPSsubject, group
messageSequenceLag消息堆积数量subject, group

延迟消息指标

指标名称说明标签
delayTime实际投递与期望投递时间差subject, group
scheduleDispatch投递的消息量-

MetaServer指标

指标名称说明标签
brokerRegisterCountbroker注册次数groupName, requestType
clientRegisterCount客户端注册次数clientTypeCode, subject

监控最佳实践

  1. 告警设置:建议对messageSequenceLag(消息堆积)设置告警阈值
  2. 性能分析:通过produceTime和putMessageTime分析消息处理瓶颈
  3. 容量规划:基于receivedMessagesEx和pulledMessagesEx进行容量评估
  4. 主从监控:关注slaveMessageLogLag确保主从同步健康

总结

QMQ提供了完善的监控体系,既支持开箱即用的Prometheus集成,也提供了灵活的扩展机制。通过合理配置和利用这些监控指标,运维人员可以全面掌握消息队列的运行状态,及时发现并解决潜在问题,保障系统稳定运行。

【免费下载链接】qmq QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。 【免费下载链接】qmq 项目地址: https://gitcode.com/gh_mirrors/qm/qmq

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值