可监控MQ Manager特定队列MQGET调用的开源工具有哪些?
可满足需求的开源工具/实现方案
完全不用自行开发拦截钩子插件,下面几个开源方案都能精准统计指定MQ Manager下目标队列的MQGET操作总次数,所有方案均基于IBM官方开放的标准接口取数,不会影响MQ运行稳定性:
- IBM官方开源Prometheus MQ Exporter
这是IBM官方维护的开源监控组件,不需要修改业务代码、也不需要往MQ服务端注入额外拦截插件,直接通过MQ的PCF(可编程命令格式)接口拉取运行时指标。你需要的MQGET累计次数对应指标为ibmmq_queue_get_total,只要在配置文件里列好需要统计的队列名,就会自动过滤无关队列,累计对应队列的所有MQGET调用总量。如果需要按时间区间统计次数,搭配Prometheus做时序存储后,用increase(ibmmq_queue_get_total[你要统计的时间窗口])语句就能直接算出指定周期内的GET操作数。 - collectd 社区开源MQ采集插件
如果不想部署整套Prometheus栈,这个轻量插件可以直接对接MQ的监控通道,本地统计指定队列的PUT/GET操作计数,资源占用极低,统计结果可以直接输出到本地日志,也可以对接你现有的Zabbix、Nagios等监控系统。 - 开源命令行工具mqmon
这是维护多年的老牌MQ开源监控工具,配置逻辑非常简单,只要指定队列管理器名和目标队列列表,就能定期拉取队列的GET/PUT累计计数,支持输出结构化文本、CSV格式的统计结果,适合只需要做简单计数统计、不需要复杂可视化的场景。
避坑提示:不要用第三方API Hook类的插件拦截MQGET调用做统计,这类插件没有经过官方兼容性验证,很容易引发MQ通道阻塞、消息丢失的问题。上面提到的所有方案都走MQ官方开放的标准监控接口,兼容MQ v8及以上所有LTS版本,你之前查到的旧参考内容里很多方案是针对v7及更早的停服版本设计的,不适配当前主流的新版本MQ。
内容的提问来源于stack exchange,提问作者Neeti
相关产品推荐
相关产品推荐

